SMS送信

通知の送信やマーケティングSMSを自動化したい場合は、このAPIを呼び出せます。SMSテンプレートIDと送信対象を指定すると、システムがテンプレート内容に基づいてSMSメッセージを自動的に送信します。

プラットフォーム設定のヒント 呼び出す前に、EngageLab SMSコンソールで次の設定を完了する必要があります。

  • SMSテンプレート設定:APIを呼び出す前に、テンプレート管理でSMSテンプレートをカスタマイズして送信してください。テンプレートIDを使用するには、テンプレートが審査を通過している必要があります。
  • API Key設定API KeyでAPI Basic認証用のキーを作成します。

リクエストURL

POST https://smsapi.engagelab.com/v1/messages

呼び出し認証

APIリクエストの認証方法については、呼び出し認証を参照してください。

リクエスト例

リクエストヘッダー

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 を含める必要があります。

パラメータ 区分 説明
to Array[String] 必須 送信対象の携帯番号のリスト。例:["923700056581"]
plan_name String 任意 プラン名。未入力の場合は "-" がデフォルトになります
schedule_time Integer 任意 予約送信の時刻。予約送信でない場合はこのパラメータを渡さないでください。Unixタイムスタンプ(「秒」単位)。
検証ルール:正の数であること。現在時刻より厳密に3分以上後であること。現在時刻から30日を超えないこと。
template JSON Object 必須 テンプレート情報。ネストされたパラメータは以下を参照
|_ id String 必須 テンプレートID
|_ params JSON Object 必須 カスタムテンプレート変数キーの値
テンプレート作成時に変数をカスタマイズした場合は、ここでその値を渡します。渡さない場合は、{{var1}} のように変数キーがそのまま配信されます
custom_args JSON Object 任意 カスタムパラメータ

params の説明

テンプレート作成時にテンプレート内容に含めたカスタム変数フィールドは、params を介して値を割り当てる必要があります。たとえば、テンプレート内容が Hi {{name}}, welcome to EngageLab の場合、params: {"name": "Bob"} というパラメータを割り当てる必要があります。

その他のリクエスト例

1. カスタム通知内容の送信:

{ "to": ["+6591234567"], "template": { "id": "notification-template", "params": { "order": "123456" } } }
              
              {
    "to": ["+6591234567"],
    "template": {
        "id": "notification-template",
        "params": {
            "order": "123456"
        }
    }
}

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

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

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

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

レスポンスパラメータ

成功レスポンス

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

フィールド 区分 説明
plan_id String 必須 プランID
total_count Integer 必須 受信した対象数
accepted_count Integer 必須 受信した有効な対象数
message_id String 任意 単一送信時に返され、対応するmessage_idを示す
schedule_info JSON Object 任意 予約タスクの関連情報(予約送信時のみ返される)
|_ task_id Integer 必須 予約タスク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
    }
}

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

エラーレスポンス

HTTPステータスコードは200(一部の例外的なケース)または4xx/5xxで、レスポンスボディには次のフィールドが含まれます。

フィールド 区分 説明
plan_id String 必須 プランID
total_count Integer 必須 受信した対象数
accepted_count Integer 必須 受信した有効な対象数
code Integer 必須 エラーコード。詳細はエラーコードの説明を参照
message String 必須 エラーの詳細

エラー例

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