カスタムOTPコード配信

EngageLabプラットフォームで認証コードを生成するのではなく、お客様ご自身で生成した認証コードを送信したい場合は、このAPIを呼び出すことができます。

このAPIは、事前に生成された認証コードを送信するための専用APIであり、認証コード自体を生成する機能はありません。また、認証コード送信後に、そのコードを検証するための検証APIを呼び出す必要はありません。

EngageLabプラットフォームで認証コードを生成させたい場合は、EngageLab OTP Verification Code Delivery APIをご利用ください。

Endpoint

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

Authentication

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

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

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

上記のbase64_auth_stringは、次のアルゴリズムで生成します:base64(dev_key:dev_secret)

Request Example

Request Header

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

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

Request Body

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

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

Request Parameters

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

Parameter Type Required Description
to String Required 配信先の電話番号またはメールアドレス。例:+6598765432 または support@engagelab.com
code String Required 送信するカスタム認証コード
template JSON Object Required テンプレート情報。以下の第2階層パラメータを参照してください
|_ id String Required テンプレートID
|_ language String Optional テンプレートの言語。サポート言語は以下のとおりです:
default デフォルト言語
zh_CN 簡体字中国語
zh_HK 繁体字中国語
en 英語
ja 日本語
th タイ語
es スペイン語
指定しない場合のデフォルト値はdefault(デフォルト言語)です。
|_ params JSON Object Optional カスタムテンプレート変数キーに対応する値です。テンプレート作成時にカスタム変数を定義している場合は、ここで値を設定してください。指定しない場合、変数キーはそのまま送信されます。例:{{var}}

paramsの説明

  1. from_idなどのプリセットテンプレートフィールドについて、param_varsフィールドの値が指定されていない場合、メッセージ送信時にはテンプレート内であらかじめ設定されたfrom_idが使用されます。
  2. param_varsフィールドの値が指定されている場合、たとえばparam_vars:{"from_id":"12345"}のように設定すると、メッセージ送信時にテンプレートのfrom_id12345に置き換えられます。
  3. テンプレート作成時に設定したテンプレートコンテンツ内のカスタム変数フィールドにも、param_varsを通じて値を割り当てます。たとえば、テンプレートコンテンツがHi {{name}}, your verify code is {{code}}である場合、割り当てパラメータparam_vars:{"name":"Bob"}が必要です。

Response Parameters

Successful Response

Field Type Required Description
message_id String Required メッセージID。メッセージを一意に識別します
send_channel String Required 現在の配信チャネル。指定可能な値:whatsapp/sms/email/voice
{ "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
お問い合わせ