Logo Site EngageLab Mark Colored Transparent文件
搜尋

自訂驗證碼下發

如果您希望自行生成驗證碼而不透過 EngageLab 平台生成,可以呼叫本 API。

本 API 專用於發送預先生成的驗證碼,不會自行生成驗證碼。發送驗證碼後,無須呼叫驗證 API 進行驗證。

如果您希望 EngageLab 平台生成驗證碼,可以呼叫 EngageLab OTP 驗證碼下發 API。

呼叫網址

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

呼叫驗證

請參考 呼叫驗證 了解如何進行 API 驗證。

請求範例

請求標頭

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

            
此代碼塊在浮窗中顯示

請求主體

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

            
此代碼塊在浮窗中顯示

請求參數

一個請求物件以 JSON 格式表示,因此請求標頭需要帶 Content-Type: application/json。

參數 類型 選項 說明
to String 必填 發送目標,手機號碼或電子郵件地址,+6598765432,support@engagelab.com
code String 必填 要發送的自訂驗證碼
template JSON Object 必填 範本資訊,所含二級參數見下方
|_ id String 必填 範本 ID
|_ language String 選填 範本語言,支援以下幾種語言:
default 預設語言
zh_CN 簡體中文
zh_HK 繁體中文
en 英語
ja 日語
th 泰語
es 西班牙語
若不傳則預設為 default(預設語言)
|_ params JSON Object 選填 自訂範本變數 Key 的取值
如果您在建立範本時自訂了變數,則在此為它們傳值,若不傳,則將直接以變數 Key 下發,如{{var}}

關於 params 的說明

  1. 對於範本有預設的欄位如 from_id,若不傳 params 欄位值,則訊息下發時使用範本預設的 from_id;
  2. 若傳遞了 params 欄位值,如 params:{"from_id":"12345"},則訊息下發時,範本的 from_id 將會替換成 12345;
  3. 同時對於建立範本時範本內容有自訂的變數欄位,也都透過 params 進行賦值,如範本內容 Hi {{name}}, your verify code is {{code}},此時需要賦值參數 params:{"name":"Bob"}
  4. Email 管道特殊變數:對於 Email 管道,支援透過 params 動態覆蓋郵件主旨(subject)、寄件者名稱(from_name)、寄件者信箱(from_mail)等。詳細的高階用法請參考 建立範本 - Email 範本變數高階用法

回傳參數

成功返回

欄位 類型 選項 描述
message_id String 必填 訊息 ID,唯一標識某一條訊息
send_channel String 必填 表示當前下發的管道,取值有 whatsapp/sms/email/voice
{ "message_id": "1725407449772531712", "send_channel": "sms" }
              
              {
    "message_id": "1725407449772531712",
    "send_channel": "sms"
}

            
此代碼塊在浮窗中顯示

注意,返回的 **send_channel** 值不代表最終下發到使用者的管道,僅代表現階段使用的管道;如範本配置的策略中配置了 WhatsApp 管道送達失敗然後自動補發 SMS 管道,則 API 返回將返回 whatsapp 值,一定時間後感知到送達失敗,系統將採用 SMS 管道發送

失敗返回

HTTP 狀態碼為 4xx 或者 5xx,回應主體包含欄位如下:

欄位 類型 選項 描述
code int 必填 錯誤碼,詳見錯誤碼說明
message String 必填 錯誤詳情
{ "code": 5001, "message": "sms send fail" }
              
              {
    "code": 5001,
    "message": "sms send fail"
}

            
此代碼塊在浮窗中顯示

錯誤碼

錯誤碼 http code 說明
1000 500 內部錯誤
2001 401 驗證失敗,未攜帶正確的 token
2002 401 驗證失敗,token 已過期或已被停用
2004 403 無呼叫此 API 的權限
3001 400 請求參數格式無效,請檢查是否符合參數格式的 JSON 內容
3002 400 請求參數有誤,請檢查請求參數是否符合要求
3003 400 請求參數有誤,相關業務驗證失敗,詳情參考 message 欄位的錯誤描述
3004 400 超出頻率限制,針對同一範本以及同一目標使用者,在驗證碼的有效期限內無法再次下發
4001 400 相關資源不存在,如範本訊息下發時使用了不存在的範本
5001 400 發送失敗(通用/其他)
5011 400 手機號碼格式無效
5012 400 目標無法送達
5013 400 號碼被加入黑名單
5014 400 內容不符合規範
5015 400 訊息被攔截/拒絕
5016 400 發送內部錯誤
5017 400 無中國地區發送權限
5018 400 手機故障(關機/停機)
5019 400 使用者已退訂
5020 400 號碼未註冊/空號
Icon Solid Transparent White Qiyu
聯繫銷售