OTP Verification Guide - How to Validate One-Time Passwords Securely
Endpoint
POST https://otp.api.engagelab.cc/v1/verifications
Authentification
Utilise la méthode Authentification HTTP Basic. Ajoutez Authorization dans l'en-tête HTTP :
Authorization: Basic ${base64_auth_string}
Authorization: Basic ${base64_auth_string}
Afficher ce bloc de code dans la fenêtre flottante
L'algorithme de génération pour le base64_auth_string ci-dessus est : base64(dev_key:dev_secret)
Exemple de requête
En-tête de la requête
POST /v1/verifications HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
POST /v1/verifications HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Afficher ce bloc de code dans la fenêtre flottante
Corps de la requête
{
"message_id": "1725407449772531712",
"verify_code": "667090"
}
{
"message_id": "1725407449772531712",
"verify_code": "667090"
}
Afficher ce bloc de code dans la fenêtre flottante
Paramètres de la requête
| Paramètre | Type | Option | Description |
|---|---|---|---|
| message_id | String | Requis | L'ID du message associé au code de vérification, retourné par l'endpoint /messages |
| verify_code | String | Requis | Le code de vérification à valider |
Paramètres de la réponse
Réponse en cas de succès
| Champ | Type | Option | Description |
|---|---|---|---|
| message_id | String | Requis | L'ID du message associé au code de vérification, retourné par l'endpoint /v1/messages |
| verify_code | String | Requis | Le code de vérification à valider |
| verified | Boolean | Requis | Résultat de la vérification, true pour une validation réussie, false pour un échec |
{
"message_id": "1725407449772531712",
"verify_code": "667090",
"verified": true
}
{
"message_id": "1725407449772531712",
"verify_code": "667090",
"verified": true
}
Afficher ce bloc de code dans la fenêtre flottante
Remarque : pour le même code de vérification d'un message, si la demande de validation aboutit, toute demande de validation ultérieure échouera, indiquant que la vérification pour ce message a déjà été effectuée ; les codes de vérification ayant déjà été validés avec succès ne peuvent pas être validés à nouveau.
Réponse en cas d'échec
Code de statut HTTP 4xx ou 5xx, le corps de la réponse inclut les champs suivants :
| Champ | Type | Option | Description |
|---|---|---|---|
| code | int | Requis | Code d'erreur, voir Codes d'erreur pour plus de détails |
| message | String | Requis | Détails de l'erreur |
{
"code": 3003,
"message": "verify code has expired"
}
{
"code": 3003,
"message": "verify code has expired"
}
Afficher ce bloc de code dans la fenêtre flottante
Codes d'erreur
| Code d'erreur | Code HTTP | Description |
|---|---|---|
| 1000 | 500 | Erreur interne |
| 2001 | 401 | Authentification échouée, jeton incorrect ou manquant |
| 2002 | 401 | Authentification échouée, jeton expiré ou désactivé |
| 2004 | 403 | Pas d'autorisation pour appeler cette API |
| 3001 | 400 | Format de paramètre de requête invalide, veuillez vérifier qu'il correspond au format JSON requis |
| 3002 | 400 | Paramètres de la requête incorrects, veuillez vérifier qu'ils répondent aux exigences |
| 3003 | 400 | Code de vérification expiré ou déjà vérifié, un nouveau message de vérification doit être envoyé pour ce code d'erreur |
| 4001 | 400 | Le message n'existe pas |

