API SMS 送信

通知およびマーケティングSMSをEngageLabプラットフォームを介さずに自動送信したい場合、このAPIを呼び出すことができます。SMSテンプレートIDと送信対象を指定すると、システムがテンプレート内容に基づいて自動的にSMSを送信します。

プラットフォーム設定

APIを呼び出す前に、EngageLab SMSコンソールで以下の設定を完了する必要があります:

SMSテンプレート設定: APIを呼び出す前に、テンプレート管理ページにアクセスし、SMSテンプレートをカスタマイズして提出してください。テンプレートは承認され、テンプレートIDを取得した後にのみ使用可能です。

APIキー設定: APIキー管理ページにアクセスして、API基本認証キーを作成してください。

呼び出しプロセス

SMS送信APIを呼び出すには、以下のプロセスを参照してください。ご不明な点がある場合は、カスタマーサービスにお問い合わせください。

呼び出しURL

POST https://smsapi.engagelab.com/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": [ "923700056581" ], "template": { "id": 1233, "params": { "content": "Verification code: 039487. This code will expire in 5 minutes. You are attempting to create your account." } } }
              
              {
    "to": [
        "923700056581"
    ],
    "template": {
        "id": 1233,
        "params": {
            "content": "Verification code: 039487. This code will expire in 5 minutes. You are attempting to create your account."
        }
    }
}

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

リクエストパラメーター

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

名前 場所 タイプ 必須 説明 備考
Authorization ヘッダー array[string] いいえ
to ボディ array[string] はい ターゲットIDリスト 対象の電話番号
plan_name ボディ string いいえ プラン名 オプション、指定されない場合は"-"がデフォルト
schedule_time ボディ integer いいえ スケジュール時間 スケジュール送信でない場合は不要、タイムスタンプ
template ボディ object はい
id ボディ string はい
params ボディ object はい
custom_args ボディ object いいえ カスタムパラメーター

テンプレート作成時にカスタム変数がある場合は、ここで値を渡します。渡されない場合、変数キーがそのまま送信されます(例: {{var1}})。

paramsの説明

カスタム変数フィールドを含むテンプレートコンテンツの場合、paramsを通じて値を割り当てます。例えば、テンプレートコンテンツがHi {{name}}, welcome to EngageLabの場合、パラメーターをparams:{"name":"Bob"}として割り当てる必要があります。

リクエスト例

1. カスタム通知コンテンツの送信:

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

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

2. カスタムマーケティングコンテンツの送信:

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

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

レスポンス

HTTPステータスコードは200で、レスポンスボディには以下のフィールドが含まれます:

フィールド タイプ 必須 説明
plan_id string 必須 プランID
total_count integer 必須 受信したターゲット数
accepted_count integer 必須 有効なターゲット数
message_id string オプション 単一送信の場合、対応するメッセージIDが返されます

成功例(単一ターゲット)

{ "plan_id": "1972488990548348928", "total_count": 1, "accepted_count": 1, "message_id": "1972488990804201472" }
              
              {
    "plan_id": "1972488990548348928",
    "total_count": 1,
    "accepted_count": 1,
    "message_id": "1972488990804201472"
}

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

成功例(複数ターゲット)

{ "plan_id": "1972484198153367552", "total_count": 2, "accepted_count": 2 }
              
              {
    "plan_id": "1972484198153367552",
    "total_count": 2,
    "accepted_count": 2
}

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

成功例(スケジュールタスク)

{ "plan_id": "1972492618659033088", "total_count": 1, "accepted_count": 1, "schedule_info": { "task_id": 1972492621368553472 } }
              
              {
    "plan_id": "1972492618659033088",
    "total_count": 1,
    "accepted_count": 1,
    "schedule_info": {
        "task_id": 1972492621368553472
    }
}

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

エラー例

{ "plan_id": "1972490061974913024", "total_count": 1, "accepted_count": 1, "message": "err xxxx", "code": 1 }
              
              {
    "plan_id": "1972490061974913024",
    "total_count": 1,
    "accepted_count": 1,
    "message": "err xxxx",
    "code": 1
}

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

送信エラー

HTTPステータスコードは200で、レスポンスボディには以下のフィールドが含まれます:

フィールド タイプ 説明
plan_id string 必須
total_count integer 必須
accepted_count integer 必須
message string 必須
code integer 必須
{ "plan_id": "string", "total_count": 0, "accepted_count": 0, "message": "string", "code": 0 }e": 0 }
              
              {
    "plan_id": "string",
    "total_count": 0,
    "accepted_count": 0,
    "message": "string",
    "code": 0
}e": 0
}

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

エラーコード

エラーコード HTTPコード 説明
1000 500 内部エラー
2001 401 認証失敗、トークンが正しくありません
2002 401 認証失敗、トークンが期限切れまたは無効
2004 403 このAPIを呼び出す権限がありません
3001 400 リクエストパラメーター形式が無効、JSON形式に準拠しているか確認してください
3002 400 リクエストパラメーターが無効、要件を満たしているか確認してください
3003 400 リクエストパラメーターが無効、ビジネス検証に失敗、エラーメッセージフィールドを参照してください
3004 400 頻度制限を超えています、有効期間内に同じテンプレートを同じターゲットユーザーに再送信できません
4001 400 リソースが見つかりません(例: 存在しないテンプレートを使用してメッセージを送信)
5001 400 認証コードメッセージ送信失敗、エラーメッセージフィールドを参照してください
icon
お問い合わせ