¿Qué es RCS en Notifique?
Es el canal para mensajes móviles enriquecidos (Rich Communication Services). El destino sigue siendo un número internacional (E.164, sin+), como en SMS, pero el contenido puede ir más allá del texto plano.
Puede:
- Enviar texto (BASIC), tarjeta con imagen y botones (CARD), carrusel (CAROUSEL) o archivo por URL (FILE)
- Disparar a 1 a 500 números por llamada (un mensaje por número)
- Usar agentes de marca vía instancias RCS — logo, nombre y remitente de su marca
- Programar envíos para fecha y hora futuras
- Consultar el estado de cada envío por id
- Recibir respuestas (MO) y vincularlas al envío original
- Cancelar mientras esté en cola o programado
- Rastrear clics en enlace corto o botón vía webhook
Remitente: compartido o instancia
En el envío, use
from para un agente específico (id o nombre de la instancia). Si se omite, la plataforma usa la instancia predeterminada del workspace (si ACTIVE) o el remitente compartido.
Crear y aprovisionar instancias: guía Instancias RCS. Listar agentes:
GET /v1/rcs/instances.¿Cuándo usarlo?
Funciona muy bien para campañas con imagen y botones, avisos promocionales y más conversión que SMS puro, para quienes reciben RCS. Para OTP que debe llegar a cualquier móvil, prefiera SMS. No todo dispositivo entrega RCS; tenga plan B (SMS, WhatsApp o email) cuando la entrega deba estar garantizada.Tipos de mensaje
- BASIC — solo texto (
payload.message) - CARD — imagen, título, descripción y botones (
cardImage,cardTitle,cardMessage,buttons) - CAROUSEL — varias tarjetas en un mensaje (
payload.cards[]) - FILE — archivo por URL pública + nombre (
file,fileName,message)
En CARD y CAROUSEL, el campo
payload.message no se muestra al destinatario. Use cardMessage en cada tarjeta para el texto descriptivo.Cómo funciona en la práctica
- Cree una API Key con
rcs:send(yrcs:read/rcs:cancelsi va a consultar o cancelar) - (Opcional) Aprovisione un agente RCS y espere estado ACTIVE
- Envíe con
POST /v1/rcs/messages,toen array,type,payloadyfromsi aplica - La plataforma encola, envía y actualiza el estado; su backend recibe avisos si configuró webhooks
Cada API Key pertenece a un workspace. En v1 no envíe
x-workspace-id.Ciclo del mensaje
Tras el envío, el RCS pasa por estados comoQUEUED, SCHEDULED, PROCESSING, SENT, DELIVERED, READ, CLICKED, RESPONDED, FAILED o CANCELLED. La cancelación por API funciona mientras el estado sea QUEUED o SCHEDULED.
POST /v1/rcs/messages responde 202 con messageIds y estado — no repite el payload. Para saber lo enviado, use GET /v1/rcs/messages/:id o GET /v1/rcs/messages (cada ítem trae payload, messageType y refer).CLICKED, webhook rcs.clicked.
Respuestas recibidas (inbound)
Consulte mensajes MO conGET /v1/rcs/inbound. Cuando el cliente responde a un envío suyo, el inbound puede traer relatedRcsLogId y, en el detalle, el objeto relatedRcsLog con el mismo nivel de información que GET /v1/rcs/messages/:id (estado, payload, messageType y timestamps).
Qué puede hacer
- Enviar a 1 a 500 números por llamada (140 créditos BASIC; 200 CARD/CAROUSEL/FILE)
- Programar con
schedule.sendAt - Consultar un envío por el id retornado
- Listar historial con filtros de estado, destino y fecha
- Cancelar en cola o programado
- Idempotencia con header
Idempotency-Key - Webhook por envío en
options.webhook(solo ese lote)
Localización y variables
localizationei18ntraducen el contenido de tarjeta/texto RCS por idioma del contacto.- La respuesta 202 puede incluir
data.localization.
Después del primer envío
- Siga entrega, clic y fallo por webhooks (
rcs.sent,rcs.delivered,rcs.clicked,rcs.failed) - Trate
FAILEDcon fallback a SMS u otro canal cuando la red no entregue RCS - Pruebe en Sandbox con
sk_test_...antes de producción
Próximos pasos
- Quick Start: primer envío BASIC
- Instancias RCS: crear agente de marca
- Ámbitos de la API Key: permisos
- Eventos de webhooks: qué llega a su URL
- Empiece aquí: integración general de la plataforma

