Entorno de pruebas de la Messages API

El entorno de pruebas de la Messages API es una forma rápida de probar el envío de mensajes a través de determinados canales de mensajería utilizando la Messages API de Vonage. No es necesario configurar ningún Account externo con los proveedores (como una cuenta de WhatsApp Business). Esto significa que puedes probar estos canales de la Messages API de inmediato utilizando tu Account de Vonage.

  • WhatsApp
  • Viber
  • Facebook Messenger
  • Instagram

Nota: el canal de Instagram se encuentra actualmente en Acceso anticipado y no está disponible para todos los clientes. Sin embargo, este canal está disponible para que cualquiera pueda probarlo utilizando el Sandbox.

Para utilizar el entorno de pruebas y probar el envío de mensajes a un canal concreto, primero debes añadir tu número o ID asociado a ese canal a la lista de números o ID autorizados para dicho canal. Tendrás que enviar un mensaje al entorno de pruebas siguiendo las instrucciones que figuran en la Panel de control para que su número o ID pueda incluirse en la lista de permitidos.

Tenga en cuenta que:

  • Los números e ID permitidos están asociados con claves de API de Vonage específicas. Si incluyes el mismo número/ID en una lista de permitidos con una clave de API de Vonage diferente (por ejemplo, a través de una cuenta de Vonage Dashboard separada), ese número/ID se eliminará de la lista de permitidos de Sandbox para la clave de API para la que se agregó anteriormente.
  • El entorno de pruebas utiliza un punto final de API diferente al de la API de Messages de producción. Asegúrese de que está utilizando el punto final del Sandbox cuando pruebe la Messages API a través del Sandbox.
  • El Sandbox está destinado a probar la Messages API, por ejemplo durante una exploración inicial de la API. No está pensada para ser utilizada como parte de un entorno de control de calidad o de ensayo para probar la integración antes de ponerla en marcha. Si ya ha decidido integrar la Messages API en su aplicación, le recomendamos que cree su propia cuenta siguiendo las instrucciones del panel de control del canal en cuestión.

Nota: al utilizar el entorno de pruebas, el envío de mensajes sigue estando sujeto a las mismas restricciones del flujo de trabajo de mensajería que se aplicarían al enviar un mensaje a través del punto final de producción. Por ejemplo, al enviar mensajes de WhatsApp, sigue habiendo una Ventana de comunicación de 24 horas, por lo que, al añadir por primera vez tu número a la lista de números autorizados del Sandbox, tendrás que enviar un mensaje desde el número del Sandbox de WhatsApp a tu número incluido en dicha lista dentro de ese plazo si deseas enviar un mensaje que no sea una plantilla (las plantillas de WhatsApp no están habilitadas actualmente para el Sandbox de mensajes).

Precios del entorno de pruebas de la Messages API

El uso del Sandbox de la API de Messages es gratuito. Se aplica un límite de uso razonable mensual de 100 mensajes/mes. Si se supera este límite, las solicitudes de mensajes devolverán un mensaje 429 Error HTTP.

Límite de tarifa

El entorno de pruebas de la Messages API tiene un límite de frecuencia de un mensaje por segundo.

Configura tu entorno de pruebas

Sigue los pasos que se indican a continuación para configurar un canal en el Sandbox (ten en cuenta que cada canal debe configurarse por separado).

  1. Ve a la Entorno de pruebas de la Messages API en el panel de control.
  2. Si dispones de varias claves API en el Clave API En la lista desplegable, selecciona la clave API que deseas asociar al entorno de pruebas que estás configurando.
  3. Haz clic en el Añadir al cajón de arena Haz clic en el enlace asociado al canal que quieras configurar y sigue las instrucciones que aparecen en el panel de control de ese canal.

Configurar webhooks

Los webhooks de «Mensajes entrantes» y «Estado de los mensajes» deben configurarse para el entorno de pruebas por separado de cualquier otro webhook a nivel de Account o de la aplicación de Vonage que ya hayas configurado.

  1. Introduzca los datos de su aplicación Entrada URL del webhook. El webhook de entrada es la URL a la que se reenvían los mensajes entrantes.
  2. Introduzca los datos de su aplicación Estado URL del webhook. El webhook de estado es la URL en la que recibirás las actualizaciones sobre el estado de los mensajes.
  3. Haz clic en el Guardar webhooks botón.
