Sandbox de la API de Messages
El Sandbox de Messages API es una forma rápida de probar el envío de mensajes a través de ciertos canales de mensajería usando la API de Messages de Vonage. No necesita que se configure ninguna cuenta externa con proveedores (como WhatsApp Business Account). Esto significa que puedes probar estos canales de la Messages API de inmediato usando tu cuenta de Vonage.
- Viber
- Facebook Messenger
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 espacio aislado y probar el envío de mensajes a un canal concreto, primero debe añadir su número o ID asociado a ese canal a la lista de números/ID permitidos para el canal. Deberá enviar un mensaje a la caja de arena siguiendo las instrucciones de la página Cuadro de mandos 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 es para 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: cuando se utiliza el Sandbox, el envío de mensajes sigue estando sujeto a las mismas restricciones de flujo de trabajo de mensajería que cuando se envía un mensaje a través del endpoint de producción. Por ejemplo, al enviar mensajes de WhatsApp, sigue existiendo un Ventana de comunicación de 24 horasPor lo tanto, cuando incluya por primera vez su número en el Sandbox, tendrá que enviar un mensaje desde el número del Sandbox de WhatsApp a su número incluido en la lista dentro de esa ventana si desea enviar un mensaje sin plantilla (actualmente, las plantillas de WhatsApp no están habilitadas para el Sandbox de mensajes).
Precios de Messages API Sandbox
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 Sandbox de la API de Messages tiene un límite de velocidad de un mensaje por segundo.
Configure su sandbox
Siga los pasos que se indican a continuación para configurar un canal en el Sandbox (tenga en cuenta que cada canal debe configurarse por separado).
- Ir a la Sandbox de la API de Messages en el panel de control.
- Si tiene varias claves de API disponibles en el Clave API seleccione la clave de API que desea asociar al espacio aislado que está configurando.
- Haga clic en el botón Añadir al cajón de arena asociado al canal que desea configurar y siga las instrucciones que aparecen en el Panel de control de dicho canal.
Configurar webhooks
Los webhooks de mensajes entrantes y estado de mensajes deben configurarse para el entorno de pruebas independientemente de los webhooks a nivel de cuenta o de los webhooks de aplicaciones de Vonage que ya tengas configurados.
- 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.
- 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 de estado de los mensajes.
- Haga clic en el botón Guardar webhooks botón.

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 su número o ID de destinatario esté en la lista de permitidos, tendrá que utilizar el punto final de Messages API Sandbox para enviar sus mensajes de prueba. La dirección 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 Cuadro de mandos. Es importante tener en cuenta que tendrá que sustituir el valor en el to con tu número o ID de destinatario que está en la lista de permitidos de la cuenta externa específica del 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:
| Clave | Descripció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 |
MESSAGES_SANDBOX_HOST | For sandbox testing the hostname is |
WHATSAPP_SENDER_ID | The WhatsApp number that has been allocated to you by Vonage. For sandbox use this is the number shown as the |
MESSAGES_TO_NUMBER | The number you are sending the to in E.164 format. For example |
NOTA: No utilice un + o 00 cuando introduzca un número de teléfono, empiece por el prefijo del 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."
}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.
npm install @vonage/server-sdk @vonage/messagesCrea 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,
},
);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));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
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)
}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
))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:
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()
);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:
Requisitos previos
Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.
Install-Package VonageEscriba 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);Requisitos previos
Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.
composer require vonage/clientCrea 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
]
);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);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.
pip install vonage python-dotenvCrea 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),
)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)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Si no tiene una solicitud, puede crear uno. Asegúrese también de configure sus webhooks.
gem install vonageCrea 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
)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
)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
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 Sandbox de la API de Messages, aquí tienes algunos pasos que puedes seguir para empezar a construir con la propia API de Messages:
Configure sus canales sociales
El proceso exacto para hacerlo dependerá del propio canal. Puede empezar por el Cuentas externas de Vonage Dashboard, o consulta primero la documentación de introducción específica del canal:
- Primeros pasos con WhatsApp
- Primeros pasos con Facebook Messenger
- Primeros pasos con los mensajes de empresa de Viber
Más información sobre los canales sociales
Lea nuestra documentación específica de cada canal para obtener más información sobre cada canal social y su funcionamiento: