
Compartir:
Karl es un defensor de los desarrolladores para Vonage, centrado en el mantenimiento de nuestros SDK de servidor Ruby y la mejora de la experiencia de los desarrolladores para nuestra comunidad. Le encanta aprender, hacer cosas, compartir conocimientos y, en general, todo lo relacionado con la tecnología web.
Protege tus archivos multimedia entrantes con Messages API de Vonage
Tiempo de lectura: 3 minutos
API de API de mensajes permite conversaciones bidireccionales a través de diferentes canales de mensajería. Muchos de estos canales admiten el envío y la recepción de archivos multimedia, como imágenes, audio y Video.
Esta mensajería multimedia es extremadamente útil para una gran variedad de situaciones. Por ejemplo, un cliente que necesita enviar a una empresa un vídeo del mal funcionamiento de un producto defectuoso o imágenes de los daños causados en tránsito a una entrega.
Los mensajes entrantes se reciben a través de un Webhook de mensajes entrantes. Para recibir mensajes entrantes, primero debe configurar este webhook. Esto puede hacerse en el Panel de Vonagea través de los siguientes pasos:
Crear una solicitud de Vonage (si aún no lo has hecho)
Dentro de esa aplicación:
Habilitarlo para la Messages API
Establezca la URL de entrada como la URL en la que desea recibir los mensajes entrantes.
Vonage Dashboard Messages Application Inbound URL setting
Carga útil del mensaje entrante
Los mensajes entrantes incluyen una carga útil JSON que contiene detalles del mensaje. Para los mensajes de tipo texto, esto incluirá el texto del propio mensaje, por ejemplo:
{
"channel": "messenger",
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"to": "9876543210",
"from": "0123456789",
"timestamp": "2023-01-01T14:00:00.000Z",
"message_type": "text",
"text": "Hey there!"
}Para los mensajes en los que el tipo es algún tipo de medio, como imagen o video, ese medio se almacena en los servidores de medios de Vonage, y el mensaje incluye una url única para acceder al archivo de medios, por ejemplo:
{
"channel": "messenger",
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"to": "9876543210",
"from": "0123456789",
"timestamp": "2023-01-01T14:00:00.000Z",
"message_type": "image",
"image": {
"url": "https://api-us.nexmo.com/v3/media/1b456509-974c-458b-aafa-45fc48a4d976"
}
} Seguridad estándar
Los archivos multimedia sólo se almacenan durante 48 horas y, para acceder a ellos, debe enviar una solicitud GET a la URL específica indicada en la carga útil del mensaje entrante. Por ejemplo:
GET /v3/media/1b456509-974c-458b-aafa-45fc48a4d976
Host: api-us.nexmo.comEl hecho de que necesites la URL específica y que ésta caduque después de un tiempo determinado proporciona un cierto grado de seguridad incorporada. Sin embargo, puede haber algunos riesgos menores asociados a este nivel de seguridad; por ejemplo, la fuerza bruta podría revelar la URL, y cualquiera que la posea podría acceder al archivo multimedia sin necesidad de credenciales adicionales.
Mayor seguridad con medios entrantes seguros
Una mayor seguridad puede ser deseable para casos de uso específicos, como una situación de atención al cliente que requiera que el cliente envíe información sensible en forma de imagen o vídeo. Aquí es donde la Messages API Medios entrantes seguros puede ayudar.
Para activar la función, en el panel de Vonage, edita la aplicación donde configuraste la URL de entrada para el webhook y activa el interruptor de seguridad mejorada de medios entrantes.
Vonage Dashboard Messages Application Enhanced Inbound Media Toggle
Con la función activada, los webhooks de mensajes entrantes seguirán conteniendo una URL para acceder a los medios. Sin embargo, ahora la solicitud GET para acceder a los medios debe incluir una cabecera Authorization con un esquema de Bearer y las credenciales son un Token Web JSON (JWT). El JWT debe generarse usando el ID de la aplicación y la clave privada de la aplicación de Vonage donde configuraste la URL del webhook entrante. Por ejemplo:
GET /v3/media/1b456509-974c-458b-aafa-45fc48a4d976
Host: api-us.nexmo.com
Authorization: Bearer eyJ0eXAiOiJKV1Qi...Con la función activada, si se realiza una solicitud GET a la URL de medios sin un encabezado de autorización correctamente configurado, se obtendrá una respuesta 401 No autorizado.
Generación de JWT
Puede generar un JWT a través de nuestra herramienta en línea o usando la CLI de Vonage. En el contexto de una aplicación de servidor, puedes usar uno de nuestros SDK para servidores para generar el JWT como parte del flujo de trabajo general de tu aplicación. A continuación, se muestra un ejemplo de cómo generar un JWT usando el SDK de servidor Ruby.
require 'vonage'
jwt = Vonage::JWT.generate(
application_id: ENV['VONAGE_APPLICATION_ID'],
private_key: ENV['VONAGE_PRIVATE_KEY_PATH']
)(El ejemplo asume que 'VONAGE_APPLICATION_ID' y 'VONAGE_PRIVATE_KEY_PATH' están configuradas como variables de entorno en la aplicación Ruby).
Próximos pasos
¿Los medios entrantes seguros son útiles para tu aplicación o caso de uso? Entonces, ¿por qué no comenzar ahora con las API de Vonage? Consulta la documentación. Si tienes preguntas o comentarios, únete a nosotros en el Slack para desarrolladores de Vonagey nos comunicaremos contigo.
Compartir:
Karl es un defensor de los desarrolladores para Vonage, centrado en el mantenimiento de nuestros SDK de servidor Ruby y la mejora de la experiencia de los desarrolladores para nuestra comunidad. Le encanta aprender, hacer cosas, compartir conocimientos y, en general, todo lo relacionado con la tecnología web.