テンプレート&送信者ID

このドキュメントは、テンプレート設定および署名設定に関連するRESTful APIインターフェースについて説明します。

基本情報

  • ドメイン: https://smsapi.engagelab.com
  • 認証方法: Basic認証(Base64エンコード)
    • フォーマット: Authorization: Basic base64(apikey:apisecret)
    • 例: apikey:apisecretをBase64エンコードし、リクエストヘッダーにAuthorization: Basic <エンコードされた文字列>を追加します。
  • Content-Type: application/json

レスポンス形式

成功レスポンス

成功レスポンスはデータオブジェクトまたは配列を直接返します:

{ "template_id": "123456789", "template_name": "Example Template", ... }
              
              {
  "template_id": "123456789",
  "template_name": "Example Template",
  ...
}

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

またはリスト形式のレスポンス:

[ { "template_id": "123456789", "template_name": "Example Template", ... } ]
              
              [
  {
    "template_id": "123456789",
    "template_name": "Example Template",
    ...
  }
]

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

エラーレスポンス

エラーレスポンス形式:

{ "code": 400, "message": "エラーメッセージの説明" }
              
              {
  "code": 400,
  "message": "エラーメッセージの説明"
}

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

テンプレート設定インターフェース

1. テンプレート設定リストの取得

インターフェース説明: 現在のビジネスにおけるすべてのテンプレート設定リストを取得します。

リクエスト情報:

  • メソッド: GET
  • パス: /v1/template-configs
  • 認証: 必須

リクエストパラメータ: なし

レスポンス例:

[ { "template_id": "123456789", "template_name": "注文通知テンプレート", "template_type": "utility", "template_content": "ご注文 {order_no} は発送されました。到着予定日は {delivery_time} です。", "country_codes": "CN,US", "status": 2, "sign_id": "987654321", "sign_name": "会社名", "sign_position": 2, "sign_status": 2, "audit_remark": "", "created_time": 1699000000, "updated_time": 1699000000 } ]
              
              [
  {
    "template_id": "123456789",
    "template_name": "注文通知テンプレート",
    "template_type": "utility",
    "template_content": "ご注文 {order_no} は発送されました。到着予定日は {delivery_time} です。",
    "country_codes": "CN,US",
    "status": 2,
    "sign_id": "987654321",
    "sign_name": "会社名",
    "sign_position": 2,
    "sign_status": 2,
    "audit_remark": "",
    "created_time": 1699000000,
    "updated_time": 1699000000
  }
]

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

レスポンスフィールドの説明:

フィールド名 タイプ 説明
template_id string テンプレートID
template_name string テンプレート名
template_type string テンプレートタイプ: utility(通知)、marketing(マーケティング)
template_content string テンプレート内容
country_codes string 主な送信対象国コード(カンマ区切り)
status int ステータス: 1-審査中、2-承認済み、3-拒否
sign_id string 署名ID(オプション)
sign_name string 署名名(オプション)
sign_position int 署名位置: 0-なし、1-接頭辞、2-接尾辞(オプション)
sign_status int 署名ステータス(オプション)
audit_remark string 審査コメント
created_time int64 作成時間(Unixタイムスタンプ)
updated_time int64 更新時間(Unixタイムスタンプ)

2. テンプレート設定詳細の取得

インターフェース説明: テンプレートIDを指定してテンプレート設定の詳細情報を取得します。

リクエスト情報:

  • メソッド: GET
  • パス: /v1/template-configs/:templateId
  • 認証: 必須

パスパラメータ:

パラメータ名 タイプ 必須 説明
templateId string はい テンプレートID

レスポンス例:

{ "template_id": "123456789", "template_name": "注文通知テンプレート", "template_type": "utility", "template_content": "ご注文 {order_no} は発送されました。到着予定日は {delivery_time} です。", "country_codes": "CN,US", "status": 2, "sign_id": "987654321", "sign_name": "会社名", "sign_position": 2, "sign_status": 2, "audit_remark": "", "created_time": 1699000000, "updated_time": 1699000000 }
              
              {
  "template_id": "123456789",
  "template_name": "注文通知テンプレート",
  "template_type": "utility",
  "template_content": "ご注文 {order_no} は発送されました。到着予定日は {delivery_time} です。",
  "country_codes": "CN,US",
  "status": 2,
  "sign_id": "987654321",
  "sign_name": "会社名",
  "sign_position": 2,
  "sign_status": 2,
  "audit_remark": "",
  "created_time": 1699000000,
  "updated_time": 1699000000
}

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

エラーレスポンス:

  • 400: テンプレートID形式エラーまたはテンプレートが存在しない
  • 500: サーバー内部エラー

3. テンプレート設定の作成

インターフェース説明: 新しいテンプレート設定を作成します。

リクエスト情報:

  • メソッド: POST
  • パス: /v1/template-configs
  • 認証: 必須

リクエストボディ:

