
Compartir:
Karl es un defensor de los desarrolladores para Vonage, centrado en el mantenimiento de nuestros SDK de servidor Ruby y la mejora de la experiencia de los desarrolladores para nuestra comunidad. Le encanta aprender, hacer cosas, compartir conocimientos y, en general, todo lo relacionado con la tecnología web.
RCS Business Messaging ya está en el Messages API de Vonage
Tiempo de lectura: 8 minutos
Ten en cuenta: Esta publicación anuncia el lanzamiento Beta de RCS Business Messaging en Messages API de Vonage. RCS Messaging está ahora disponible en general (GA) en la API de Messages de Vonage. Obtén más información en nuestro anuncio de lanzamiento.
El Mensajes API de Vonage ahora es compatible con la mensajería RCS Business (en Beta). Si aún no estás familiarizado con Messages API, es una API REST para mensajería omnicanal. Ofrece una interfaz estandarizada y fácil de usar para enviar y recibir mensajes a través de SMS, MMS, WhatsApp, Facebook Messenger, Viber, ¡y ahora RCS!
Si nunca has oído hablar de RCS, te preguntarás: "¿Qué es exactamente la mensajería RCS?" ¡Vamos a descubrirlo!
¿Qué es la mensajería RCS?
RCS, o Rich Communication Services, es un protocolo de comunicación para enviar mensajes a, y entre, dispositivos conectados a una red de telefonía móvil. Además de texto, los mensajes RCS pueden incluir fotos, vídeos, archivos, etc.
Quizá pienses que se parece mucho a la mensajería MMS. Bueno, algo así, pero hay algunas diferencias importantes:
Los mensajes MMS pueden enviarse a través de la red celular, mientras que los mensajes RCS requieren una conexión a Internet (ya sea a través de una conexión de datos celular o Wi-Fi).
Los mensajes RCS también permiten archivos de mayor tamaño para imágenes, Video y archivos que los MMS.
Los mensajes RCS permiten más interactividad que los MMS, con tipos de mensaje avanzados para mostrar contenido multimedia y mostrar botones de respuestas sugeridas para realizar acciones específicas, como marcar un número o abrir una ubicación en una aplicación de mapas.
En muchos sentidos, la mensajería RCS es más parecida en funcionalidad a la mensajería OTT (Over-The-Top) con la que puedes estar familiarizado a través de aplicaciones como WhatsApp, Facebook Messenger, Viber y otras. La ventaja de RCS sobre estos otros canales es que la mensajería RCS se admite de forma nativa en la aplicación de mensajería integrada de un teléfono en lugar de que los usuarios tengan que instalar una aplicación de terceros en sus dispositivos.
Sin embargo, esta ventaja tiene una importante desventaja: la compatibilidad de los dispositivos.
Soporte de dispositivos
Actualmente, la mensajería RCS sólo es compatible con dispositivos Android. En un reciente comunicado de prensaApple afirma que RCS será compatible con la próxima versión de iOS 18:
Al enviar mensajes a contactos que no tienen un dispositivo Apple, la aplicación Mensajes ahora admite RCS para medios más ricos y mensajes de grupo más fiables en comparación con SMS y MMS.
Por el momento se desconocen los detalles exactos de la compatibilidad de Apple con RCS, y no está claro si la compatibilidad incluirá la mensajería empresarial RCS o se limitará a la mensajería de igual a igual.
Tipos de mensajes
Profundicemos un poco más en la implementación de Vonage de RCS en Messages API y veamos los distintos tipos de mensajes que se pueden enviar y recibir.
El canal RCS de Messages API de Vonage aprovecha los servidores RBM (RCS Business Messaging) de Google y admite los diferentes tipos de mensajes disponibles a través de Google RBM. El canal admite tanto mensajería saliente (mensajes enviados desde la empresa al cliente) como mensajería entrante (mensajes enviados desde el cliente a la empresa, en respuesta a un mensaje saliente). Dentro de estas dos categorías, existen muchos tipos diferentes de mensajes. Los enumeraremos brevemente aquí antes de pasar a ver algunos ejemplos concretos de algunos tipos.
Para los mensajes salientes, algunos de los tipos de mensajes de Google RBM se abstraen a tipos específicos con los que puede que ya estés familiarizado de otros canales de Messages API, como por ejemplo text, image, videoy file. También existe un tipo de mensaje custom que admite los mensajes RBM más complejos, como las respuestas sugeridas, las acciones sugeridas, las tarjetas enriquecidas y los carruseles.
Los mensajes entrantes se reciben a través de un webhook configurado en tu panel de desarrollador de Vonage. Para RCS, existen múltiples tipos de mensajes entrantes. El tipo recibido por el webhook depende del contenido del mensaje enviado por el cliente o de cómo el cliente interactúa con un mensaje enviado por la empresa. El cliente enviando texto, algún tipo de medio, o una localización resultará en mensajes entrantes de tipo text, image, video, audio, vcard, fileo location. La interacción del cliente con un mensaje de respuesta sugerida o de acción sugerida dará lugar a mensajes entrantes de tipo reply o button.
Por último, al igual que con todos los canales de Messages API, los mensajes RCS salientes reciben actualizaciones del estado del mensaje a través de un webhook (nuevamente configurado en el panel para desarrolladores de Vonage). Para los mensajes RCS, estas actualizaciones de estado incluyen un read para cuando el destinatario del mensaje lo haya leído.
Puede que sea más fácil visualizar algunos de estos tipos de mensajes viendo algunos ejemplos de código, ¡así que vamos a hacerlo ahora!
Ejemplos de códigos
Mensajes salientes
Veamos primero algunos mensajes salientes, empezando por un mensaje básico text básico.
Al igual que con todos los canales de Messages API, para enviar un mensaje RCS es necesario realizar una solicitud POST solicitud al punto final de Messages API de Vonage con la carga útil JSON adecuada. Algunas de las propiedades del objeto JSON, como channel, message_type, toy from son comunes a todos los canales y tipos de mensajes, y algunas son específicas del canal y/o tipo de mensaje. Para un mensaje de texto RCS saliente, el JSON se estructuraría de la siguiente manera:
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello world!"
}Esto se mostraría de la siguiente manera en la aplicación de mensajería de los destinatarios:
Screenshot of an RCS text message
El JSON para image, videoy file es similar, excepto en que deben incluir un objeto con una propiedad url cuyo valor es una URL de acceso público para el archivo que desea enviar. Por ejemplo, el JSON para enviar una foto de un gato podría tener este aspecto:
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "image",
"image": {
"url": "https://example.com/cat.jpg"
}
}y se mostrará el siguiente mensaje en la aplicación de mensajería del destinatario:
Screenshot of an RCS image message
Todos los demás mensajes RCS salientes son compatibles con el tipo de mensaje custom tipo de mensaje. Estos mensajes incluyen un objeto custom que contiene las propiedades relevantes para el mensaje específico. Hay demasiados subtipos y permutaciones para cubrir en este artículo, pero un ejemplo podría ser un mensaje con dos botones de respuesta sugeridos:
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "custom",
"custom": {
"contentMessage": {
"text": "What do you think of Vonage APIs?",
"suggestions": [
{
"reply": {
"text": "They're great!",
"postbackData": "suggestion_1"
}
},
{
"reply": {
"text": "They're awesome!",
"postbackData": "suggestion_2"
}
}
]
}
}
}que mostraría lo siguiente:

Otro ejemplo podría ser un mensaje de acción sugerida para abrir una URL:
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "custom",
"custom": {
"contentMessage": {
"text": "Check out our latest offers!",
"suggestions": [
{
"action": {
"text": "Open product page",
"postbackData": "postback_data_1234",
"openUrlAction": {
"url": "http://example.com/"
}
}
}
]
}
}
}lo que resultaría en lo siguiente:
Screenshot of an RCS suggested action message
Aunque la estructura de estos dos tipos de mensaje es diferente, es posible que se haya dado cuenta de que tanto el botón reply y action contienen una propiedad postbackData propiedad. El valor de esta propiedad es relevante en el contexto del mensaje entrante que se activa cuando el destinatario interactúa con el mensaje de respuesta sugerida o de acción sugerida. A continuación veremos los mensajes entrantes.
Mensajes entrantes
Como se mencionó anteriormente, los mensajes entrantes se reciben a través de un webhook. Hay varios tipos de mensajes de entrada, y no vamos a cubrir todos ellos aquí, pero podemos caminar a través de algunos ejemplos.
Al igual que ocurre con los mensajes salientes, algunos campos de la carga útil JSON son comunes a todos los canales y tipos de mensaje. Los campos to, from, channely message_type ya los habrás visto en los ejemplos de mensajes salientes anteriores. Además de éstos, los mensajes entrantes contienen algunos otros campos estándar; message_uuid que es un identificador único para el mensaje, y timestamp que indica la fecha y hora de entrega del mensaje entrante. Más allá de estas propiedades estándar, lo que contenga la carga útil del webhook dependerá del tipo de mensaje.
Tipos como text, image, video, audio, vcard, filey location contendrán datos basados en el mensaje enviado desde el dispositivo del cliente. Para los tipos que implican el envío de algún tipo de archivo multimedia, la carga útil incluirá un enlace al archivo en los servidores multimedia de Vonage. Por ejemplo, la carga útil del webhook para un mensaje de imagen podría ser algo similar a esto:
{
"to": "Vonage",
"from": "447900000000",
"channel": "rcs",
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"timestamp": "2024-02-08T10:12:44Z",
"context_status": "none",
"message_type": "image",
"image": {
"name": "image.jpg",
"url": "https://api-eu.nexmo.com/v3/media/6882bbe2-fe14-4e2f-910f-652bbbb058d4"
}
}La entrada reply y de entrada button se envían como resultado de la interacción de los clientes con los mensajes de respuesta sugerida y acción sugerida respectivamente. Anteriormente en este artículo mencionamos la propiedad postbackData en esos tipos de mensajes salientes, y aquí es donde entra en juego el valor establecido para esa propiedad.
Si nos fijamos en el ejemplo de la respuesta sugerida, si el cliente seleccionó el botón que decía They're awesome! el mensaje reply sería algo parecido a esto, con el valor de postbackData contenido en la propiedad id del objeto reply objeto:
{
"to": "Vonage",
"from": "447900000000",
"channel": "rcs",
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"timestamp": "2024-02-08T10:12:44Z",
"context_status": "none",
"message_type": "reply",
"reply": {
"id": "suggestion_2",
"title": "They're awesome!"
}
}Un mensaje entrante button contiene de forma similar el valor de postbackDatapero esta vez se establece como la propiedad payload del objeto button objeto. A button desencadenado por un cliente que abre la URL de nuestro mensaje de acción sugerido anteriormente tendría este aspecto:
{
"to": "Vonage",
"from": "447900000000",
"channel": "rcs",
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"timestamp": "2024-02-08T10:12:44Z",
"context_status": "none",
"message_type": "button",
"button": {
"payload": "postback_data_1234",
"text": "Open product page"
}
}En ambos casos, el valor de este postbackData puede utilizarse para identificar la acción realizada por el cliente. A partir de ahí, puede crearse una lógica para activar otros mensajes salientes como parte de un flujo de mensajes global.
Recapitulación
En este artículo hemos visto ejemplos de envío y recepción de mensajes individuales de distintos tipos. Sin embargo, la potencia potencial de RCS, en comparación con canales como SMS y MMS, reside en la combinación de esos diferentes tipos de mensajes para construir flujos de mensajería interactivos y ricos que pueden utilizarse para muchos casos de uso transaccional o de marketing diferentes.
RCS ofrece la posibilidad de disfrutar de experiencias de mensajería atractivas, similares a las que ofrecen aplicaciones de mensajería como WhatsApp, Facebook Messenger y Viber. La compatibilidad nativa con RCS en los dispositivos de los clientes significa que no necesitan descargar una aplicación específica para recibir esos mensajes, lo que amplía enormemente el alcance potencial de la mensajería RCS en comparación con los canales específicos de las aplicaciones de mensajería. El obstáculo para este alcance siempre ha sido la falta de soporte de dispositivos por parte de Apple, pero con el soporte de RCS previsto para iOS 18 ahora es un buen momento para empezar con RCS y empezar a incorporarlo a tu sistema de mensajería.
Si está entusiasmado con RCS y desea obtener más información, puede consultar directamente nuestra documentación para desarrolladores. Mientras estás allí puedes echar un vistazo a todos los otros canales que ofrece la Messages API o explorar nuestras muchas otras APIs de comunicaciones.
También nos encantaría que te unieras a nosotros en el Slack para desarrolladores de Vonage o envíanos un mensaje en Xy nos pondremos en contacto contigo.
Compartir:
Karl es un defensor de los desarrolladores para Vonage, centrado en el mantenimiento de nuestros SDK de servidor Ruby y la mejora de la experiencia de los desarrolladores para nuestra comunidad. Le encanta aprender, hacer cosas, compartir conocimientos y, en general, todo lo relacionado con la tecnología web.