Verify Guía de migración

La siguiente guía le ayudará a migrar del obsoleto Verify Legacy a Verify. Para ello, debes actualizar las URL de tus puntos finales para que apunten a la nueva versión y modificar la configuración de tu aplicación; no es necesario que rellenes ningún formulario de prerregistro para empezar a utilizar Verify.

Resumen

La API Verify de Vonage es un servicio que permite a los desarrolladores implementar la autenticación de dos factores (2FA) para protegerse contra el fraude y garantizar la autenticidad del usuario. Vonage ofrece dos versiones de esta API: Legacy y la actual Verify. Si bien ambas versiones cumplen la misma función principal, existen diferencias significativas en sus características, funcionalidades y uso.

Principales diferencias

  • Flexibilidad y personalización: Verify ofrece ahora una creación de flujos de trabajo más flexible y opciones de personalización mejoradas, como un sistema de gestión de plantillas personalizadas con más funciones en comparación con Legacy.
  • Asistencia técnica por canal: Verify ahora incluye soporte adicional para la verificación a través de varios canales nuevos como Silent Auth, RCS, WhatsApp y Email, mientras que Legacy se limita a SMS y voz.
  • Características de seguridad: Verify incluye ahora funciones de seguridad mejoradas y el cumplimiento de las normas más recientes.
  • Protección contra el fraude: Los clientes que migren de Verify Legacy a la nueva API de Verify contarán con protección y acceso a Vonage Fraud Defender avanzado sin coste adicional.
  • Gestión de errores: Verify proporciona ahora mensajes de error más detallados y una gestión mejorada, así como mecanismos más avanzados de limitación de velocidad y reintento automático.
  • Diseño e integración de API: Verify admite tanto patrones de integración síncronos como asíncronos.

Comparación de funciones

Función Verify (heredado) Verify
Verificación básica SMS, Voz Autenticación silenciosa, RCS, SMS, voz, correo electrónico, WhatsApp
Gestión de ID de solicitud Sistema básico de identificación de solicitudes Seguimiento mejorado del ID de solicitud con más metadatos
Configuración personalizada del flujo de trabajo Limitado Amplia, incluidas configuraciones de canales múltiples
Gestión de la caducidad del PIN Configurable pero limitado (de 60 a 3600 segundos) Control más detallado de la caducidad del PIN y de los tiempos de los eventos
Cumplimiento de las normas de seguridad Básico, conforme a normas más antiguas Avanzado, cumple las últimas normas de seguridad
Gestión de errores Mensajes de error básicos Mensajes de error detallados con códigos de error exhaustivos
Limitación de velocidad Limitación de la tasa básica Mecanismos limitadores de velocidad mejorados
Mecanismo de reintento Reintento básico en caso de fallo Lógica de reintentos avanzada con flujos de trabajo de reintentos personalizables
Análisis y elaboración de informes Capacidad limitada de elaboración de informes Análisis mejorados e informes detallados
Asistencia para la localización Localización básica (idiomas limitados) Localización mejorada con más idiomas y mensajes personalizados
Documentación y asistencia de la API Documentación completa pero antigua Documentación moderna, detallada y más fácil de usar
Autenticación api_key + api_secret parámetros de consulta y/o cuerpo de la solicitud Autenticación básica (encabezado) o JWT Bearer (recomendado) — véase Guía de autenticación

Llamadas a la API

Importante: Verify v2 soporta Basic Auth y JWT Bearer (no api_key / api_secret). Se recomienda el portador JWT. Antes de realizar cualquier llamada a la API v2, crea una aplicación de Vonage en el directorio Panel de control, generar application ID y private keyy utilizarlos para firmar JWTs. Véase el Guía de autenticación.

Se ha introducido el modo asíncrono en Verify, lo que permite recibir mensajes y estados de llamada mediante webhook, recibiendo tanto eventos (en el caso de whatsapp_interactive) y devoluciones de llamada de resumen. También se puede utilizar de forma sincrónica con redirect_url y check_url.

Debe configurar sus webhooks para las retrollamadas Verify en la sección Application del módulo Panel de control del cliente:

Webhooks can be configured on the customer dashboard

Puedes encontrar más documentación sobre los webhooks en aquí.

Criterios de valoración

Todas las llamadas a la API de Verify deben actualizarse para utilizar el nuevo punto final:

