Skip to main content
RCS es el SMS potenciado: cuando el dispositivo y la operadora lo soportan, envía imágenes, botones y carruseles, siempre a un número de teléfono.

¿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
Piense en un folleto digital en el bolsillo: más visual que SMS, pero solo llega donde la red RCS está disponible.

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.
Detalle de campos y ejemplos: referencia de la API en la pestaña RCS (playground con texto, tarjeta, carrusel de 3 tarjetas, archivo y plantilla).

Cómo funciona en la práctica

  1. Cree una API Key con rcs:send (y rcs:read / rcs:cancel si va a consultar o cancelar)
  2. (Opcional) Aprovisione un agente RCS y espere estado ACTIVE
  3. Envíe con POST /v1/rcs/messages, to en array, type, payload y from si aplica
  4. 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 como QUEUED, 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).
Con enlaces cortos activos, el primer clic en un enlace clicar.co del envío puede marcar CLICKED, webhook rcs.clicked.

Respuestas recibidas (inbound)

Consulte mensajes MO con GET /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)
Vea Facturación. Detalle de errores: referencia de la API en la pestaña RCS.

Localización y variables

  • localization e i18n traducen el contenido de tarjeta/texto RCS por idioma del contacto.
  • La respuesta 202 puede incluir data.localization.
Guía completa: Localización e i18n.

Después del primer envío

  • Siga entrega, clic y fallo por webhooks (rcs.sent, rcs.delivered, rcs.clicked, rcs.failed)
  • Trate FAILED con 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