logoDocumentation
Rechercher

API SMS Sending

Si vous souhaitez automatiser l'envoi de SMS de notification et de marketing sans les générer via la plateforme EngageLab, vous pouvez appeler cette API. Indiquez l'ID du modèle de SMS et les destinataires cibles, et le système enverra automatiquement les SMS selon le contenu du modèle.

Configuration de la plateforme

Avant d'appeler l'API, vous devez effectuer les configurations suivantes dans la console SMS d'EngageLab :

Configuration du modèle de SMS : Avant d'appeler l'API, veuillez vous rendre sur la Page de gestion des modèles pour personnaliser et soumettre vos modèles de SMS. Le modèle ne peut être utilisé qu'après validation et une fois que vous avez obtenu l'ID du modèle.

Configuration de la clé API : Rendez-vous sur la Page des clés API pour créer une clé d'authentification API Basic.

Processus d'appel

Veuillez vous référer au processus ci-dessous pour appeler l'API d'envoi de SMS. Si vous avez des questions, veuillez contacter le service client.

URL d'appel

POST https://smsapi.engagelab.com/v1/messages

Authentification de l'appel

Utilisez l'authentification HTTP Basic pour la vérification. 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 de la base64_auth_string ci-dessus est : base64(dev_key:dev_secret)

Format de la requête

En-tête de la requête

POST /v1/messages HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/messages  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": [ "923700056581" ], "template": { "id": "1233", "params": { "content": "Code de vérification : 039487. Ce code expirera dans 5 minutes. Vous tentez de créer votre compte." } } }
              
              {
    "to": [
        "923700056581"
    ],
    "template": {
        "id": "1233",
        "params": {
            "content": "Code de vérification : 039487. Ce code expirera dans 5 minutes. Vous tentez de créer votre compte."
        }
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Paramètres de la requête

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

Nom Emplacement Type Obligatoire Description Remarques
Authorization header array[string] Non
to body array[string] Oui Liste des cibles Numéros de téléphone cibles
plan_name body string Non Nom du plan Optionnel, par défaut '-' si non fourni
schedule_time body integer Non Heure programmée Non requis pour les envois immédiats, timestamp
template body object Oui
id body string Oui
params body object Oui
custom_args body object Non Paramètre personnalisé

Si vous avez défini des variables personnalisées lors de la création du modèle, transmettez ici leurs valeurs. Si elles ne sont pas transmises, la clé de la variable sera envoyée telle quelle, par exemple {{var1}}.

Explication pour params

Pour un contenu de modèle avec des champs de variables personnalisés, attribuez les valeurs via params. Par exemple, si le contenu du modèle est Bonjour {{name}}, bienvenue sur EngageLab, vous devez attribuer le paramètre comme suit : params:{"name":"Bob"}.

Exemples de requêtes

1. Envoi de contenu de notification personnalisé :

{ "to": ["+8618701235678"], "template": { "id": "notification-template", "params": { "order": "123456" } } }
              
              {
    "to": ["+8618701235678"],
    "template": {
        "id": "notification-template",
        "params": {
            "order": "123456"
        }
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

2. Envoi de contenu marketing personnalisé :

{ "to": ["+8618701235678"], "template": { "id": "marketing-template", "params": { "name": "EngageLab", "promotion": "30%" } } }
              
              {
    "to": ["+8618701235678"],
    "template": {
        "id": "marketing-template",
        "params": {
            "name": "EngageLab",
            "promotion": "30%"
        }
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Réponse

Le code de statut HTTP est 200 et le corps de la réponse contient les champs suivants :

Champ Type Obligatoire Description
plan_id string Oui ID du plan
total_count integer Oui Nombre de cibles reçues
accepted_count integer Oui Nombre de cibles valides reçues
message_id string Optionnel Renvoyé pour les envois unitaires avec l'ID du message correspondant

Exemple de réussite (cible unique)

{ "plan_id": "1972488990548348928", "total_count": 1, "accepted_count": 1, "message_id": "1972488990804201472" }
              
              {
    "plan_id": "1972488990548348928",
    "total_count": 1,
    "accepted_count": 1,
    "message_id": "1972488990804201472"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de réussite (plusieurs cibles)

{ "plan_id": "1972484198153367552", "total_count": 2, "accepted_count": 2 }
              
              {
    "plan_id": "1972484198153367552",
    "total_count": 2,
    "accepted_count": 2
}

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de réussite (tâche programmée)

{ "plan_id": "1972492618659033088", "total_count": 1, "accepted_count": 1, "schedule_info": { "task_id": 1972492621368553472 } }
              
              {
    "plan_id": "1972492618659033088",
    "total_count": 1,
    "accepted_count": 1,
    "schedule_info": {
        "task_id": 1972492621368553472
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple d'erreur

{ "plan_id": "1972490061974913024", "total_count": 1, "accepted_count": 1, "message": "err xxxx", "code": 1 }
              
              {
    "plan_id": "1972490061974913024",
    "total_count": 1,
    "accepted_count": 1,
    "message": "err xxxx",
    "code": 1
}

            
Afficher ce bloc de code dans la fenêtre flottante

Erreurs d'envoi

Le code de statut HTTP est 200 et le corps de la réponse contient les champs suivants :

Champ Type Description
plan_id string Obligatoire
total_count integer Obligatoire
accepted_count integer Obligatoire
message string Obligatoire
code integer Obligatoire
{ "plan_id": "string", "total_count": 0, "accepted_count": 0, "message": "string", "code": 0 }
              
              {
    "plan_id": "string",
    "total_count": 0,
    "accepted_count": 0,
    "message": "string",
    "code": 0
}

            
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 Échec de l'authentification, jeton incorrect fourni
2002 401 Échec de l'authentification, jeton expiré ou désactivé
2004 403 Pas d'autorisation pour appeler cette API
3001 400 Format de paramètre de requête invalide, vérifiez la conformité au format JSON
3002 400 Paramètres de requête invalides, vérifiez s'ils répondent aux exigences
3003 400 Paramètres de requête invalides, validation métier échouée, voir le champ message pour plus de détails
3004 400 Limite de fréquence dépassée, impossible de renvoyer le même modèle au même utilisateur cible pendant la validité du code de vérification
4001 400 Ressource non trouvée, par exemple utilisation d'un modèle inexistant pour l'envoi du message
5001 400 Échec de l'envoi du code de vérification, voir le champ message pour plus de détails
icon
Contactez-nous