Description
Cet endpoint permet de vérifier si le code OTP saisi par l’utilisateur correspond au code envoyé précédemment via POST /send/otp.
Paramètres de la requête
Le code OTP à 4 chiffres saisi par l’utilisateur.Exemple : "1234"
Le numéro de téléphone auquel l’OTP a été envoyé (au format international sans le +).Exemple : "221771234567"
Le nom du service pour lequel l’OTP a été demandé. Doit correspondre au service utilisé lors de l’envoi.Exemple : "MonApplication"
Exemple de requête
curl -X POST https://api-v2.dexchange-sms.com/api/v1/verify/otp \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"otp": "1234",
"number": "221771234567",
"service": "MonApplication"
}'
Réponse
true si le code est valide, false sinon
Message décrivant le résultat de la vérification
Exemple de réponse réussie
{
"success": true,
"message": "Code de vérification vérifié avec succès"
}
Erreurs possibles
{
"statusCode": 400,
"message": "Code de vérification invalide",
"error": "Bad Request"
}
Exemple d’intégration complète
Voici un exemple complet d’un flux de vérification de numéro :
// 1. Envoyer l'OTP
async function sendOTP(phoneNumber) {
const response = await fetch('https://api-v2.dexchange-sms.com/api/v1/send/otp', {
method: 'POST',
headers: {
'Authorization': 'Bearer VOTRE_CLE_API',
'Content-Type': 'application/json'
},
body: JSON.stringify({
service: 'MonApplication',
number: phoneNumber,
channel: 'sms'
})
});
return response.json();
}
// 2. Vérifier l'OTP saisi par l'utilisateur
async function verifyOTP(phoneNumber, userCode) {
const response = await fetch('https://api-v2.dexchange-sms.com/api/v1/verify/otp', {
method: 'POST',
headers: {
'Authorization': 'Bearer VOTRE_CLE_API',
'Content-Type': 'application/json'
},
body: JSON.stringify({
otp: userCode,
number: phoneNumber,
service: 'MonApplication'
})
});
const data = await response.json();
return data.success;
}
// Utilisation
const phone = '221771234567';
// Étape 1: Envoyer le code
await sendOTP(phone);
console.log('Code envoyé !');
// Étape 2: L'utilisateur saisit le code (ex: via un formulaire)
const userInput = '1234'; // Code saisi par l'utilisateur
// Étape 3: Vérifier le code
const isValid = await verifyOTP(phone, userInput);
if (isValid) {
console.log('✓ Numéro vérifié ! Continuer le processus...');
} else {
console.log('✗ Code invalide. Veuillez réessayer.');
}
Bonnes pratiques
Limitation des tentatives : Limitez le nombre de tentatives de vérification (ex: 3 tentatives) pour éviter les attaques par force brute.
Ne pas réutiliser un code : Une fois vérifié, le code ne peut plus être utilisé. Demandez un nouveau code si nécessaire.
Correspondance exacte : Le service et le number doivent correspondre exactement à ceux utilisés lors de l’envoi de l’OTP.