Envoi de code OTP personnalisé

Si vous souhaitez générer vous-même les codes de vérification au lieu de les faire générer par la plateforme EngageLab, vous pouvez appeler cette API.

Cette API est spécifiquement conçue pour envoyer des codes de vérification pré-générés et ne génère pas elle-même de codes de vérification. Après l'envoi d'un code de vérification, il n'est pas nécessaire d'appeler une API de vérification pour le valider.

Si vous souhaitez que la plateforme EngageLab génère les codes de vérification, vous pouvez appeler l'API EngageLab OTP Verification Code Delivery.

Point de terminaison

POST https://otp.api.engagelab.cc/v1/codes

Authentification

Utilisez l'authentification HTTP Basic en ajoutant Authorization à 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 de base64_auth_string ci-dessus est le suivant : base64(dev_key:dev_secret)

Exemple de requête

En-tête de requête

POST /v1/codes HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/codes 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

{ "to": "+6591234567", "code": "398210", "template": { "id": "test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
  "to": "+6591234567",
  "code": "398210",
  "template": {
    "id": "test-template-1",
    "language": "default",
    "params": {
      "key1": "value1",
      "key2": "value2"
    }
  }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Paramètres de requête

Un objet de requête est exprimé au format JSON ; l'en-tête de requête doit donc inclure Content-Type: application/json.

Parameter Type Required Description
to String Required Cible de livraison : un numéro de téléphone ou une adresse e-mail, par exemple +6598765432 ou support@engagelab.com
code String Required Le code de vérification personnalisé à envoyer
template JSON Object Required Informations sur le modèle. Voir les paramètres de second niveau ci-dessous
|_ id String Required ID du modèle
|_ language String Optional Langue du modèle. Les langues suivantes sont prises en charge :
default Langue par défaut
zh_CN Chinois simplifié
zh_HK Chinois traditionnel
en Anglais
ja Japonais
th Thaï
es Espagnol
Si elle n'est pas fournie, la valeur par défaut est default (langue par défaut).
|_ params JSON Object Optional Valeurs des variables personnalisées du modèle. Si vous avez défini des variables personnalisées lors de la création du modèle, attribuez-leur leurs valeurs ici. Si aucune valeur n'est fournie, la clé de variable sera envoyée directement, par exemple {{var}}.

Description de params

  1. Pour les champs de modèle prédéfinis tels que from_id, si la valeur du champ param_vars n'est pas fournie, le from_id prédéfini dans le modèle sera utilisé lors de l'envoi du message.
  2. Si la valeur du champ param_vars est fournie, par exemple param_vars:{"from_id":"12345"}, le from_id du modèle sera remplacé par 12345 lors de l'envoi du message.
  3. Les champs de variables personnalisées dans le contenu du modèle, créés lors de la création du modèle, reçoivent également des valeurs via param_vars. Par exemple, si le contenu du modèle est Hi {{name}}, your verify code is {{code}}, le paramètre d'affectation param_vars:{"name":"Bob"} est requis.

Paramètres de réponse

Réponse réussie

Field Type Required Description
message_id String Required ID du message, qui identifie de manière unique un message
send_channel String Required Indique le canal de livraison actuel. Valeurs possibles : whatsapp/sms/email/voice
{ "message_id": "1725407449772531712", "send_channel": "sms" }
              
              {
  "message_id": "1725407449772531712",
  "send_channel": "sms"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Veuillez noter que la valeur send_channel renvoyée ne représente pas le canal final utilisé pour livrer le message à l'utilisateur ; elle représente uniquement le canal actuellement utilisé. Par exemple, si la stratégie du modèle est configurée de sorte qu'une livraison via le canal WhatsApp soit automatiquement retentée via le canal SMS en cas d'échec, la réponse de l'API renverra la valeur whatsapp. Après un certain temps, si un échec de livraison est détecté, le système enverra le message via le canal SMS.

Réponse d'échec

Le code d'état HTTP est 4xx ou 5xx, et le corps de la réponse contient les champs suivants :

Field Type Required Description
code int Required Code d'erreur. Pour plus de détails, voir Codes d'erreur
message String Required Détails de l'erreur
{ "code": 5001, "message": "sms send fail" }
              
              {
  "code": 5001,
  "message": "sms send fail"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Codes d'erreur

Error Code HTTP Code Description
1000 500 Erreur interne
2001 401 Échec de l'authentification. Le jeton correct n'a pas été fourni.
2002 401 Échec de l'authentification. Le jeton a expiré ou a été désactivé.
2004 403 Aucune autorisation pour appeler cette API
3001 400 Format de paramètre de requête invalide. Veuillez vérifier si le contenu JSON correspond au format de paramètre requis.
3002 400 Paramètres de requête invalides. Veuillez vérifier si les paramètres de requête respectent les exigences.
3003 400 Paramètres de requête invalides. La validation métier associée a échoué. Reportez-vous à la description de l'erreur dans le champ message pour plus de détails.
3004 400 Limite de fréquence dépassée. Pour le même modèle et le même utilisateur cible, aucune nouvelle livraison ne peut être effectuée pendant la période de validité du code de vérification.
4001 400 La ressource associée n'existe pas, par exemple lorsqu'un modèle inexistant est utilisé lors de l'envoi d'un message basé sur un modèle.
5001 400 Échec de l'envoi (général/autre)
5011 400 Format de numéro de téléphone invalide
5012 400 Cible inaccessible
5013 400 Le numéro a été blacklisté
5014 400 Le contenu n'est pas conforme aux spécifications
5015 400 Message intercepté/rejeté
5016 400 Erreur interne d'envoi
5017 400 Aucune autorisation d'envoi vers la Chine continentale
5018 400 Dysfonctionnement du téléphone (éteint/service suspendu)
5019 400 L'utilisateur s'est désabonné
5020 400 Numéro non enregistré/numéro invalide
Icon Solid Transparent White Qiyu
Contactez-nous