Interface de l'API de modèles

Créer un modèle

Endpoint

POST https://otp.api.engagelab.cc/v1/template-configs

Authentification

Utilisez l’authentification HTTP Basic pour l’authentification, et ajoutez 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 : base64(dev_key:dev_secret)

Exemple de requête

En-tête de 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 requête

{ "template_id": "test-template-1", "description": "测试模版1", "send_channel_strategy": "whatsapp|sms", "brand_name": "品牌名称", "verify_code_config": { "verify_code_type": 1, "verify_code_len": 6, "verify_code_ttl": 1 }, "whatsapp_config": { "template_type": 1, "template_default_config": { "contain_security": false, "contain_expire": false } }, "sms_config": { "template_type": 2, "template_default_config": { "contain_security": false, "contain_expire": false }, "template_custom_config": { "custom_sub_type": "authentication", "custom_content": "xxx", "custom_country_codes": "HK,PH" } }, "voice_config": { "template_type": 1, "template_default_config": { "contain_security": false, "contain_expire": false } }, "email_config": { "template_name": "email模板名称", "template_custom_configs": [{ "language": "default", "pre_from_name": "test", "pre_from_mail": "test@test.com", "pre_subject": "test", "template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}", "pre_param_map": { "self": "这里是self变量预设值" } }] }, "pwa_config": { "pwa_platform": "xx", "pwa_code": "xx" } }
              
              {
    "template_id": "test-template-1",       
    "description": "测试模版1",                 
    "send_channel_strategy": "whatsapp|sms",    
    "brand_name": "品牌名称",                   
    "verify_code_config": {                     
        "verify_code_type": 1,                  
        "verify_code_len": 6,                   
        "verify_code_ttl": 1                    
    },
    "whatsapp_config": {                        
        "template_type": 1,                      
        "template_default_config": {            
            "contain_security": false,              
            "contain_expire": false                 
        }
    },
    "sms_config": {                             
        "template_type": 2,                     
        "template_default_config": {            
            "contain_security": false,              
            "contain_expire": false                 
        },
        "template_custom_config": {             
            "custom_sub_type": "authentication",    
            "custom_content": "xxx",                
            "custom_country_codes": "HK,PH"         
        }
    },
    "voice_config": {                           
        "template_type": 1,                      
        "template_default_config": {            
            "contain_security": false,              
            "contain_expire": false                 
        }
    },
    "email_config": {                           
        "template_name": "email模板名称",                     
        "template_custom_configs": [{
            "language": "default",              
            "pre_from_name": "test",            
            "pre_from_mail": "test@test.com",   
            "pre_subject": "test",              
            "template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}",    
            "pre_param_map": {                  
                "self": "这里是self变量预设值"
            }
        }]
    },
    "pwa_config": {                             
        "pwa_platform": "xx",                   
        "pwa_code": "xx"                        
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Paramètres de requête

L’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 Option Description
template_id String Required ID de modèle personnalisé, qui doit être unique, limité à 128 caractères
description String Optional Description du modèle, limitée à 255 caractères
send_channel_strategy String Required Stratégie du modèle. Un seul canal peut être whatsapp, sms, email ou voice. Plusieurs canaux sont séparés par `
brand_name String Optional Identifiant de marque. Dans certains styles de modèles avec signature de marque, il remplace la variable de signature de marque. Sa longueur doit être comprise entre 2 et 10 caractères
verify_code_config Object Conditionally required Configuration du code de vérification. Requise lorsque le modèle inclut un type de code de vérification
verify_code_config.verify_code_type Integer Required Type de code de vérification, plage [1,7] : 1 - numérique / 2 - lettres minuscules / 4 - lettres majuscules. Les valeurs peuvent être combinées (par exemple, 3 signifie chiffres + lettres minuscules)
verify_code_config.verify_code_len Integer Required Longueur du code de vérification, plage [4,10]
verify_code_config.verify_code_ttl Integer Required Période de validité du code de vérification en minutes, plage [1,10]. Lorsque la stratégie inclut whatsapp, seules les valeurs 1, 5 ou 10 sont autorisées
whatsapp_config Object Conditionally required Configuration de la stratégie WhatsApp. Requise lorsque la stratégie d’envoi inclut whatsapp
whatsapp_config.template_type Integer Required Type de modèle WhatsApp. Actuellement, seul le modèle par défaut est pris en charge ; la valeur est donc fixée à 1
whatsapp_config.template_default_config Object Conditionally required Configuration du modèle WhatsApp par défaut. Requise lorsque le type de modèle WhatsApp est le modèle par défaut
sms_config Object Conditionally required Configuration de la stratégie SMS. Requise lorsque la stratégie d’envoi inclut sms
sms_config.template_type Integer Required Type de modèle SMS : 1 - modèle par défaut / 2 - modèle personnalisé
sms_config.template_default_config Object Conditionally required Configuration du modèle SMS par défaut. Requise lorsque le type de modèle SMS est le modèle par défaut
sms_config.template_custom_config Object Conditionally required Configuration du modèle SMS personnalisé. Requise lorsque le type de modèle SMS est un modèle personnalisé
sms_config.template_custom_config.custom_sub_type String Required Type de modèle personnalisé : authentication - code de vérification / marketing - marketing / utility - notification
sms_config.template_custom_config.custom_content String Required Contenu du modèle personnalisé. Pour le type authentication, il doit inclure la variable {{code}}
sms_config.template_custom_config.custom_country_codes String Optional Codes pays/régions cibles, séparés par des virgules, utilisés à titre indicatif lors de la révision du modèle
voice_config Object Conditionally required Configuration de la stratégie vocale. Requise lorsque la stratégie d’envoi inclut voice
voice_config.template_type Integer Required Type de modèle vocal. Actuellement, seul le modèle par défaut est pris en charge ; la valeur est donc fixée à 1
voice_config.template_default_config Object Conditionally required Configuration du modèle vocal par défaut. Requise lorsque le type de modèle vocal est le modèle par défaut
email_config Object Conditionally required Configuration de la stratégie e-mail. Requise lorsque la stratégie d’envoi inclut email
email_config.template_name String Required Nom du modèle d’e-mail
email_config.template_custom_configs Array Conditionally required Configurations de modèles d’e-mail personnalisés. Requises lorsque le type de modèle d’e-mail est un modèle personnalisé. La configuration multilingue est prise en charge
email_config.template_custom_configs.language String Required Langue, où default est la langue par défaut. Un contenu de modèle différent peut être associé selon le paramètre de langue lors de l’envoi du message
email_config.template_custom_configs.pre_from_name String Optional Nom d’expéditeur prédéfini
email_config.template_custom_configs.pre_from_mail String Required Adresse e-mail d’expéditeur prédéfinie
email_config.template_custom_configs.pre_subject String Required Objet d’e-mail prédéfini
email_config.template_custom_configs.template_content String Required Contenu de l’e-mail. Le HTML est pris en charge. Les variables doivent être entourées de {{}}
email_config.template_custom_configs.pre_param_map Object Optional Valeurs par défaut des variables dans le contenu de l’e-mail, déclarées à l’aide de paires clé-valeur. Les valeurs doivent être des chaînes de caractères
pwa_config Object Optional Configuration liée à la PWA. Actuellement facultative
pwa_config.pwa_platform String Optional Plateforme PWA utilisée. Veuillez contacter le support technique pour connaître la valeur exacte
pwa_config.pwa_code String Optional Code utilisé au sein de la plateforme PWA

Paramètres de réponse

Field Type Option Description
code Integer Required Code d’erreur. 0 indique une réussite ; les autres valeurs indiquent un échec
message String Required Message de réponse

Réponse réussie

{ "code": 0, "message": "success" }
              
              {
    "code": 0,
    "message": "success"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Réponse en échec

{ "code": 3003, "message": "not contains any channel config" }
              
              {
    "code": 3003,
    "message": "not contains any channel config"
}

            
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 corps de requête est un JSON valide conforme au format des paramètres
3002 400 Paramètres de requête invalides. Veuillez vérifier si les paramètres de requête répondent aux exigences
3003 400 Erreur de paramètre au niveau métier. Veuillez vérifier la description dans le champ message renvoyé

Supprimer un modèle

Endpoint

DELETE /v1/template-configs/{templateId}

Authentification

Utilisez l’authentification HTTP Basic pour l’authentification, et ajoutez 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 : base64(dev_key:dev_secret)

Exemple de requête

En-tête de requête

DELETE /v1/template-configs/{templateId} HTTP/1.1 Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              DELETE /v1/template-configs/{templateId} HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Afficher ce bloc de code dans la fenêtre flottante

Corps de requête

Aucun

Paramètres de requête

{templateId} dans l’URL indique l’ID du modèle à supprimer, défini par l’appelant lors de l’utilisation de l’API Create Template.

Paramètres de réponse

Field Type Option Description
code Integer Required Code d’erreur. 0 indique une réussite ; les autres valeurs indiquent un échec
message String Required Message de réponse

Réponse réussie

{ "code": 0, "message": "success" }
              
              {
    "code": 0,
    "message": "success"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Réponse en échec

{ "code": 4001, "message": "config not exist" }
              
              {
    "code": 4001,
    "message": "config not exist"
}

            
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 corps de requête est un JSON valide conforme au format des paramètres
3002 400 Paramètres de requête invalides. Veuillez vérifier si les paramètres de requête répondent aux exigences
4001 400 Le modèle n’existe pas

Obtenir la liste complète des modèles

Cette API ne prend actuellement pas en charge la pagination. Elle renvoie une liste récapitulative de tous les modèles et exclut principalement le contenu spécifique. Si vous avez besoin du contenu détaillé, veuillez utiliser l’API de détail.

Endpoint

GET /v1/template-configs

Authentification

Utilisez l’authentification HTTP Basic pour l’authentification, et ajoutez 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 : base64(dev_key:dev_secret)

Exemple de requête

En-tête de requête

GET /v1/template-configs HTTP/1.1 Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              GET /v1/template-configs HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Afficher ce bloc de code dans la fenêtre flottante

Corps de requête

Aucun

Paramètres de requête

Aucun

Réponse réussie

[{ "template_id": "test-template-1", "description": "测试模版1", "send_channel_strategy": "whatsapp|sms", "brand_name": "品牌名称", "verify_code_config": { "verify_code_type": 1, "verify_code_len": 6, "verify_code_ttl": 1 }, "whatsapp_config": { "template_type": 1 }, "sms_config": { "template_type": 2, "template_parts": 1 }, "voice_config": { "template_type": 1 }, "email_config": { "template_name": "email模板名称" }, "pwa_config": { "pwa_platform": "xx", "pwa_code": "xx" }, "created_time": 1234567890, "status": 1, "audit_remark": "xx" }]
              
              [{
    "template_id": "test-template-1",
    "description": "测试模版1",
    "send_channel_strategy": "whatsapp|sms",
    "brand_name": "品牌名称",
    "verify_code_config": {
        "verify_code_type": 1,
        "verify_code_len": 6,
        "verify_code_ttl": 1
    },
    "whatsapp_config": {
        "template_type": 1
    },
    "sms_config": {
        "template_type": 2,
        "template_parts": 1
    },
    "voice_config": {
        "template_type": 1
    },
    "email_config": {
        "template_name": "email模板名称"
    },
    "pwa_config": {
        "pwa_platform": "xx",
        "pwa_code": "xx"
    },
    "created_time": 1234567890,
    "status": 1,
    "audit_remark": "xx"
}]

            
Afficher ce bloc de code dans la fenêtre flottante

Réponse en échec

{ "code": 4001, "message": "config not exist" }
              
              {
    "code": 4001,
    "message": "config not exist"
}

            
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
4001 400 Le modèle n’existe pas

Obtenir les détails du modèle

Endpoint

GET /v1/template-configs/{templateId}

Authentification

Utilisez l’authentification HTTP Basic pour l’authentification, et ajoutez 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 : base64(dev_key:dev_secret)

Exemple de requête

En-tête de requête

GET /v1/template-configs/custom-template-id HTTP/1.1 Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              GET /v1/template-configs/custom-template-id HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Afficher ce bloc de code dans la fenêtre flottante

Corps de requête

Aucun

Paramètres de requête

{templateId} dans l’URL indique l’ID du modèle à récupérer, défini par l’appelant lors de l’utilisation de l’API Create Template.

Réponse réussie

{ "template_id": "test-template-1", "description": "测试模版1", "send_channel_strategy": "whatsapp|sms", "brand_name": "品牌名称", "verify_code_config": { "verify_code_type": 1, "verify_code_len": 6, "verify_code_ttl": 1 }, "whatsapp_config": { "template_type": 1 }, "sms_config": { "template_type": 2, "template_parts": 1, "template_custom_config": { "custom_sub_type": "authentication", "custom_content": "xxx" } }, "voice_config": { "template_type": 1 }, "email_config": { "template_name": "email模板名称", "template_custom_configs": [{ "language": "default", "pre_from_name": "test", "pre_from_mail": "test@test.com", "pre_subject": "test", "template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}", "pre_param_map": { "self": "这里是self变量预设值" } }] }, "pwa_config": { "pwa_platform": "xx", "pwa_code": "xx" }, "created_time": 1234567890, "status": 1, "audit_remark": "xx" }
              
              {
    "template_id": "test-template-1",
    "description": "测试模版1",
    "send_channel_strategy": "whatsapp|sms",
    "brand_name": "品牌名称",
    "verify_code_config": {
        "verify_code_type": 1,
        "verify_code_len": 6,
        "verify_code_ttl": 1
    },
    "whatsapp_config": {
        "template_type": 1
    },
    "sms_config": {
        "template_type": 2,
        "template_parts": 1,
        "template_custom_config": {
            "custom_sub_type": "authentication",
            "custom_content": "xxx"
        }
    },
    "voice_config": {
        "template_type": 1
    },
    "email_config": {
        "template_name": "email模板名称",
        "template_custom_configs": [{
            "language": "default",
            "pre_from_name": "test",
            "pre_from_mail": "test@test.com",
            "pre_subject": "test",
            "template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}",
            "pre_param_map": {
                "self": "这里是self变量预设值"
            }
        }]
    },
    "pwa_config": {
        "pwa_platform": "xx",
        "pwa_code": "xx"
    },
    "created_time": 1234567890,
    "status": 1,
    "audit_remark": "xx"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Réponse en échec

{ "code": 4001, "message": "config not exist" }
              
              {
    "code": 4001,
    "message": "config not exist"
}

            
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
4001 400 Le modèle n’existe pas
Icon Solid Transparent White Qiyu
Contactez-nous