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:

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/templatesPOST https://api.nexmo.com/v2/verify/templatesGET https://api.nexmo.com/v2/verify/templates/:template_idPATCH https://api.nexmo.com/v2/verify/templates/:template_idDELETE 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)
- 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

Canaux multiples

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 Request with Summary Callbacks (Vérifier la demande avec des rappels de synthèse)

Diagramme de séquence d'authentification silencieuse

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 | |
| 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"}
]
}