Skip to main content

O fluxo principal (visão geral)

  1. Garantir API Key com rcs:send (e, para acompanhar, rcs:read; para cancelar, rcs:cancel).
  2. POST /v1/rcs/messages com lista to (números E.164), messageType e payload coerentes com o tipo.
  3. Guardar o id devolvido, GET /v1/rcs/messages/:id para ver status, ou POST .../cancel se ainda for QUEUED ou SCHEDULED.
Cada mensagem RCS consome 60 créditos (plano) ou saldo em Pague pelo uso. Nem todo aparelho/rede entrega RCS — tenha plano B (SMS/WhatsApp) se precisar de garantia absoluta.

Pré-requisitos

  • API Key com escopos: rcs:send (obrigatório para enviar), rcs:read (consultar), rcs:cancel (cancelar na fila/agendado).
  • Envie a chave em toda requisição:
    • Header: Authorization: Bearer sk_live_xxxxx
    • ou Header: x-api-key: sk_live_xxxxx

1. Enviar RCS (tipo BASIC — só texto)

O tipo BASIC é o mais simples: texto no payload.message. Request
POST /v1/rcs/messages
Content-Type: application/json
Authorization: Bearer sk_live_xxxxx
{
  "to": ["5511999999999"],
  "messageType": "BASIC",
  "payload": {
    "message": "Olá! Este é um RCS de teste com texto simples."
  }
}
Response (202)
{
  "success": true,
  "data": {
    "status": "QUEUED",
    "count": 1,
    "rcsIds": ["clxx123..."]
  }
}
Guarde o primeiro item de rcsIds — é o id para consultar ou cancelar. Opcional — idempotência: header Idempotency-Key: uuid-único (ou x-idempotency-key) evita duplicar envio se sua aplicação repetir o POST. Opcional — agendamento: inclua no body:
"schedule": { "sendAt": "2026-12-31T14:00:00.000Z" }
(A disponibilidade de agendamento depende do plano.)

2. Consultar status

Request
GET /v1/rcs/messages/clxx123...
Authorization: Bearer sk_live_xxxxx
Use o id retornado no envio. A resposta traz status (QUEUED, SCHEDULED, SENT, DELIVERED, FAILED, etc.) e metadados úteis para suporte.

3. Cancelar (só QUEUED ou SCHEDULED)

Se a mensagem ainda não foi enviada ao provedor final, você pode cancelar: Request
POST /v1/rcs/messages/clxx123.../cancel
Authorization: Bearer sk_live_xxxxx
Response (200) — exemplo:
{
  "success": true,
  "data": {
    "rcsId": "clxx123...",
    "status": "CANCELLED"
  }
}
Se o status já for SENT ou DELIVERED, a API responde 400 — não há como “puxar de volta” o RCS.

Próximos passos

  • Introdução — tipos CARD, CAROUSEL, FILE e limitações do ecossistema
  • OpenAPI (RCS) — referência completa de payloads por messageType