{ "template_name": "注文通知テンプレート", "template_type": "utility", "template_content": "ご注文 {order_no} は発送されました。到着予定日は {delivery_time} です。", "country_codes": "CN,US", "add_signature": true, "sign_id": "987654321", "sign_position": 2 }
              
              {
  "template_name": "注文通知テンプレート",
  "template_type": "utility",
  "template_content": "ご注文 {order_no} は発送されました。到着予定日は {delivery_time} です。",
  "country_codes": "CN,US",
  "add_signature": true,
  "sign_id": "987654321",
  "sign_position": 2
}

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

リクエストフィールドの説明:

フィールド名 タイプ 必須 説明
template_name string はい テンプレート名、最大255文字
template_type string はい テンプレートタイプ: utility(通知)、marketing(マーケティング)
template_content string はい テンプレート内容、以下を含めることはできません: , , ,, テスト, test, [, ]
country_codes string はい 主な送信対象国コード(カンマ区切り)
add_signature bool いいえ 署名を追加するかどうか、デフォルトはfalse
sign_id string 条件付き必須 add_signatureがtrueの場合に必須、署名ID
sign_position int 条件付き必須 add_signatureがtrueの場合に必須、署名位置: 1-接頭辞、2-接尾辞

レスポンス例:

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

エラーレスポンス:

  • 400: パラメータ形式エラー、パラメータ検証失敗、署名設定が存在しない、署名ステータスが承認されていない
  • 500: サーバー内部エラー

ビジネスルール:

  • 作成後のテンプレートステータスは「審査中」(status=1)です。
  • 署名を追加する場合、署名は承認済みステータスである必要があります。

4. テンプレート設定の更新

インターフェース説明: 既存のテンプレート設定を更新します。

リクエスト情報:

  • メソッド: PUT
  • パス: /v1/template-configs/:templateId
  • 認証: 必須

パスパラメータ:

パラメータ名 タイプ 必須 説明
templateId string はい テンプレートID

リクエストボディ: 作成インターフェースと同じで、すべてのフィールドが必須です。

レスポンス例:

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

エラーレスポンス:

  • 400: パラメータ形式エラー、テンプレートが存在しない、テンプレートステータスが審査中で更新不可、保留中または実行中のプランがあり更新不可、署名設定が存在しない、署名ステータスが承認されていない
  • 500: サーバー内部エラー

ビジネスルール:

  • 「審査中」ステータスのテンプレートは更新できません。
  • 保留中または実行中のメッセージプランで使用されているテンプレートは更新できません。
  • 更新後、テンプレートステータスは「審査中」(status=1)に戻ります。

5. テンプレート設定の削除

インターフェース説明: 指定されたテンプレート設定を削除します。

リクエスト情報:

  • メソッド: DELETE
  • パス: /v1/template-configs/:templateId
  • 認証: 必須

パスパラメータ:

パラメータ名 タイプ 必須 説明
templateId string はい テンプレートID

レスポンス例:

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

エラーレスポンス:

  • 400: テンプレートID形式エラー、テンプレートが存在しない、保留中または実行中のプランがあり削除不可
  • 500: サーバー内部エラー

ビジネスルール:

  • 保留中または実行中のメッセージプランで使用されているテンプレートは削除できません。

シグネチャ設定API

1. シグネチャ設定リストの取得

API説明: 現在のビジネスにおけるすべてのシグネチャ設定リストを取得します。

リクエスト情報:

  • メソッド: GET
  • パス: /v1/sign-configs
  • 認証: 必須

リクエストパラメータ: なし

レスポンス例:

[ { "sign_id": "987654321", "sign_name": "会社名", "status": 2, "related_template_count": 5, "audit_remark": "", "created_time": 1699000000, "updated_time": 1699000000 } ]
              
              [
  {
    "sign_id": "987654321",
    "sign_name": "会社名",
    "status": 2,
    "related_template_count": 5,
    "audit_remark": "",
    "created_time": 1699000000,
    "updated_time": 1699000000
  }
]

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

レスポンスフィールド説明:

フィールド名 説明
sign_id string シグネチャID
sign_name string シグネチャ名
status int ステータス: 1-審査中, 2-承認済み, 3-拒否
related_template_count int64 関連テンプレート数
audit_remark string 審査コメント
created_time int64 作成時間 (Unixタイムスタンプ)
updated_time int64 更新時間 (Unixタイムスタンプ)

2. シグネチャ設定詳細の取得

API説明: シグネチャIDを使用してシグネチャ設定の詳細情報を取得します。

リクエスト情報:

  • メソッド: GET
  • パス: /v1/sign-configs/:signId
  • 認証: 必須

パスパラメータ:

パラメータ名 必須 説明
signId string 必須 シグネチャID

レスポンス例:

