Configure sus requisitos previos
Hay algunos requisitos previos que debes cumplir antes de poder seguir este tutorial. Si ya has completado alguno de ellos, no dudes en saltarte ese paso.
Puedes crear una Account de Vonage a través de la página Cuadro de mandos.
Dentro del panel puedes crear Applications y comprar números de Vonage. También puedes realizar estas tareas usando la función CLI de Vonage.
Si deseas realizar tareas como crear aplicaciones, comprar números de Vonage, etc., deberás instalar la CLI de Vonage. Como la CLI de Vonage requiere node.js necesitará instale node.js primero.
Para asegurarse node.js está instalado, ejecute el siguiente comando en el terminal:
Siga los pasos descritos en el Primeros pasos con la CLI de Vonage para instalar y configurar la línea de comandos.
Si planeas usar JavaScript para desarrollar tu aplicación, necesitarás instalar (o actualizar) el SDK de Vonage Node Server.
Instalación
El SDK del Servidor de Nodos puede instalarse utilizando:
Si ya tiene instalado el SDK de servidor, el comando anterior actualizará su SDK de servidor a la última versión.
Utilización
Si decide utilizar el SDK de servidor, necesitará la siguiente información:
| Clave | Descripción |
|---|---|
VONAGE_API_KEY | La clave API de Vonage que puedes obtener de tu Cuadro de mandos. |
VONAGE_API_SECRET | El secreto de la API de Vonage que puedes obtener de tu Cuadro de mandos. |
VONAGE_APPLICATION_ID | El ID de aplicación de Vonage para tu aplicación de Vonage que puedes obtener de tu Cuadro de mandos. |
VONAGE_APPLICATION_PRIVATE_KEY_PATH | La ruta de acceso al private.key que se generó cuando creaste tu aplicación de Vonage. |
Estas variables pueden sustituirse por valores reales en el código de ejemplo del SDK del servidor.
Cree su aplicación
Existen dos métodos alternativos para crear una aplicación de Mensajes y Despacho:
- Uso de la CLI de Vonage
- Uso del panel de control
Cada uno de estos métodos se describe en las secciones siguientes.
Cómo crear una aplicación de mensajes y despacho con la CLI de Vonage
Para crear tu aplicación usando la CLI de Vonage, ingresa el siguiente comando en el shell:
Esto crea una aplicación de Vonage con mensajes capacidadcon las URL de los webhooks configuradas según lo especificado, y generar un archivo de clave privada my_messages_app.key y crea/actualiza vonage_app.json.
Cómo crear una aplicación de Mensajes y Despacho utilizando el Cuadro de Mando
Puede crear aplicaciones de Mensajes y Despacho en la sección Cuadro de mandos.
Para crear su aplicación utilizando el Panel de control:
En Applications en el Panel de control, haga clic en el botón Crear una nueva aplicación botón.
En NombreIntroduzca el nombre de la aplicación. Elija un nombre para facilitar futuras referencias.
Pulse el botón Generar clave pública y privada. Esto creará un par de claves pública/privada y su navegador descargará la clave privada.
En Capacidades seleccione el Mensajes botón.
En el URL de entrada introduzca la URL de su webhook de mensajes entrantes, por ejemplo,
https://example.com/webhooks/inbound-message.En el URL de estado introduzca la URL de su webhook de estado de mensajes, por ejemplo,
https://example.com/webhooks/message-status.Haga clic en el botón Generar nueva aplicación botón . Ahora pasarás al siguiente paso del procedimiento para crear una aplicación, donde podrás vincular un número de Vonage a la aplicación y vincular cuentas externas, como Facebook, a esta aplicación.
Si hay una cuenta externa a la que desea vincular esta aplicación, haga clic en el botón Cuentas externas vinculadas y, a continuación, haga clic en el botón Enlace de la Account que desea vincular.
Ya ha creado su aplicación.
NOTA: Antes de probar su aplicación, asegúrese de que sus webhooks están configurados y de que su servidor webhook está en funcionamiento.
Hay al menos dos webhooks que debes configurar:
- Webhook de estado de mensajes
- Webhook de mensajes entrantes
Cuando se generan actualizaciones del estado de los mensajes, como delivered, rejected o acceptedse recibirán devoluciones de llamada en el Estado del mensaje URL del webhook.
Cuando se recibe un mensaje entrante, se invoca una devolución de llamada con la carga útil del mensaje en la carpeta Mensaje entrante URL del webhook.
IMPORTANTE: Ambas URL de webhook deben estar configuradas. Como mínimo, los controladores de webhook deben devolver respuestas 200 para las devoluciones de llamada de mensaje entrante y de estado de mensaje.
Para configurar las URL de los webhooks
En el Cuadro de mandosIr a Mensajes y envío.
TIP: Si las URL de Webhook para mensajes en tu Account de Vonage ya están en uso de producción y deseas una segunda para usar Messages API, envía un correo electrónico a soporte y solicitar una clave de sub API.
Introduzca las URL de sus Webhooks en los campos etiquetados como URL de estado y URL de entrada.
Los valores que introduzcas para las URL de los webhooks dependerán, por ejemplo, de dónde se encuentre tu servidor de webhooks:
| Gancho web | URL |
|---|---|
| URL de estado | https://www.example.com/webhooks/message-status |
| URL de entrada | https://www.example.com/webhooks/inbound-message |
NOTA: El método por defecto de POST para las dos URL de los webhooks.
Webhooks de SMS entrantes
NOTA: Recomendamos utilizar Autenticación basada en JWT ya que esto le permite configurar las URL de los webhooks de recepción y entrega en el a nivel de aplicación. De lo contrario, todas las devoluciones de llamada de sus diferentes aplicaciones se enviarán a su URL de webhook a nivel de Account.
Cola de webhooks
Ten en cuenta que los webhooks que provienen de Vonage, como los de tu URL de webhook de estado de mensajes y URL de mensajes entrantes, son puestos en cola por Vonage según el mensaje.
Asegúrese de que todas las aplicaciones reconocen los webhooks con una respuesta 200.
Webhooks firmados
Para validar el origen de sus webhooks, puede validar la firma de los webhooks, consulte las instrucciones aquí
En este fragmento de código aprenderá a gestionar un mensaje entrante.
NOTA: Recomendamos utilizar Autenticación basada en JWT ya que esto le permite configurar las URL de los webhooks de recepción y entrega en el a nivel de aplicación. De lo contrario, todas las devoluciones de llamada de sus diferentes aplicaciones se enviarán a su URL de webhook a nivel de Account.
Ejemplo
Asegúrese de que su mensaje entrante el webhook está activado en el Panel de control. Como mínimo, su controlador debe devolver un código de estado 200 para evitar colas innecesarias de devolución de llamada. Asegúrese de que su servidor webhook está funcionando antes de probar su aplicación de Mensajes.
Requisitos previos
npm install express body-parserEscriba el código
Añada lo siguiente a inbound-message.js:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/webhooks/inbound-message', (req, res) => {
console.log(req.body);
res.status(200).end();
});
app.listen(3000);
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install fastapi[standard]Escriba el código
Añada lo siguiente a webhook-server.py:
from pprint import pprint
from fastapi import FastAPI, Request, status
app = FastAPI()
@app.post('/webhooks/message-status', status_code=status.HTTP_200_OK)
async def message_status(request: Request):
data = await request.json()
pprint(data)
@app.post('/webhooks/inbound-message')
async def inbound_message(request: Request):
data = await request.json()
pprint(data)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Si quieres probar tu aplicación localmente puedes utilizar Ngrok.
Consulte nuestra información sobre Utilizar Ngrok para el desarrollo local
Si utiliza Ngrok de esta forma, deberá utilizar las URL de Ngrok para las URL de sus webhooks:
https://abcdef1.ngrok.io/webhooks/inbound-messagehttps://abcdef1.ngrok.io/webhooks/message-status
Enviar un mensaje de Viber
La Messages API ofrece la posibilidad de enviar mensajes a varios canales, incluidos Facebook Messenger, SMS, WhatsApp y Viber. Este tutorial describe el uso de la Messages API para enviar un mensaje de Viber.