Premiers pas avec l'API Verify
Verify vous permet de confirmer le numéro de téléphone d'un utilisateur en envoyant un mot de passe à usage unique (OTP) par le biais de plusieurs canaux tels que les SMS, les e-mails, la voix et WhatsApp. Vous pouvez définir un flux de travail pour contrôler quels canaux sont utilisés et dans quel ordre.
Ce guide vous montre comment appeler l'API Verify de manière synchrone, à l'aide d'un flux de travail qui tente d'abord d'envoyer un SMS, puis passe à un appel vocal en cas d'échec de l'envoi du SMS. Vous apprendrez également à personnaliser la longueur du code OTP et les délais d'attente entre les étapes.
Conditions préalables
Ce guide part du principe que
- Vous avez un Account Vonage. Si ce n'est pas le cas, vous pouvez en créer un gratuitement ici.
- Vous avez
cURLinstallé dans votre système.
Créer une nouvelle application
Pour commencer, nous devons créer une nouvelle application. Cette application contiendra les informations d'identification requises pour authentifier les appels à l'API. Procédez comme suit :
- Aller à la page Tableau de bord des applications Vonage.
- Cliquez sur Créer une nouvelle application.
- Dans le cadre de la Nom entrez un nom pour votre application.
- Dans le cadre de la Authentification cliquez sur Générer une clé publique et une clé privée pour générer une nouvelle paire de clés. Un fichier de clé privée (
.key) sera automatiquement téléchargé. Sauvegardez ce fichier en toute sécurité, car il est nécessaire pour l'authentification de vos appels à l'API. - Allez maintenant à la page Capacités section. Puisque nous ne voulons pas recevoir de mises à jour d'état asynchrones, vous pouvez laisser la section Verify désactivée.
- Enfin, cliquez sur le bouton Générer une nouvelle application pour terminer le processus de création.
Une fois l'application créée, copiez l'identifiant de l'application affiché sur le tableau de bord. Vous aurez besoin de cet identifiant d'application ainsi que du fichier de clés privées pour générer des JWT pour authentifier les demandes d'API.
Verify les utilisateurs finaux avec l'OTP
Pour vérifier les utilisateurs finaux à l'aide d'un mot de passe à usage unique (OTP), suivez ces deux étapes :
- Demander un code de vérification. L'utilisateur final recevra le code par l'un des canaux spécifiés dans votre appel API.
- Vérifier le code de vérification fourni. Un deuxième appel à l'API validera le code introduit par l'utilisateur.
Demander un code de vérification
Selon la Spécification APIla première étape consiste à envoyer une requête
/v2/verify . Cet appel API initialise le processus de vérification qui tente de délivrer l'OTP par SMS et, en cas d'échec, par appel vocal. curl -X POST "https://api.nexmo.com/v2/verify" \
-H "Authorization: Bearer $JWT" \
-H 'Content-Type: application/json' \
-d $'{
"brand": "TestVerify",
"code_length": 5,
"channel_timeout": 30,
"workflow": [
{
"channel": "sms",
"to": "'$PHONE_NUMBER'"
},
{
"channel": "voice",
"to": "'$PHONE_NUMBER'"
}
]
}'
Examinons les en-têtes et le corps de la requête pour mieux comprendre l'appel à l'API.
| En-tête | Valeur | Exigée | Description |
|---|---|---|---|
| Autorisation | Bearer $JWT | Oui | Authentifie la demande d'API à l'aide de JWT. |
| Content-Type | application/json | Oui | Spécifie que le corps de la demande est formaté en JSON. |
| Champ du corps | Exigée | Type | Description |
|---|---|---|---|
brand | Oui | Chaîne | Le nom de votre entreprise ou de votre service, indiqué à l'utilisateur dans le message de vérification (TestVerify dans cet exemple) |
code_length | Non | Entier | Le nombre de chiffres du code OTP. La valeur par défaut est 4 si elle n'est pas spécifiée. |
channel_timeout | Non | Entier | Temps (en secondes) à attendre avant de passer à l'étape suivante du flux de travail. |
workflow | Oui | Tableau | Définit la séquence des canaux pour délivrer l'OTP (par exemple, SMS, voix). Pour en savoir plus sur les flux de travail, consultez notre rubrique Guide du flux de travail. |
workflow.channel | Oui | Chaîne | Le canal de distribution à utiliser (sms, voice, whatsapp). |
workflow.to | Oui | Chaîne | Le numéro de téléphone auquel envoyer l'OTP, au format E.164 (par ex, +44111223344). |
Si la demande est acceptée, vous recevrez un 200 Ok contenant un request_id dans le corps :
{
"request_id":"3b4363c9-1234-567a-90ab-c45a134561"
}
Au même moment, l'utilisateur final doit recevoir un SMS contenant un code de vérification à 5 chiffres. Si l'utilisateur n'effectue pas la vérification dans un délai de 30 secondes (selon la définition des channel_timeout), ils recevront automatiquement un appel vocal au cours duquel le code sera lu à haute voix.
Vous aurez besoin des deux request_id et le code saisi par l'utilisateur pour terminer la vérification à l'étape suivante.
Vérifier le code de vérification fourni
Une fois que l'utilisateur final a reçu le code, vous devez envoyer une requête
/v2/verify/{request_id} en remplaçant le point d'arrivée {request_id} avec l'identifiant que vous avez reçu lors de l'appel précédent : curl -X POST "https://api.nexmo.com/v2/verify/$VERIFY_REQUEST_ID" \
-H "Authorization: Bearer $JWT"\
-H 'Content-Type: application/json' \
-d $'{
"code": "'$VERIFY_CODE'"
}'
En-têtes de requête :
| En-tête | Valeur | Exigée | Description |
|---|---|---|---|
| Autorisation | Bearer $JWT | Oui | Authentifie la demande d'API à l'aide de JWT. |
| Content-Type | application/json | Oui | Spécifie que le corps de la demande est formaté en JSON. |
Corps de la demande :
| Champ du corps | Exigée | Type | Description |
|---|---|---|---|
code | Oui | Chaîne | Le code de vérification reçu par l'utilisateur final |
Si la demande est acceptée, vous recevrez un 200 OK réponse indiquant que le processus de vérification a été mené à bien :
{
"request_id":"3b4363c9-1234-567a-90ab-c45a134561",
"status":"completed"
}
Conclusion
Dans ce guide, vous avez appris à mettre en œuvre la vérification de l'utilisateur final à l'aide de l'API Verify avec une configuration multicanal : en commençant par SMS et en retombant à Voix si nécessaire.
Les exemples cURL fournis ici le sont uniquement à des fins d'apprentissage. Dans une mise en œuvre réelle, vous devriez intégrer Verify directement dans votre système d'information. backend, en utilisant votre langage de programmation.
Quelle est la prochaine étape ?
Maintenant que vous comprenez le fonctionnement de l'API Verify et la puissance de l'approche multicanal, explorez les différents canaux pris en charge que vous pouvez utiliser dans votre vérification flux de travail.
Améliorez votre processus de vérification en mettant en œuvre Authentification silencieusequi vous permet de vérifier les utilisateurs sur le trafic mobile sans leur demander d'entrer un OTP.
Enfin, n'oubliez pas de vérifier le Spécification APIoù vous trouverez d'autres paramètres utiles pour tirer le meilleur parti de l'API Verify.