Paramètres de rappel
Les paramètres de rappel sont utilisés pour configurer les adresses de rappel permettant à votre système métier de recevoir en temps réel les événements « Statut du message » et « Réponse au message » envoyés par le service SMS d'EngageLab. Grâce aux rappels, vous pouvez automatiser le suivi des messages, mettre en œuvre des stratégies de nouvelle tentative, déclencher des alertes système et améliorer l'efficacité du traitement des messages ainsi que l'intelligence du système.
- Statut du message : Fait référence aux changements de statut des messages SMS individuels lors des différentes étapes telles que l'envoi, la livraison, la lecture et la vérification.
- Réponse au message : Fait référence au contenu et aux événements des messages de réponse des utilisateurs (messages montants).
Liste des rappels
La page de la liste des rappels affiche toutes les informations de rappel configurées et leur état de santé, permettant une gestion et une maintenance unifiées.
- Barre de recherche : Prend en charge le filtrage en temps réel par description du rappel pour localiser rapidement les rappels ciblés.
- Configurer un rappel : Cliquez sur le bouton pour accéder au processus de configuration d'un nouveau rappel, permettant une extension flexible des besoins en rappels.

Description des champs
| Champ | Description |
|---|---|
| Description du rappel | Description personnalisée de la configuration du rappel pour différencier les usages. |
| URL de rappel | L'adresse URL de l'interface de rappel. |
| Statut | L'état de santé de l'interface de rappel. |
| Statut du message | Nombre d'événements de statut de message sélectionnés ; survolez pour voir les types d'événements spécifiques. |
| Réponse au message | Nombre d'événements de réponse au message sélectionnés ; survolez pour voir les types d'événements spécifiques. |
| Actions | Inclut les options « Actualiser », « Modifier » et « Supprimer ». L'actualisation vérifie l'état de santé, et la suppression nécessite une confirmation. |
Configurer un rappel
Cliquez sur le bouton [Configurer un rappel] dans le coin supérieur droit pour accéder à la page.
Comme illustré ci-dessus, remplissez les champs tels que « Description du rappel », « URL de rappel », « Nom d'utilisateur », « Autorisation », « Événements de rappel » et « Réponse au message ».
- Sélectionnez les événements de rappel pour envoyer les informations à votre adresse de rappel configurée lorsque les événements sélectionnés se produisent.
- Cliquez sur les options de statut du message et de réponse au message à droite pour voir les exemples correspondants.
Processus de configuration
Lors de la configuration de l'adresse de rappel, le système SMS d'EngageLab enverra une requête HTTP POST à l'adresse spécifiée. Le service développeur correspondant à cette adresse doit répondre avec un code d'état HTTP 200 dans les 3 secondes ; sinon, le système considérera l'adresse comme invalide.
- Le service développeur doit uniquement répondre avec un code d'état HTTP 200, sans retourner de corps de réponse.
Exemple de requête
En supposant que l'adresse de rappel configurée soit https://example.engagelabSMS.callback.com, le système enverra la charge utile vide suivante à l'adresse. Représenté avec la commande curl :
curl -X POST https://example.engagelabSMS.callback.com -d ''
Exemple de réponse
Le service développeur correspondant à l'adresse de rappel doit simplement répondre avec un code d'état HTTP 200, comme ci-dessous :
HTTP/1.1 200 OK
Content-Length: 0
Configuration du rappel
Configuration du nom d'utilisateur
Cette étape est facultative. Si un nom d'utilisateur est défini, une clé secrète doit également être fournie.Pour garantir l'authenticité de la source du message en tant qu'EngageLab, vous pouvez choisir d'authentifier la source des données POST.
Après avoir configuré le nom d'utilisateur et la clé secrète, les données envoyées par EngageLab incluront un en-tête HTTP :
X-CALLBACK-ID.
La valeur deX-CALLBACK-IDest :timestamp={timestamp};nonce={nonce};username={username};signature={signature}Exemple :
X-CALLBACK-ID: timestamp=1681991058;nonce=123123123123;username=test;signature=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16bX-CALLBACK-ID: timestamp=1681991058;nonce=123123123123;username=test;signature=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16bAfficher ce bloc de code dans la fenêtre flottantetimestamp: L'horodatage du message de rappel (format standard).nonce: Un nombre aléatoire.signature: Les informations de signature, calculées comme suit :signature=HMAC-SHA256(secret, timestamp+nonce+username)
Ci-dessous un exemple de code Python pour calculer la
signature:import hashlib, hmac def verify(username, secret, timestamp, nonce, signature): return signature == hmac.new( key=secret.encode(), msg='{}{}{}'.format(timestamp, nonce, username).encode(), digestmod=hashlib.sha256 ).hexdigest()import hashlib, hmac def verify(username, secret, timestamp, nonce, signature): return signature == hmac.new( key=secret.encode(), msg='{}{}{}'.format(timestamp, nonce, username).encode(), digestmod=hashlib.sha256 ).hexdigest()Afficher ce bloc de code dans la fenêtre flottanteConfiguration de l'autorisation
Cette étape est facultative. Si votre adresse de rappel nécessite une authentification pour les requêtes d'EngageLab, fournissez ici les informations d'authentification. EngageLab inclura cet en-têteAuthorizationdans ses requêtes.
Corps de la requête de rappel
Lorsqu'un événement de rappel est déclenché, le système SMS d'EngageLab enverra des données à l'adresse de rappel.
Exemple de requête « Statut du message »
Statut du message :
plan: Prévu pour l'envoi.sent: Envoyé avec succès.sent_failed: Échec de l'envoi.delivered: Livré avec succès.delivered_failed: Échec de la livraison.
{
"total": 2,
"rows": [
{
"message_id": "1742442805608914944",
"to": "+8615989574757",
"server": "SMS",
"channel": "SMS",
"itime": 1704265712,
"status": {
"message_status": "plan",
"status_data": {
"msg_time": 1704265712,
"message_id": "1742442805608914944",
"template_key": "auto_create_templateu25az170295320745",
"business_id": "100917676394736"
},
"error_code": 0
}
},
{
"message_id": "1742442805608914944",
"to": "+8615989574757",
"server": "SMS",
"channel": "SMS",
"itime": 1704265712,
"status": {
"message_status": "sent_failed",
"status_data": {
"msg_time": 1704265712,
"message_id": "1742442805608914944",
"template_key": "auto_create_templateu25az170295320745",
"business_id": "100917676394736"
},
"error_code": 5001,
"error_detail": {
"message": "sender config is invalid"
}
}
}
]
}
Exemple de requête « Réponse au message »
Événement :
uplink_message: Message montant.
{
"total": 1,
"rows": [
{
"server": "SMS",
"itime": 1741083306,
"message_id": "0",
"business_id": "0",
"response": {
"event": "uplink_message",
"response_data": {
"message_sid": "SM1234567890",
"account_sid": "AC1234567890",
"from": "+1234567890",
"to": "+0987654321",
"body": "Hello, it's time to struggle!"
}
}
}
]
}

