Guide de migration Verify

Le guide suivant vous aidera à migrer de Verify L'héritage à Verify. Pour ce faire, vous devez mettre à jour les URL de vos points d'extrémité pour appeler la nouvelle version et modifier les paramètres de votre application ; vous n'êtes pas tenu de remplir un formulaire de préinscription pour commencer à utiliser Verify.

Résumé

L'API Verify de Vonage est un service qui permet aux développeurs de mettre en œuvre l'authentification à deux facteurs (2FA) pour se protéger contre la fraude et garantir l'authenticité de l'utilisateur. Vonage propose deux versions de cette API : Legacy et l'actuelle Verify. Bien que les deux versions remplissent la même fonction principale, il existe des différences significatives dans leurs caractéristiques, leurs fonctionnalités et leur utilisation. dans leurs caractéristiques, leurs fonctionnalités et leur utilisation.

Différences majeures

  • Flexibilité et personnalisation: Verify offre désormais une création de flux de travail plus flexible et des options de personnalisation améliorées, telles qu'un système de gestion des modèles personnalisés plus riche en fonctionnalités par rapport à Legacy.
  • Soutien à la chaîne: Verify inclut désormais une prise en charge supplémentaire de la vérification via divers nouveaux canaux tels que Silent Auth, RCS, WhatsApp et Email, alors que Legacy est limité aux SMS et à la voix.
  • Caractéristiques de sécurité: Verify comprend désormais des fonctions de sécurité améliorées et une conformité aux normes les plus récentes.
  • Protection contre la fraude: Les clients qui migrent de Verify Legacy vers la nouvelle API de Verify bénéficient d'une protection et d'un accès à . Vonage Fraud Defender Advanced sans frais supplémentaires.
  • Gestion des erreurs: Verify fournit désormais des messages d'erreur plus détaillés et un traitement amélioré, comme ainsi que des mécanismes plus avancés de limitation de débit et de réessai automatique.
  • Conception et intégration de l'API: Verify prend en charge les modèles d'intégration synchrones et asynchrones.

Comparaison des caractéristiques

Caractéristique/Fonction Verify (héritage) Verify
Vérification de base SMS, Voix Authentification silencieuse, RCS, SMS, voix, courriel, WhatsApp
Traitement de l'identifiant de la demande Système d'identification des demandes de base Amélioration du suivi de l'identifiant de la demande avec plus de métadonnées
Configuration d'un flux de travail personnalisé Limitée Large, y compris les configurations à canaux multiples
Gestion de l'expiration du code PIN Configurable mais limité (60 à 3600 secondes) Contrôle plus précis de l'expiration du code PIN et de la chronologie des événements
Conformité en matière de sécurité Basique, conforme aux anciennes normes Avancée, conforme aux normes de sécurité les plus récentes
Gestion des erreurs Messages d'erreur de base Messages d'erreur détaillés avec codes d'erreur complets
Limitation du taux Limitation du taux de base Amélioration des mécanismes de limitation des taux
Mécanisme de réessai Réessai de base en cas d'échec Logique de réessai avancée avec flux de réessai personnalisables
Analyses et rapports Capacités limitées en matière d'établissement de rapports Analyses améliorées et rapports détaillés
Soutien à la localisation Localisation de base (nombre limité de langues) Localisation améliorée avec plus de langues et de messages personnalisés
Documentation et support de l'API Documentation complète mais ancienne Une documentation moderne, détaillée et plus conviviale

Appels de l'API

Important : Verify v2 utilise l'authentification JWT Bearer (et non pas api_key / api_secret). Avant d'effectuer des appels à l'API v2, créez une Application Vonage dans le fichier Tableau de bord, générer application ID et private keyet les utiliser pour signer des JWT. Voir la page Guide d'authentification.

Le mode asynchrone a été introduit dans Verify, ce qui vous permet de recevoir des messages et des statuts d'appel par webhook, en recevant à la fois l'événement (dans le cas de whatsapp_interactive) et les rappels de résumé. Vous pouvez également l'utiliser de manière synchrone avec redirect_url et check_url.

Vous devez configurer vos webhooks pour les rappels Verify dans la section Application de l'onglet Tableau de bord du client:

Webhooks can be configured on the customer dashboard

Une documentation complémentaire sur les webhooks est disponible à l'adresse suivante ici.

Points finaux

Tous les appels à l'API Verify doivent être mis à jour pour utiliser le nouveau point de terminaison :

Fonction Verify (héritage) Verify
Envoyer une demande de vérification POST https://api.nexmo.com/verify/ POST https://api.nexmo.com/v2/verify
Demande de vérification de chèque POST https://api.nexmo.com/verify/check/:format POST https://api.nexmo.com/v2/verify/:request_id
Verify Search https://api.nexmo.com/verify/search/:format Non disponible actuellement. Utilisez les statuts envoyés à vos webhooks pour contrôler les demandes passées ou en cours dans l'intervalle. Voir Rappels récapitulatifs et Crochets Web.
Annuler la demande POST https://api.nexmo.com/verify/control/:format avec cmd = cancel DELETE https://api.nexmo.com/v2/verify/:request_id
Déclencher l'événement suivant dans le flux de travail POST https://api.nexmo.com/verify/control/:format avec cmd = trigger_next_event POST https://api.nexmo.com/v2/verify/:request_id/next-workflow
Modèles personnalisés 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 Déclassé
Déblocage du réseau POST https://api.nexmo.com/verify/network-unblock POST https://api.nexmo.com/v2/verify/network-unblock

Flux de travail

Verify vous offre la possibilité de définir votre propre flux de travail, par opposition aux flux de travail fixes de Legacy. Vous pouvez spécifier n'importe quelle combinaison de canaux de support de votre choix dans le flux de travail, jusqu'à un maximum de trois canaux.

D'autres documents sur les flux de travail sont disponibles ici.

Canaux

De nouvelles chaînes sont désormais disponibles dans Verify :

  • SMS
  • Voix (anciennement TTS dans Legacy)
  • WhatsApp
  • Courriel
  • Authentification silencieuse
  • RCS

Pour plus d'informations sur ces canaux, voir le site web de la Commission européenne. Spécification de l'API.

La documentation spécifique à l'authentification silencieuse est disponible ici.

Rappels récapitulatifs

Les rappels sont renvoyés à votre webhook avec l'état de l'événement, correspondant à l'état de l'événement. request_id & canal. Les diagrammes de séquence suivants montrent comment cela fonctionne lors de l'utilisation d'un seul canal ou de plusieurs canaux dans votre flux de travail.

Canal unique

Summary Callback: Single channel in the workflow

Canaux multiples

Summary Callback: Multiple channels in the workflow

Codes de réponse

Outre la modification de vos points de terminaison, vos applications doivent également être mises à jour pour comprendre les codes de réponse reçus lors de l'utilisation de Verify :

Code HTTP Définition
Création d'une demande : POST /v2/verify
202 La demande a été acceptée. Livraison en cours.
409 Ce numéro fait l'objet d'une demande en cours.
422 Erreur dans le traitement de la demande.
Validation d'une demande : POST /v2/verify/{request_id}
200 Succès : le code correct a été fourni. Le code correct a été fourni.
400 Un code incorrect a été fourni.
404 La demande n'a pas pu être trouvée.
409 L'action en cours ne permet pas de vérifier la présence d'une épingle.
410 Un code incorrect a été fourni à plusieurs reprises.
422 La demande ne peut être validée.

Demande d'annulation

Verify (héritage) Verify
Verify Control pourrait être utilisé pour annuler une demande de vérification en cours. L'annulation ne peut avoir lieu dans les 30 premières secondes de la demande. Envoyer un demande d'annulation - si la demande de vérification est active, elle interrompt le flux de travail.

Modèles

Verify (héritage) Verify
Les clients peuvent utiliser un modèle personnalisé pour envoyer des messages de vérification (la documentation) Verify prend en charge les modèles prédéfinis et les modèles personnalisés. La gestion des modèles s'effectue à l'aide de l'outil Guide de gestion des modèles.

Conformité à la DSP2

Verify (héritage) Verify
Est conforme à la directive PSD2 Déclassé

Demande de vérification de la recherche

Verify (héritage) Verify
Utilisation Verify Search pour vérifier l'état des demandes de vérification passées ou en cours. Utilisez les statuts envoyés à vos webhooks pour contrôler les demandes passées ou en cours. Voir Rappels récapitulatifs et Crochets Web.

Gestion de la fraude

Notez que les blocages de réseau ne sont appliqués qu'aux canaux SMS et Voice dans l'API Verify.

Verify (héritage) Verify
Les blocs déclenchés par les règles de vélocité reçoivent la réponse suivante Erreur 7 Les blocs déclenchés par les règles de vélocité sont affichés avec le statut blocked et la raison Fraudulent traffic detected for your account on network [23415]. dans le callback du résumé
Les déblocages de réseaux peuvent être effectués à l'aide de la fonction API de déblocage du réseau. Utilise la même API pour les déblocages.
Plus d'informations : Système antifraude hérité Documentation complémentaire : Système anti-fraude

Verify Sequence Diagrams (diagrammes de séquence)

Verify Flow

Verify Flow

Verify Request with Summary Callbacks (Vérifier la demande avec des rappels de synthèse)

Verify Request with Summary Callbacks

Diagramme de séquence d'authentification silencieuse

Silent Authentication Sequence Diagram

Verify Analyse des paramètres de la charge utile pour V1 vs V2

Authentification (Verify v2): Verify v2 utilise l'authentification par porteur JWT. Générez un JWT à l'aide de votre ID d'application Vonage et de votre clé privée, et envoyez-le dans le formulaire de demande d'authentification. Authorization (pour en savoir plus, consultez la page Guide d'authentification). api_key et api_secret ne sont pas inclus dans la charge utile de la requête v2.

Envoyer une demande de vérification

Paramètres Verify (héritage) Verify (V2) Notes
Clé API api_key N/A
Secret de l'API api_secret N/A
Numéro de téléphone number to
Marque brand Inclus dans workflow.channels.template
ID de l'expéditeur sender_id from Applicable pour channel = SMS & Email dans V2
Code Longueur code_length code_length
Langue lg locale
Expiration de l'épingle pin_expiry channel_timeout
Prochain événement Attendre next_event_wait N/A
Identificateur de flux de travail workflow_id Flux de travail personnalisé dans workflow.channels Paramétrage flexible des canaux dans le flux de travail
Code personnalisé pin_code code
Modèle N/A template_id Gestion des modèles documentation pour la V2
Courriel N/A workflow.channels.email
WhatsApp N/A workflow.channels.whatsapp
Authentification silencieuse N/A workflow.channels.silent_auth
ID de l'entité N/A entity_id Applicable pour channel = SMS dans V2
ID de contenu N/A content_id Applicable pour channel = SMS dans V2
Identifiant de l'application N/A app_hash Applicable pour channel = SMS dans V2

Demande de vérification de chèque

Paramètres Verify (héritage) Verify (V2)
Clé API api_key N/A
Secret de l'API api_secret N/A
ID de la demande request_id request_id
Code code code

Demande de vérification de la recherche

Paramètres Verify (héritage) Verify (V2)
Clé API api_key N/A
Secret de l'API api_secret N/A
ID de la demande request_id N/A

Annuler la demande de vérification

Paramètres Verify (héritage) Verify (V2) Notes
Clé API api_key N/A
Secret de l'API api_secret N/A
ID de la demande request_id request_id
Commandement cmd=cancel N/A V2 utilise un point de terminaison dédié pour l'annulation.

Déclencher le processus de vérification suivant

Paramètres Verify (héritage) Verify (V2) Notes
Clé API api_key N/A
Secret de l'API api_secret N/A
ID de la demande request_id request_id
Commandement cmd=trigger_next_event N/A V2 utilise un point final dédié pour déclencher l'action suivante.

Modèles personnalisés

Paramètres Verify (héritage) Verify (V2)
Clé API api_key N/A
Secret de l'API api_secret N/A
Chaîne action_type channel
Langue lg locale
Texte modèle template text
Type de texte pour les SMS type N/A
URL du fichier média digit_n N/A
Début du message welcome_message N/A
Fin du message bye_message N/A
Ticket Zendesk contact_email N/A
Nom du modèle N/A name
Indicateur de modèle par défaut N/A is_default
Modèle de référence N/A template_id

Conformité à la DSP2

Paramètres Verify (héritage) Verify (V2)
Clé API api_key N/A
Secret de l'API api_secret N/A
Numéro de téléphone number N/A
Code pays country N/A
Nom du bénéficiaire payee N/A
Montant du paiement amount N/A
Longueur du code code_length N/A
Langue lg N/A
Expiration de l'épingle pin_expiry N/A
Prochain événement Attendre next_event_wait N/A
Identificateur de flux de travail workflow_id N/A

Mappage des flux de travail de Verify V1 et de Verify V2

Flux de travail 1 (par défaut)

Modèle : 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"}
  ]
}

Flux de travail 2

Modèle : 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"}
  ]
}

Flux de travail 3

Modèle : 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"}
  ]
}

Flux de travail 4

Modèle : 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"}
  ]
}

Flux de travail 5

Modèle : 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"}
  ]
}

Workflow 6

Modèle : 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"}
  ]
}

Workflow 7

Modèle : 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"}
  ]
}