logoDocumentation
Rechercher

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.

texte alternatif

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.

texte alternatif 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 ''
              
              curl -X POST https://example.engagelabSMS.callback.com -d ''

            
Afficher ce bloc de code dans la fenêtre flottante

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
              
              HTTP/1.1 200 OK
Content-Length: 0

            
Afficher ce bloc de code dans la fenêtre flottante

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 de X-CALLBACK-ID est :
    timestamp={timestamp};nonce={nonce};username={username};signature={signature}

    Exemple :

    X-CALLBACK-ID: timestamp=1681991058;nonce=123123123123;username=test;signature=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16b
                  
                  X-CALLBACK-ID: timestamp=1681991058;nonce=123123123123;username=test;signature=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16b
    
                
    Afficher ce bloc de code dans la fenêtre flottante
    • timestamp : 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 flottante
  • Configuration 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ête Authorization dans 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" } } } ] }
              
              {
    "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"
                }
            }
        }
    ]
}

            
Afficher ce bloc de code dans la fenêtre flottante

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!" } } } ] }
              
              {
    "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!"
                }
            }
        }
    ]
}

            
Afficher ce bloc de code dans la fenêtre flottante
icon
Contactez-nous