Función Verify (heredado) Verify
Enviar solicitud de verificación POST https://api.nexmo.com/verify/ POST https://api.nexmo.com/v2/verify
Solicitud de verificación de cheques POST https://api.nexmo.com/verify/check/:format POST https://api.nexmo.com/v2/verify/:request_id
Verify búsqueda https://api.nexmo.com/verify/search/:format No está disponible actualmente. Mientras tanto, utiliza los estados de estado enviados a tus webhooks para supervisar las solicitudes pasadas o actuales. Consulta Devoluciones de llamada resumidas y Webhooks.
Cancelar solicitud POST https://api.nexmo.com/verify/control/:format con cmd = cancel DELETE https://api.nexmo.com/v2/verify/:request_id
Activar el siguiente evento en el flujo de trabajo POST https://api.nexmo.com/verify/control/:format con cmd = trigger_next_event POST https://api.nexmo.com/v2/verify/:request_id/next-workflow
Plantillas personalizadas POST https://api.nexmo.com/verify/templates GET https://api.nexmo.com/v2/verify/templates

POST https://api.nexmo.com/v2/verify/templates

GET https://api.nexmo.com/v2/verify/templates/:template_id

PATCH https://api.nexmo.com/v2/verify/templates/:template_id

DELETE https://api.nexmo.com/v2/verify/templates/:template_id
PSD2 POST https://api.nexmo.com/verify/psd2/:format En desuso
Desbloqueo de la red POST https://api.nexmo.com/verify/network-unblock POST https://api.nexmo.com/v2/verify/network-unblock

Flujos de trabajo

Verify le ofrece la flexibilidad de definir su propio flujo de trabajo, a diferencia de los flujos de trabajo fijos de Legacy. Puede especificar cualquier combinación de canales de soporte de su elección en el flujo de trabajo, hasta un máximo de tres canales.

Encontrará más documentación sobre los flujos de trabajo aquí.

Canales

Ya hay nuevos canales disponibles en Verify:

  • SMS
  • Voz (antes TTS en Legacy)
  • WhatsApp
  • Correo electrónico
  • Autenticación silenciosa
  • RCS

Para obtener información más detallada sobre estos canales, consulta el Especificación API.

Encontrará documentación específica sobre la autenticación silenciosa aquí.

Devoluciones de llamada resumidas

Las respuestas se envían a tu webhook con el estado del evento, correspondiente request_id y canal. Los siguientes diagramas de secuencia muestran cómo funciona esto cuando se utiliza un solo canal, o el uso de múltiples canales en su flujo de trabajo.

Un solo canal

Summary Callback: Single channel in the workflow

Varios canales

Summary Callback: Multiple channels in the workflow

Códigos de respuesta

Además de cambiar sus puntos finales, también es necesario actualizar sus aplicaciones para que comprendan los códigos de respuesta recibidos al utilizar Verify:

Código HTTP Definición
Creación de una solicitud: POST /v2/verify
202 La solicitud ha sido aceptada. Entrega en curso.
409 Hay una solicitud en curso a este número.
422 Error al procesar la solicitud.
Validación de una solicitud: POST /v2/verify/{request_id}
200 Acierto. Se ha proporcionado el código correcto.
400 Se ha proporcionado un código incorrecto.
404 No se ha encontrado la solicitud.
409 La acción actual no admite la comprobación de pines.
410 Muchas veces se proporcionó un código incorrecto.
422 No se puede validar la solicitud.

Solicitud de anulación

Verify (heredado) Verify
Verify Control Se podría utilizar para cancelar una solicitud de verificación en curso. No se puede cancelar durante los primeros 30 segundos tras la solicitud. Enviar un solicitud de cancelación - si la solicitud de verificación está activa, aborta el flujo de trabajo.

Plantillas

Verify (heredado) Verify
Los clientes pueden utilizar una plantilla personalizada para enviar mensajes de Verify (documentación) Verify admite tanto plantillas predefinidas como plantillas personalizadas. Gestione las plantillas mediante la función Guía de gestión de plantillas.

Cumplimiento de la PSD2

Verify (heredado) Verify
¿Cumple con la PSD2? En desuso

Solicitud de verificación de búsqueda

Verify (heredado) Verify
Uso Verify búsqueda para consultar el estado de las solicitudes de verificación anteriores o actuales. Utiliza los estados enviados a tus webhooks para supervisar las solicitudes pasadas o actuales. Consulta Devoluciones de llamada resumidas y Webhooks.

Gestión del fraude

Ten en cuenta que los bloqueos de red solo se aplican a los canales de SMS y voz en la API de Verify.

Verify (heredado) Verify
Los bloques activados por reglas de velocidad se responden con Error 7 Los bloques activados por reglas de velocidad se muestran con el estado blocked y la razón Fraudulent traffic detected for your account on network [23415]. en la función de llamada de retorno de resumen
Las autorizaciones de desbloqueo de red pueden emitirse mediante el API de desbloqueo de red. Utiliza la misma API para los desbloqueos.
Más documentación: Sistema antifraude heredado Más documentación: Sistema antifraude

Verify Diagramas de secuencia

Verify Flow

Verify Flow

Verify la solicitud con devoluciones de llamada de resumen

Verify Request with Summary Callbacks

Diagrama de secuencia de autenticación silenciosa

Silent Authentication Sequence Diagram

Verify el análisis de los parámetros de la carga útil entre la versión 1 y la versión 2

Autenticación (Verify v2): Verify v2 utiliza la autenticación JWT Bearer. Genera un JWT utilizando tu ID de aplicación de Vonage y tu clave privada, y envíalo en el campo Authorization (más información en la sección Guía de autenticación). api_key y api_secret no se incluyen en la carga útil de la solicitud v2.

Enviar solicitud de verificación

Parámetro Verify (heredado) Verify (V2) Notas
Clave API api_key N/A
Secreto API api_secret N/A
Numbers de téléphone number to
Marca brand Incluido en workflow.channels.template
Identificador del remitente sender_id from Aplicable a channel = SMS & Email en la versión 2
Longitud del código code_length code_length
Idioma lg locale
Expiración del pin pin_expiry channel_timeout
Próximo evento: Esperar next_event_wait N/A
Identificador del flujo de trabajo workflow_id Flujo de trabajo personalizado en workflow.channels Configuración flexible de los canales en el flujo de trabajo
Código personalizado pin_code code
Plantilla N/A template_id Gestión de plantillas documentación para V2
Correo electrónico N/A workflow.channels.email
WhatsApp N/A workflow.channels.whatsapp
Autenticación silenciosa N/A workflow.channels.silent_auth
Identificador de entidad N/A entity_id Aplicable a channel = SMS en la versión 2
ID de contenido N/A content_id Aplicable a channel = SMS en la versión 2
Identificador de Applications N/A app_hash Aplicable a channel = SMS en la versión 2

Solicitud de verificación de cheques

Parámetro Verify (heredado) Verify (V2)
Clave API api_key N/A
Secreto API api_secret N/A
Solicitar ID request_id request_id
Código code code

Solicitud de verificación de búsqueda

Parámetro Verify (heredado) Verify (V2)
Clave API api_key N/A
Secreto API api_secret N/A
Solicitar ID request_id N/A

Cancelar solicitud de verificación

Parámetro Verify (heredado) Verify (V2) Notas
Clave API api_key N/A
Secreto API api_secret N/A
Solicitar ID request_id request_id
Comando cmd=cancel N/A V2 utiliza un punto final dedicado para la cancelación.

Activar el siguiente proceso de verificación

Parámetro Verify (heredado) Verify (V2) Notas
Clave API api_key N/A
Secreto API api_secret N/A
Solicitar ID request_id request_id
Comando cmd=trigger_next_event N/A V2 utiliza un punto final específico para activar la siguiente acción.

Plantillas personalizadas

Parámetro Verify (heredado) Verify (V2)
Clave API api_key N/A
Secreto API api_secret N/A
Canal action_type channel
Idioma lg locale
Texto de la plantilla template text
Tipo de texto para SMS type N/A
URL del archivo multimedia digit_n N/A
Inicio del mensaje welcome_message N/A
Fin del mensaje bye_message N/A
Ticket de Zendesk contact_email N/A
Nombre de la plantilla N/A name
Indicador de plantilla predeterminada N/A is_default
Plantilla de referencia N/A template_id

Cumplimiento de la PSD2

Parámetro Verify (heredado) Verify (V2)
Clave API api_key N/A
Secreto API api_secret N/A
Numbers de téléphone number N/A
Código de país country N/A
Nombre del destinatario payee N/A
Importe del pago amount N/A
Longitud del código code_length N/A
Idioma lg N/A
Expiración del pin pin_expiry N/A
Próximo evento: Esperar next_event_wait N/A
Identificador del flujo de trabajo workflow_id N/A

Correspondencia entre los flujos de trabajo de Verify V1 y Verify V2

Flujo de trabajo 1 (predeterminado)

Patrón: SMS → TTS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 1
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Flujo de trabajo 2

Patrón: SMS → SMS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 2
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "sms", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Flujo de trabajo 3

Patrón: TTS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 3
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "voice", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Flujo de trabajo 4

Patrón: SMS → SMS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 4
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "sms", "to": "15555551234"}
  ]
}

Flujo de trabajo 5

Patrón: SMS → TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 5
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"},
    {"channel": "voice", "to": "15555551234"}
  ]
}

Flujo de trabajo 6

Patrón: SMS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 6
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "sms", "to": "15555551234"}
  ]
}

Flujo de trabajo 7

Patrón: TTS

Verify V1

{
  "api_key": "your_key",
  "api_secret": "your_secret",
  "number": "15555551234",
  "brand": "YourBrand",
  "workflow_id": 7
}

Verify V2

{
  "brand": "YourBrand",
  "workflow": [
    {"channel": "voice", "to": "15555551234"}
  ]
}