OTP送信

このインターフェースは、EngageLabプラットフォームによって認証コードを生成し、テンプレートで指定されたチャネル戦略に従って配信するために使用されます。

EngageLabプラットフォームを使用せずに認証コードを自分で生成したい場合は、EngageLab OTPカスタム認証コード配信インターフェースを呼び出すことができます。

エンドポイント

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

認証

HTTP基本認証を使用します。HTTPヘッダーにAuthorizationヘッダーを追加してください:

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

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

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

リクエスト例

リクエストヘッダー

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

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

リクエストボディ

{ "to": "+8618701235678", "template":{ "id":"test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
    "to": "+8618701235678",
    "template":{
      "id":"test-template-1",
      "language": "default",
        "params": {
        "key1": "value1",
        "key2": "value2"
        }
    }
}

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

リクエストパラメータ

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

パラメータ タイプ 必須 説明
to String 必須 送信先の受信者、電話番号またはメールアドレス、例:+8613800138000, support@engagelab.com
template JSONオブジェクト 必須 テンプレート情報、以下に二次パラメータを記載
|_ id String 必須 テンプレートID
|_ language String 任意 テンプレートの言語、以下の言語をサポート:
default デフォルト言語
zh_CN 簡体字中国語
zh_HK 繁体字中国語
en 英語
ja 日本語
th タイ語
es スペイン語
指定がない場合はデフォルト言語(default)が使用されます
|_ params JSONオブジェクト 任意 カスタムテンプレート変数のキーと値
テンプレート作成時にカスタム変数を設定している場合は、ここで値を指定してください。指定がない場合は、変数キーがそのまま送信されます(例:{{var}})

paramsの説明

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

レスポンスパラメータ

成功レスポンス

フィールド タイプ 必須 説明
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コード 説明
1000 500 内部エラー
2001 401 認証失敗、トークンが正しくありません
2002 401 認証失敗、トークンが期限切れまたは無効化されています
2004 403 このAPIを呼び出す権限がありません
3001 400 無効なリクエストパラメータ形式、内容が有効なJSONか確認してください
3002 400 無効なリクエストパラメータ、パラメータが要件を満たしているか確認してください
3003 400 無効なリクエストパラメータ、ビジネス検証に失敗、エラー詳細はmessageフィールドを参照
3004 400 レート制限を超過、同じテンプレートと対象ユーザーに対して認証コードの有効期間内に再送信できません
4001 400 関連リソースが見つかりません(例:存在しないテンプレートを使用してテンプレートメッセージを配信しようとした場合)
5001 400 認証コードメッセージの配信に失敗、エラー詳細はmessageフィールドを参照
icon
お問い合わせ