Configure webhooks

Reintentos de Webhook

Los webhooks entrantes y de estado se vuelven a intentar por notificación en el Sandbox de Messages API. Cualquier respuesta no 200 a un webhook hará que Vonage lo vuelva a intentar periódicamente en intervalos de duración creciente: 5, 10, 20, 40, 80, 160, 320, 640 y luego cada 900 segundos durante 24 horas.

Enviar un mensaje de prueba a través del Sandbox de Messages API

Una vez que tu número o el ID del destinatario figure en la lista de permitidos, tendrás que utilizar el punto final «Messages API Sandbox» para enviar tus mensajes de prueba. El from en la solicitud debe ser la identificación o el número asociado con la cuenta externa específica del Vonage Sandbox. Para tus pruebas, el valor de la solicitud from ya está rellenado en los fragmentos de código proporcionados en la sección Panel de control. Es importante tener en cuenta que tendrá que sustituir el valor en el to Introduce en este campo tu número o el ID del destinatario que figure en la lista de contactos autorizados de la cuenta externa específica de Vonage Sandbox.

El siguiente ejemplo muestra el uso del Sandbox para enviar un mensaje de texto de WhatsApp, pero el mismo enfoque general se puede utilizar para otros canales. Tenga en cuenta que se utiliza el punto final del Sandbox en lugar del punto final estándar de Mensajes (cuando se utiliza uno de los SDK de servidor, es necesario anular el punto final predeterminado).

A continuación encontrará la descripción de todas las variables utilizadas en cada fragmento de código:

ClaveDescripción
VONAGE_APPLICATION_ID

The Vonage Application ID.

VONAGE_PRIVATE_KEY

Private key for the Vonage Application.

MESSAGES_SANDBOX_URL

For sandbox testing the base URL is https://messages-sandbox.nexmo.com/v1/messages.

MESSAGES_SANDBOX_HOST

For sandbox testing the hostname is messages-sandbox.nexmo.com.

WHATSAPP_SENDER_ID

The WhatsApp number that has been allocated to you by Vonage. For sandbox use this is the number shown as the from value in the WhatsApp example on the Sandbox page in the Vonage Dashboard.

MESSAGES_TO_NUMBER

The number you are sending the to in E.164 format. For example 447700900000.

NOTA: No utilice un + o 00 Al introducir un número de teléfono, empieza por el código de país; por ejemplo, 447700900000.

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

Escriba el código

Añada lo siguiente a send-text.sh:

curl -X POST $MESSAGES_SANDBOX_URL \
  -H "Authorization: Bearer "$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "to": "'${MESSAGES_TO_NUMBER}'",
    "from": "'${WHATSAPP_SENDER_ID}'",
    "channel": "whatsapp",
    "message_type": "text",
    "text": "This is a WhatsApp text message sent using the Vonage Messages API."
  }'

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

bash send-text.sh

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

npm install @vonage/server-sdk @vonage/messages

Crea un archivo llamado send-text.js y añade el siguiente código:

const vonage = new Vonage(
  {
    applicationId: VONAGE_APPLICATION_ID,
    privateKey: VONAGE_PRIVATE_KEY,
  },
  {
    apiHost: MESSAGES_SANDBOX_URL,
  },
);

Ver fuente completa

Escriba el código

Añada lo siguiente a send-text.js:

vonage.messages.send({
  to: MESSAGES_TO_NUMBER,
  from: WHATSAPP_SENDER_ID,
  channel: Channels.WHATSAPP,
  messageType: 'text',
  text: 'This is a WhatsApp text message sent using the Vonage Messages API.',
})
  .then((resp) => console.log(resp.messageUUID))
  .catch((error) => console.error(error));

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

node send-text.js

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

Añada lo siguiente a build.gradle:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Crea un archivo llamado SendWhatsappText y añade el siguiente código al método main:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo SendWhatsappText:

println(client.messages.send(
    whatsappText {
        to(MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER)
        from(MESSAGES_SANDBOX_WHATSAPP_NUMBER)
        text("Hello from $WHATSAPP_SENDER_ID!")
    },
    sandbox = true
))

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.messages.sandbox.whatsapp por el paquete que contiene SendWhatsappText:

