Detalles técnicos de la API de Messages
Messages API permite enviar y, en algunos casos, recibir mensajes a través de SMS, MMS, RCS, Facebook Messenger, Viber y WhatsApp. Es posible que en el futuro se admitan más canales.
Nota: Los principales operadores de EE.UU. han anunciado sus requisitos para un nuevo estándar de mensajería de aplicación a persona (A2P) en EE.UU., que se aplica a toda la mensajería a través de números de teléfono geográficos de 10 dígitos, también conocidos como 10 DLC. Si usted envía o tiene previsto enviar tráfico SMS/MMS desde un código de país de +1 código largo de 10 dígitos a redes de EE.UU., deberá registrar una marca y una campaña para obtener la aprobación para enviar mensajes. Consulte el 10 Documentación DLC para más detalles.
El siguiente diagrama ilustra cómo Messages API de Vonage te permite enviar mensajes para el caso de uso que elijas a través de múltiples canales desde un único punto final; por ejemplo, podrías enviar mensajes de notificación a través de WhatsApp y SMS:
Funciones compatibles
| Canal | Texto saliente | Imagen de salida | Audio saliente | Vídeo de salida | Fichero de salida | Plantilla de salida |
|---|---|---|---|---|---|---|
| SMS | n/a | n/a | n/a | n/a | n/a | |
| MMS | n/a | |||||
| RCS | n/a | n/a | ||||
| Facebook Messenger | ||||||
| Mensajes de empresa de Viber | n/a |
| Canal | Texto entrante | Imagen de entrada | Audio entrante | Vídeo entrante | Archivo de entrada | Ubicación de entrada |
|---|---|---|---|---|---|---|
| SMS | n/a | n/a | n/a | n/a | n/a | |
| MMS | n/a | |||||
| RCS | ||||||
| Facebook Messenger | ||||||
| Mensajes de empresa de Viber | n/a | n/a |
También se presta un apoyo limitado a objetos personalizados:
| Canal | Botón de salida | Ubicación de salida | Contacto saliente |
|---|---|---|---|
| SMS | n/a | n/a | n/a |
| MMS | n/a | n/a | n/a |
| RCS | n/a | ||
| Facebook Messenger | n/a | n/a | |
| Mensajes de empresa de Viber | n/a | n/a |
Llave:
= Compatible. = Compatible con el canal, pero no con Vonage. - n/a = No soportado por el canal.
Notas:
- Para RCS, el
customestá obsoleto. Los mensajes de botón y ubicación se admiten como Sugerencia Fichas entext,cardycarouselmensajes de tipo
Autenticación
La API de Messages admite o bien Autenticación básica o JWT (JSON Web Token), pero hay algunas diferencias importantes entre los dos a tener en cuenta:
- La autenticación básica utiliza un código Clave y secreto de la APIy autentifica en el Account nivel.
- La autenticación JWT utiliza un Token web JSON generados mediante una clave privada y un identificador de aplicación. Los JWT admiten funciones avanzadas como las ACL y autentican en el aplicación lo que significa que puedes acceder a la configuración de tu aplicación de Vonage, como la aplicación webhooks y Medios de entrada seguros.
Le recomendamos que utilice Autenticación JWT en producción para la mayoría de los casos de uso. La autenticación básica puede ser suficiente cuando se prueba la API, como cuando se utiliza el Sandbox de Mensajes, o para algunos casos de uso básico (por ejemplo, cuando no se requieren webhooks).
Si utiliza nuestro SDK de servidor para interactuar con la Messages API, estos pueden crear automáticamente JWTs para usted.
Límites de tarifa
El límite predeterminado de solicitudes a la API de Messages es de 75 solicitudes por segundo y por clave de API. Este límite puede aumentarse caso por caso. Por favor, hable con su gestor de Account o representante de ventas para aumentar su límite de velocidad.
Nota: este límite se aplica a las solicitudes a la propia API. Los distintos canales y redes pueden tener límites diferentes. Si se supera el límite de solicitudes a la API, se producirá un error de 429 Respuesta HTTP a la solicitud API. Para los límites de canal o de red, las solicitudes pueden ser aceptadas (y recibir una 202 respuesta HTTP) si no superan el límite de la API, pero posteriormente serán rechazados a nivel del proveedor. Este rechazo se comunicará mediante una Webhook de estado de mensajes con un estado de rejected.
API de cuentas externas
En API de cuentas externas se utiliza para gestionar sus cuentas de Viber Business Messages, Facebook Messenger y WhatsApp cuando utiliza esos canales con las API de Messages y Dispatch.
Cómo empezar
En este ejemplo tendrá que sustituir las siguientes variables por valores reales utilizando cualquier método conveniente:
| Clave | Descripción |
|---|---|
VONAGE_API_KEY | Clave API de Vonage que puedes obtener de tu Panel de API de Vonage. |
VONAGE_API_SECRET | Secreto de API de Vonage que puede obtenerse de tu Panel de API de Vonage. |
FROM_NUMBER | Un número de teléfono de tu propiedad o algún texto para identificar al remitente. |
TO_NUMBER | El número del teléfono al que se enviará el mensaje. |
NOTA: No utilice un + o 00 cuando introduzca un número de teléfono, empiece por el prefijo del país, por ejemplo 447700900000.
El siguiente código muestra cómo enviar un mensaje SMS utilizando el Messages API:
Escriba el código
Añada lo siguiente a send-sms-basic-auth.sh:
curl -X POST https://api.nexmo.com/v1/messages \
-u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"to": "'${MESSAGES_TO_NUMBER}'",
"from": "'${SMS_SENDER_ID}'",
"channel": "sms",
"message_type": "text",
"text": "This is an SMS sent using the Vonage Messages API."
}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/server-sdk @vonage/messagesCrea un archivo llamado send-sms-basic-auth.js y añade el siguiente código:
const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/messages');
/**
* By leaving out the applicationId and privateKey parameters, the Vonage
* SDK will use basic authentication to authenticate with the Messages API.
*
* @link https://developer.vonage.com/en/messages/technical-details#authentication
*/
const vonage = new Vonage(
{
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
},
{
...(MESSAGES_API_URL ? {apiHost: MESSAGES_API_URL} : {}),
},
);Escriba el código
Añada lo siguiente a send-sms-basic-auth.js:
vonage.messages.send({
messageType: 'sms',
channel: Channels.SMS,
text: 'This is an SMS text message sent using the Messages API',
to: MESSAGES_TO_NUMBER,
from: SMS_SENDER_ID,
})
.then(({ messageUUID }) => console.log(messageUUID))
.catch((error) => console.error(error));Ejecute su código
Guarde este archivo en su máquina y ejecútelo: