カスタムOTP送信

もしEngageLabプラットフォームを使用せずに自分で認証コードを生成したい場合は、このAPIを呼び出すことができます。

このAPIは事前に生成された認証コードを送信するために特化しており、自身でコードを生成することはありません。認証コードを送信した後、検証のために認証APIを呼び出す必要はありません。

EngageLabプラットフォームで認証コードを生成したい場合は、EngageLab OTP Code Delivery APIを呼び出してください。

エンドポイント

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

認証

検証にはHTTP Basic Authenticationを使用します。HTTPヘッダーにAuthorizationを追加してください:

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

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

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

リクエスト例

リクエストヘッダー

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": "+8618701235678", "code":"398210", "template":{ "id":"test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
    "to": "+8618701235678",
    "code":"398210",
    "template":{
      "id":"test-template-1",
      "language": "default",
        "params": {
        "key1": "value1",
        "key2": "value2"
        }
    }
}

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

リクエストパラメータ

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

パラメータ タイプ 必須 説明
to String 必須 宛先、電話番号またはメールアドレス。例:+8613800138000, 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 任意 カスタムテンプレート変数のキー値。テンプレート作成時にカスタム変数を設定している場合は、その値をここで指定します。指定がない場合、変数キーがそのまま送信されます(例:{{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にフォールバックするように設定されている場合、APIレスポンスは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
お問い合わせ