gradle run -Pmain=com.vonage.quickstart.kt.messages.sandbox.whatsapp.SendWhatsappText

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

Añada lo siguiente a build.gradle:

implementation 'com.vonage:server-sdk:9.3.1'

Escriba el código

Añada lo siguiente al método main del archivo SendWhatsappText:

System.out.println(VonageClient.builder()
		.applicationId(VONAGE_APPLICATION_ID)
		.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
		.build()
		.getMessagesClient()
		.useSandboxEndpoint()
		.sendMessage(WhatsappTextRequest.builder()
			.from(MESSAGES_SANDBOX_WHATSAPP_NUMBER)
			.to(MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER)
			.text("Hello from Vonage, "+System.getenv("NAME"))
			.build()
		).getMessageUuid()
);

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.messages.sandbox.whatsapp por el paquete que contiene SendWhatsappText:

gradle run -Pmain=com.vonage.quickstart.messages.sandbox.whatsapp.SendWhatsappText

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

Install-Package Vonage

Escriba el código

Añada lo siguiente a SendWhatsAppText.cs:

// Set "Url.Api" to "https://messages-sandbox.nexmo.com" in appsettings.json
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);

var vonageClient = new VonageClient(credentials);

var request = new WhatsAppTextRequest
{
    To = messagesSandboxAllowListedToNumber,
    From = messagesSandboxWhatsAppNumber,
    Text = "A WhatsApp text message sent using the Vonage Messages API via the Messages Sandbox"
};

var response = await vonageClient.MessagesClient.SendAsync(request);

Ver fuente completa

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

composer require vonage/client

Crea un archivo llamado send-text.php y añade el siguiente código:

$keypair = new \Vonage\Client\Credentials\Keypair(
    file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
    VONAGE_APPLICATION_ID
);

$client = new \Vonage\Client(
    $keypair,
    [
        'base_api_url' => MESSAGES_SANDBOX_URL
    ]   
);

Ver fuente completa

Escriba el código

Añada lo siguiente a send-text.php:

$whatsApp = new \Vonage\Messages\MessageType\WhatsApp\WhatsAppText(
    MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER,
    MESSAGES_SANDBOX_WHATSAPP_NUMBER,
    'This is a WhatsApp text message sent using the Vonage PHP SDK via the Messages Sandbox via the Messages Sandbox'
);

$response = $client->messages()->send($message);

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

php send-text.php

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

pip install vonage python-dotenv

Crea un archivo llamado send-text.py y añade el siguiente código:

client = Vonage(
    auth=Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    ),
    http_client_options=HttpClientOptions(api_host=MESSAGES_SANDBOX_HOST),
)

Ver fuente completa

Escriba el código

Añada lo siguiente a send-text.py:

message = WhatsappText(
    to=MESSAGES_TO_NUMBER,
    from_=WHATSAPP_SENDER_ID,
    text="This is a WhatsApp text message sent using the Vonage Messages API via the Messages Sandbox",
)

response = client.messages.send(message)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

python send-text.py

Requisitos previos

Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.

gem install vonage

Crea un archivo llamado send-text.rb y añade el siguiente código:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY,
  api_host: MESSAGES_SANDBOX_HOST
)

Ver fuente completa

Escriba el código

Añada lo siguiente a send-text.rb:

message = client.messaging.whatsapp(
  type: 'text',
  message: "This is a WhatsApp text message sent using the Vonage Messages API"
)

client.messaging.send(
  from: WHATSAPP_SENDER_ID,
  to: MESSAGES_TO_NUMBER,
  **message
)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

ruby send-text.rb

Pruébalo

Al ejecutar el código, se envía un mensaje de WhatsApp al número de destino.

Próximos pasos

Ahora que ya has probado estos canales con el entorno de pruebas de la Messages API, aquí tienes algunos pasos que puedes seguir para empezar a desarrollar con la propia Messages API:

Configura tus redes sociales

El procedimiento exacto para hacerlo dependerá del propio canal. Puedes empezar por el Cuentas externas página del panel de control de Vonage, o bien consulta primero la documentación de «Primeros pasos» específica de cada canal:

Más información sobre las redes sociales

Lea nuestra documentación específica de cada canal para obtener más información sobre cada canal social y su funcionamiento: