Configura los requisitos previos

Hay algunos requisitos previos que debes cumplir antes de poder seguir este tutorial. Si ya has cumplido alguno de ellos, no dudes en saltarte ese paso.

Puedes crear una Account de Vonage a través de la página Panel de control.

Desde el panel de control puedes crear Applications y adquirir Numbers de Vonage. También puedes realizar estas tareas utilizando el CLI de Vonage.

Si quieres realizar tareas como crear Applications, adquirir Numbers de Vonage, etc., tendrás que instalar la CLI de Vonage. Dado que la CLI de Vonage requiere node.js necesitará instale node.js primero.

Para asegurarnos de que node.js está instalado, ejecute el siguiente comando en el terminal:

node -v

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:

npm install @vonage/server-sdk

Si ya tiene instalado el SDK de servidor, el comando anterior actualizará su SDK de servidor a la última versión.

Uso

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 desde tu Panel de control.
VONAGE_API_SECRET El secreto de la API de Vonage que puedes obtener de tu Panel de control.
VONAGE_APPLICATION_ID El ID de aplicación de Vonage para tu aplicación de Vonage que puedes obtener de tu Panel de control.
VONAGE_APPLICATION_PRIVATE_KEY_PATH El camino hacia el 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.

Crea tu solicitud

Existen dos métodos alternativos para crear una aplicación de mensajes y despacho:

  1. Uso de la CLI de Vonage
  2. 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:

vonage apps:create "My Messages App" messages_inbound_url=https://example.com/webhooks/inbound-message messages_status_url=https://example.com/webhooks/message-status

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 envíos utilizando el panel de control

Puedes crear aplicaciones de «Mensajes» y «Distribución» en el Panel de control.

Para crear su aplicación utilizando el Panel de control:

  1. En Applications en el Panel de control, haga clic en el botón Crear una nueva aplicación botón.

  2. En NombreIntroduzca el nombre de la aplicación. Elija un nombre para facilitar futuras referencias.

  3. 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.

  4. En Capacidades seleccione el Mensajes botón.

  5. En el URL de entrada introduzca la URL de su webhook de mensajes entrantes, por ejemplo, https://example.com/webhooks/inbound-message.

  6. En el URL de estado introduzca la URL de su webhook de estado de mensajes, por ejemplo, https://example.com/webhooks/message-status.

  7. Haz clic en el 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.

  8. Si hay un Account externo que quieras vincular a esta aplicación, haz clic en el 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 función de devolución de llamada con la carga útil del mensaje en el Mensaje recibido URL del webhook.

IMPORTANTE: Se deben configurar ambas URL de webhook. Como mínimo, tus controladores de webhook deben devolver respuestas 200 tanto para las llamadas de retorno de «Mensaje entrante» como para las de «Estado del mensaje».

Para configurar las URL de los webhooks

En el Panel de control, ve a Mensajes y envío.

CONSEJO: 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 debe utilizarse en ambas URL de webhook.

Webhooks de SMS entrantes

NOTA: Recomendamos utilizar Autenticación basada en JWT ya que esto te permite configurar las URL de los webhooks de recepción de mensajes entrantes y de acuse de recibo 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 webhooks a nivel de Account.

Cola de webhooks

Ten en cuenta que los webhooks procedentes de Vonage, como los que figuran en la URL del webhook de «Estado del mensaje» y en la URL de «Mensajes entrantes», son puestos en cola por Vonage mensaje a mensaje.

Asegúrate de que todas las aplicaciones respondan a los webhooks con un código de respuesta 200.

Webhooks firmados

Para verificar el origen de tus webhooks, puedes comprobar la firma de los mismos; consulta las instrucciones aquí

En este fragmento de código aprenderás a gestionar un mensaje entrante.

NOTA: Recomendamos utilizar Autenticación basada en JWT ya que esto te permite configurar las URL de los webhooks de recepción de mensajes entrantes y de acuse de recibo 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 webhooks a nivel de Account.

Ejemplo

Asegúrese de que su mensaje entrante El webhook está configurado en el panel de control. Como mínimo, tu controlador debe devolver un código de estado 200 para evitar que se acumulen llamadas de retorno innecesarias. Asegúrate de que tu servidor de webhooks esté en funcionamiento antes de probar tu aplicación de mensajes.

Requisitos previos

npm install express body-parser

Escriba 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);

Ver fuente completa

Ejecute su código

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

node inbound-message.js

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)

Ver fuente completa

Ejecute su código

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

fastapi dev messages/webhook-server.py

Si quieres probar tu aplicación de forma local, puedes utilizar Ngrok.

Consulte nuestra información sobre Utilizar Ngrok para el desarrollo local

Si utilizas Ngrok de esta forma, deberías emplear las URL de Ngrok como URL de tus webhooks:

  • https://abcdef1.ngrok.io/webhooks/inbound-message
  • https://abcdef1.ngrok.io/webhooks/message-status

Enviar un mensaje de Viber

La Messages API permite enviar mensajes a diversos canales, entre ellos Facebook Messenger, SMS, WhatsApp y Viber. En este tutorial se explica cómo utilizar la Messages API para enviar un mensaje por Viber.

Pasos
1
Introducción a este tutorial
2
Prerequisites
3
Enviar un mensaje por Viber
4
¿Y ahora qué?