SMS送信
通知の送信やマーケティングSMSを自動化したい場合は、このAPIを呼び出せます。SMSテンプレートIDと送信対象を指定すると、システムがテンプレート内容に基づいてSMSメッセージを自動的に送信します。
プラットフォーム設定のヒント 呼び出す前に、EngageLab SMSコンソールで次の設定を完了する必要があります。
リクエスト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フィールドのエラー説明を参照してください。 |