{ "sign_id": "987654321", "sign_name": "会社名", "status": 2, "related_template_count": 5, "audit_remark": "", "created_time": 1699000000, "updated_time": 1699000000 }
              
              {
  "sign_id": "987654321",
  "sign_name": "会社名",
  "status": 2,
  "related_template_count": 5,
  "audit_remark": "",
  "created_time": 1699000000,
  "updated_time": 1699000000
}

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

エラーレスポンス:

  • 400: 無効なシグネチャID形式、シグネチャが存在しない、または現在のビジネスに属していない。
  • 500: サーバー内部エラー。

3. シグネチャ設定の作成

API説明: 新しいシグネチャ設定を作成します。

リクエスト情報:

  • メソッド: POST
  • パス: /v1/sign-configs
  • 認証: 必須

リクエストボディ:

{ "sign_name": "会社名" }
              
              {
  "sign_name": "会社名"
}

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

リクエストフィールド説明:

フィールド名 必須 説明
sign_name string 必須 シグネチャ名, 2-60文字の長さ, , , [, ]を含めることはできません

レスポンス例:

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

エラーレスポンス:

  • 400: パラメータ形式エラー、パラメータ検証失敗、またはシグネチャ名が既に存在する。
  • 500: サーバー内部エラー。

ビジネスルール:

  • 新しく作成されたシグネチャのステータスは「審査中」(status=1)です。
  • 同じビジネス内でシグネチャ名は重複できません。

4. シグネチャ設定の更新

API説明: 既存のシグネチャ設定を更新します。

リクエスト情報:

  • メソッド: PUT
  • パス: /v1/sign-configs/:signId
  • 認証: 必須

パスパラメータ:

パラメータ名 必須 説明
signId string 必須 シグネチャID

リクエストボディ: 作成APIと同じ。

レスポンス例:

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

エラーレスポンス:

  • 400: パラメータ形式エラー、シグネチャが存在しない、現在のビジネスに属していない、ステータスが審査中で更新できない、シグネチャ名が既に存在する、または保留中または実行中のプランがあり更新できない。
  • 500: サーバー内部エラー。

ビジネスルール:

  • 審査中のステータスのシグネチャは更新できません。
  • 保留中または実行中のメッセージプランで使用されている場合、更新できません。
  • 更新後、シグネチャのステータスは「審査中」(status=1)に戻ります。

5. シグネチャ設定の削除

API説明: 指定されたシグネチャ設定を削除します。

リクエスト情報:

  • メソッド: DELETE
  • パス: /v1/sign-configs/:signId
  • 認証: 必須

パスパラメータ:

パラメータ名 必須 説明
signId string 必須 シグネチャID

レスポンス例:

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

エラーレスポンス:

  • 400: 無効なシグネチャID形式、シグネチャが存在しない、現在のビジネスに属していない、または保留中または実行中のプランがあり削除できない。
  • 500: サーバー内部エラー。

ビジネスルール:

  • 保留中または実行中のメッセージプランで使用されている場合、削除できません。

ステータスコード説明

テンプレート設定ステータス (status)

説明
1 審査中
2 承認済み
3 拒否

シグネチャ設定ステータス (status)

説明
1 審査中
2 承認済み
3 拒否

シグネチャ位置 (sign_position)

説明
0 シグネチャなし
1 プレフィックス
2 サフィックス

テンプレートタイプ (template_type)

説明
utility 通知
marketing マーケティング

エラーコード説明

エラーコード HTTPステータスコード 説明
0 200 成功
400 400 パラメータエラーまたはビジネスロジックエラー
500 500 サーバー内部エラー

一般的なエラーメッセージ:

  • invalid templateId: 無効なテンプレートID形式。
  • template config not exist: テンプレート設定が存在しません。
  • invalid signId: 無効なシグネチャID形式。
  • sign config not exist: シグネチャ設定が存在しません。
  • sign_name already exist: シグネチャ名が既に存在します。
  • can not update pending status template: 審査中のテンプレートは更新できません。
  • can not update pending status sign: 審査中のシグネチャは更新できません。
  • there are pending or running plans using current template, can not update: 現在のテンプレートを使用している保留中または実行中のプランがあり、更新できません。
  • there are pending or running plans using current sign, can not update: 現在のシグネチャを使用している保留中または実行中のプランがあり、更新できません。
  • sign status is not approved, can not use: シグネチャのステータスが承認済みでないため、使用できません。

注意事項

  1. すべてのAPIは認証ミドルウェア検証を必要とします。
  2. すべてのAPIは認証されたユーザーのビジネスID (businessId) を自動的に関連付けます。
  3. テンプレートおよびシグネチャの作成および更新操作は審査プロセスをトリガーします。
  4. テンプレートまたはシグネチャがメッセージプランで使用されている場合、プランが保留中または実行中のステータスである間は更新または削除できません。
  5. テンプレート内容には禁止文字を含めることはできません: , , ,, test, [, ]
  6. シグネチャ名には禁止文字を含めることはできません: , , [, ]
  7. テンプレートおよびシグネチャIDは数値文字列です。
icon
お問い合わせ