カスタムメッセージ配信

OTP プラットフォームですでにカスタムテンプレートコンテンツを作成している場合は、この API を呼び出してカスタムメッセージコンテンツを送信できます。

Endpoint

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

Authentication

認証には HTTP Basic Authentication を使用し、HTTP ヘッダーに Authorization を追加します。

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

            
このコードブロックはフローティングウィンドウ内に表示されます

base64_auth_string の生成アルゴリズムは次のとおりです:base64(dev_key:dev_secret)

Request Format

Request Headers

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

            
このコードブロックはフローティングウィンドウ内に表示されます

Request Body

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

            
このコードブロックはフローティングウィンドウ内に表示されます

Request Parameters

リクエストオブジェクトは JSON 形式で表されるため、リクエストヘッダーには Content-Type: application/json を含める必要があります。

Parameter Type Required Description
to String Required 配信先。携帯電話番号またはメールアドレス。例:+6598765432 または support@engagelab.com
template JSON Object Required テンプレート情報。以下のネストされたパラメータを参照してください
|_ id String Required テンプレート ID
|_ params JSON Object Optional テンプレートパラメータ
_ |_ code String Optional テンプレートタイプが認証コードの場合は必須
_ |_ var String Optional カスタムテンプレート変数キーの値。テンプレート作成時にカスタム変数を定義している場合は、ここで値を設定します。指定しない場合、変数キーは {{var1}} のようにそのまま配信されます

params に関する注意事項

  1. {{brand_name}}{{ttl}}{{pwa_url}} などのプリセットテンプレート変数は渡す必要はありません。システムが、テンプレート作成時に指定された内容に自動的に置き換えます。
  2. テンプレートタイプが認証コードの場合は、{{code}} 変数を渡す必要があります。渡さない場合はエラーが返されます。
  3. テンプレートコンテンツに、テンプレート作成時に定義したカスタム変数フィールドが含まれている場合は、それらについても params を通じて値を設定する必要があります。たとえば、テンプレートコンテンツが Hi {{name}}, your verify code is {{code}} の場合、params: {"name":"Bob"} というパラメータを設定する必要があります。

Request Examples

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

            
このコードブロックはフローティングウィンドウ内に表示されます

Response Parameters

Successful Response

Field Type Required Description
message_id String Required メッセージを一意に識別するメッセージ ID
send_channel String Required 現在配信に使用されているチャネルを示します。指定可能な値:whatsappsmsemailvoice
{ "message_id": "1725407449772531712", "send_channel": "sms" }
              
              {
  "message_id": "1725407449772531712",
  "send_channel": "sms"
}

            
このコードブロックはフローティングウィンドウ内に表示されます

返された send_channel の値は、メッセージの最終的な配信に使用されたチャネルを表すものではない点にご注意ください。これは、現在使用されているチャネルのみを示します。たとえば、テンプレートで設定された戦略において、WhatsApp 配信に失敗した場合に SMS チャネルで自動再試行するよう指定されている場合、API レスポンスは whatsapp を返します。その後、一定時間後に配信失敗が検出されると、システムは SMS チャネルで送信します。

Failed Response

HTTP ステータスコードは 4xx または 5xx であり、レスポンスボディには次のフィールドが含まれます。

Field Type Required Description
code int Required エラーコード。詳細は Error Codes を参照してください
message String Required エラーの詳細
{ "code": 5001, "message": "sms send fail" }
              
              {
  "code": 5001,
  "message": "sms send fail"
}

            
このコードブロックはフローティングウィンドウ内に表示されます

Error Codes

Error Code HTTP Code Description
1000 500 内部エラー
2001 401 認証に失敗しました。有効なトークンが提供されていません
2002 401 認証に失敗しました。トークンの有効期限が切れているか、無効化されています
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
お問い合わせ