Logo Site EngageLab Mark Colored Transparent文件
搜尋

自訂訊息發送

如果您已在 OTP 平台建立自訂範本內容,即可呼叫此介面發送自訂訊息內容。

呼叫位址

POST https://otp.api.engagelab.cc/v1/custom-messages

呼叫驗證

採用 HTTP 基本驗證 方式,在 HTTP Header(標頭)中加入 Authorization:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

            
此代碼塊在浮窗中顯示

上述 base64_auth_string 的產生演算法為:base64(dev_key:dev_secret)

請求格式

請求標頭

POST /v1/custom-messages HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/custom-messages  HTTP/1.1  
Content-Type: application/json  
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
此代碼塊在浮窗中顯示

請求主體

{ "to": "+6591234567", "template":{ "id":"test-template-1", "params": { "code": "codevalue", "var1":"value1" } } }
              
              {
    "to": "+6591234567", 
    "template":{
      "id":"test-template-1",
      "params": {
        "code": "codevalue",
        "var1":"value1"
        }
    }
}

            
此代碼塊在浮窗中顯示

請求參數

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

參數 類型 選項 說明
to String 必填 發送目標,手機號碼或電子郵件地址,例如 +6598765432、support@engagelab.com
template JSON Object 必填 範本資訊,包含的二級參數請見下方
|_ id String 必填 範本 ID
|_ params JSON Object 可選 範本參數
_ |_ code String 可選 當範本類型為驗證碼時,此欄位必填。
_ |_ var String 可選 自訂範本變數 Key 的值。若您在建立範本時自訂了變數,則可在此傳入對應值;若未傳入,則會直接以變數 Key 發送,例如 {{var1}}

關於params的說明

  1. 對於 {{brand_name}}、{{ttl}}、{{pwa_url}} 等範本預設變數,不需要傳遞,系統會自動替換為建立範本時指定的內容;
  2. 如果範本類型為驗證碼,則必須傳遞 {{code}} 變數,否則會報錯;
  3. 此外,對於建立範本時在範本內容中自訂的變數欄位,也都需透過 params 進行賦值。例如範本內容為 Hi {{name}}, your verify code is {{code}},此時需傳入參數 params:{"name":"Bob"}

請求範例

1. 發送自訂驗證碼:

{ "to": "+6591234567", "template":{ "id":"code-template", "params": { "code": "123456" } } }
              
              {
    "to": "+6591234567", 
    "template":{
      "id":"code-template",
      "params": {
        "code": "123456"        
        }
    }
}

            
此代碼塊在浮窗中顯示

2. 發送自訂通知內容:

{ "to": "+6591234567", "template": { "id": "notification-template", "params": { "order": "123456" } } }
              
              {
    "to": "+6591234567",
    "template": {
        "id": "notification-template",
        "params": {
            "order": "123456"
        }
    }
}

            
此代碼塊在浮窗中顯示

3. 發送自訂行銷內容:

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

            
此代碼塊在浮窗中顯示

回傳參數

成功回傳

欄位 類型 選項 描述
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 通道,則介面回傳將會是 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
聯繫銷售