Zaptickdocs
Channellive

RCS

Rich Communication Services over carrier RCS — branded sender, cards, carousels, and suggestion chips on Android. Same SDK as WhatsApp + email, with a fallback path for non-RCS devices.

#What ships today

  • zaptick.rcs.send — text, rich card, carousel, and template messages routed through your approved RCS agent.
  • zaptick.rcs.templates / zaptick.rcs.contacts / zaptick.rcs.campaigns — read + basic write access to the same models your dashboard uses.
  • zaptick.rcs.checkCapability — check whether a phone number supports RCS before spending to send.
  • API-originated sends fire rcs.sent to your webhook endpoints alongside every other channel.

#Before your first send

RCS traffic requires a configured RCS agent in your Zaptick workspace (Jio Business Messaging under the hood). Connect one from the dashboard before calling the API:

  1. Open zaptick.io/rcs/settings and fill in the Jio RCS agent credentials (client id, secret, assistant id).
  2. Verify the sender — we test the OAuth + send handshake for you.
  3. Start sending via the SDK. Unconfigured workspaces return rcs_not_configured on send.
RCS billing is handled by the existing RCS wallet on the dashboard. API-originated sends currently dispatch without a per-call wallet deduction during the SDK preview — full metered billing for programmatic sends is rolling out next.

#Send your first RCS message

TypeScript
import Zaptick from 'zaptick';

const zaptick = new Zaptick({ apiKey: process.env.ZAPTICK_API_KEY! });

// Simple text message
await zaptick.rcs.send({
  phone: '+919876543210',
  message: { type: 'text', text: 'Your order has shipped!' },
});

// Rich card with a suggestion chip
await zaptick.rcs.send({
  phone: '+919876543210',
  message: {
    type: 'card',
    card: {
      title: 'Spring sale',
      description: 'Up to 40% off all items',
      mediaUrl: 'https://cdn.acme.com/sale.jpg',
      suggestions: [
        { action: 'url', text: 'Shop now', url: 'https://acme.com/sale' },
      ],
    },
  },
});

#Resources

#Fallback behaviour

Not every number is RCS-capable. If your workspace has an SMS fallback configured, the send pipeline will transparently fallback to SMS for unsupported devices — and the response surfaces this via fallback: "sms". Use zaptick.rcs.checkCapability to avoid spending on sends that will fallback, or pre-warm your audience with a capability check before each campaign.