Template API Interface
テンプレートの作成
Endpoint
POST https://otp.api.engagelab.cc/v1/template-configs
認証
認証には HTTP Basic Authentication を使用し、HTTP ヘッダーに Authorization を追加します。
Authorization: Basic ${base64_auth_string}
上記の base64_auth_string の生成アルゴリズムは base64(dev_key:dev_secret) です。
リクエスト例
Request Header
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
{
"template_id": "test-template-1",
"description": "测试模版1",
"send_channel_strategy": "whatsapp|sms",
"brand_name": "品牌名称",
"verify_code_config": {
"verify_code_type": 1,
"verify_code_len": 6,
"verify_code_ttl": 1
},
"whatsapp_config": {
"template_type": 1,
"template_default_config": {
"contain_security": false,
"contain_expire": false
}
},
"sms_config": {
"template_type": 2,
"template_default_config": {
"contain_security": false,
"contain_expire": false
},
"template_custom_config": {
"custom_sub_type": "authentication",
"custom_content": "xxx",
"custom_country_codes": "HK,PH"
}
},
"voice_config": {
"template_type": 1,
"template_default_config": {
"contain_security": false,
"contain_expire": false
}
},
"email_config": {
"template_name": "email模板名称",
"template_custom_configs": [{
"language": "default",
"pre_from_name": "test",
"pre_from_mail": "test@test.com",
"pre_subject": "test",
"template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}",
"pre_param_map": {
"self": "这里是self变量预设值"
}
}]
},
"pwa_config": {
"pwa_platform": "xx",
"pwa_code": "xx"
}
}
リクエストパラメータ
リクエストオブジェクトは JSON 形式で表されるため、リクエストヘッダーには Content-Type: application/json を含める必要があります。
| Parameter | Type | Option | Description |
|---|---|---|---|
| template_id | String | Required | 一意である必要があるカスタムテンプレート ID。最大 128 文字 |
| description | String | Optional | テンプレートの説明。最大 255 文字 |
| send_channel_strategy | String | Required | テンプレート戦略。単一チャネルには whatsapp、sms、email、voice を指定できます。複数チャネルは ` |
| brand_name | String | Optional | ブランド識別子。ブランド署名を含む一部のテンプレートスタイルでは、ブランド署名変数の置換に使用されます。長さは 2~10 文字である必要があります |
| verify_code_config | Object | Conditionally required | 認証コード設定。テンプレートに認証コードタイプが含まれる場合に必須です |
| verify_code_config.verify_code_type | Integer | Required | 認証コードのタイプ。範囲は [1,7]:1-数字 / 2-小文字 / 4-大文字。値は組み合わせ可能です(例:3 は数字 + 小文字を意味します) |
| verify_code_config.verify_code_len | Integer | Required | 認証コードの長さ。範囲は [4,10] |
| verify_code_config.verify_code_ttl | Integer | Required | 認証コードの有効時間(分)。範囲は [1,10]。戦略に whatsapp が含まれる場合、1、5、または 10 のみ指定できます |
| whatsapp_config | Object | Conditionally required | WhatsApp 戦略の設定。配信戦略に whatsapp が含まれる場合に必須です |
| whatsapp_config.template_type | Integer | Required | WhatsApp テンプレートタイプ。現在はデフォルトテンプレートのみサポートしているため、値は 1 固定です |
| whatsapp_config.template_default_config | Object | Conditionally required | WhatsApp デフォルトテンプレート設定。WhatsApp テンプレートタイプがデフォルトテンプレートの場合に必須です |
| sms_config | Object | Conditionally required | SMS 戦略の設定。配信戦略に sms が含まれる場合に必須です |
| sms_config.template_type | Integer | Required | SMS テンプレートタイプ:1-デフォルトテンプレート / 2-カスタムテンプレート |
| sms_config.template_default_config | Object | Conditionally required | SMS デフォルトテンプレート設定。SMS テンプレートタイプがデフォルトテンプレートの場合に必須です |
| sms_config.template_custom_config | Object | Conditionally required | SMS カスタムテンプレート設定。SMS テンプレートタイプがカスタムテンプレートの場合に必須です |
| sms_config.template_custom_config.custom_sub_type | String | Required | カスタムテンプレートタイプ:authentication-認証コード / marketing-マーケティング / utility-通知 |
| sms_config.template_custom_config.custom_content | String | Required | カスタムテンプレート内容。authentication タイプでは {{code}} 変数を含める必要があります |
| sms_config.template_custom_config.custom_country_codes | String | Optional | 対象の国・地域コード。カンマ区切りで指定し、テンプレート審査時の参考情報として使用されます |
| voice_config | Object | Conditionally required | 音声戦略の設定。配信戦略に voice が含まれる場合に必須です |
| voice_config.template_type | Integer | Required | 音声テンプレートタイプ。現在はデフォルトテンプレートのみサポートしているため、値は 1 固定です |
| voice_config.template_default_config | Object | Conditionally required | 音声デフォルトテンプレート設定。音声テンプレートタイプがデフォルトテンプレートの場合に必須です |
| email_config | Object | Conditionally required | Email 戦略の設定。配信戦略に email が含まれる場合に必須です |
| email_config.template_name | String | Required | Email テンプレート名 |
| email_config.template_custom_configs | Array | Conditionally required | Email カスタムテンプレート設定。Email テンプレートタイプがカスタムテンプレートの場合に必須です。多言語設定をサポートします |
| email_config.template_custom_configs.language | String | Required | 言語。default はデフォルト言語を表します。メッセージ配信時に language パラメータに応じて異なるテンプレート内容を一致させることができます |
| email_config.template_custom_configs.pre_from_name | String | Optional | プリセット送信者名 |
| email_config.template_custom_configs.pre_from_mail | String | Required | プリセット送信元メールアドレス |
| email_config.template_custom_configs.pre_subject | String | Required | プリセットメール件名 |
| email_config.template_custom_configs.template_content | String | Required | メール内容。HTML をサポートします。変数は {{}} で囲む必要があります |
| email_config.template_custom_configs.pre_param_map | Object | Optional | メール内容内の変数のデフォルト値。キーと値のペアで宣言し、値は文字列である必要があります |
| pwa_config | Object | Optional | PWA 関連の設定。現在は任意です |
| pwa_config.pwa_platform | String | Optional | 使用する PWA プラットフォーム。具体的な値については技術サポートへお問い合わせください |
| pwa_config.pwa_code | String | Optional | PWA プラットフォーム内で使用されるコード |
レスポンスパラメータ
| Field | Type | Option | Description |
|---|---|---|---|
| code | Integer | Required | エラーコード。0 は成功、それ以外の値は失敗を示します |
| message | String | Required | レスポンスメッセージ |
Successful Response
{
"code": 0,
"message": "success"
}
Failed Response
{
"code": 3003,
"message": "not contains any channel config"
}
エラーコード
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | 内部エラー |
| 2001 | 401 | 認証に失敗しました。正しいトークンが提供されていません |
| 2002 | 401 | 認証に失敗しました。トークンの有効期限が切れているか、無効化されています |
| 2004 | 403 | この API を呼び出す権限がありません |
| 3001 | 400 | リクエストパラメータ形式が無効です。リクエストボディが、パラメータ形式に準拠した有効な JSON であるか確認してください |
| 3002 | 400 | リクエストパラメータが無効です。リクエストパラメータが要件を満たしているか確認してください |
| 3003 | 400 | ビジネスレベルのパラメータエラーです。返却された message フィールドの説明を確認してください |
テンプレートの削除
Endpoint
DELETE /v1/template-configs/{templateId}
認証
認証には HTTP Basic Authentication を使用し、HTTP ヘッダーに Authorization を追加します。
Authorization: Basic ${base64_auth_string}
上記の base64_auth_string の生成アルゴリズムは base64(dev_key:dev_secret) です。
リクエスト例
Request Header
DELETE /v1/template-configs/{templateId} HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
なし
リクエストパラメータ
URL 内の {templateId} は削除するテンプレート ID を示し、Create Template API の利用時に呼び出し元が定義します。
レスポンスパラメータ
| Field | Type | Option | Description |
|---|---|---|---|
| code | Integer | Required | エラーコード。0 は成功、それ以外の値は失敗を示します |
| message | String | Required | レスポンスメッセージ |
Successful Response
{
"code": 0,
"message": "success"
}
Failed Response
{
"code": 4001,
"message": "config not exist"
}
エラーコード
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | 内部エラー |
| 2001 | 401 | 認証に失敗しました。正しいトークンが提供されていません |
| 2002 | 401 | 認証に失敗しました。トークンの有効期限が切れているか、無効化されています |
| 2004 | 403 | この API を呼び出す権限がありません |
| 3001 | 400 | リクエストパラメータ形式が無効です。リクエストボディが、パラメータ形式に準拠した有効な JSON であるか確認してください |
| 3002 | 400 | リクエストパラメータが無効です。リクエストパラメータが要件を満たしているか確認してください |
| 4001 | 400 | テンプレートが存在しません |
すべてのテンプレート一覧を取得
この API は現在、ページネーションをサポートしていません。すべてのテンプレートの概要一覧を返しますが、通常、個別の詳細内容は含まれません。詳細な内容が必要な場合は、詳細 API を使用してください。
Endpoint
GET /v1/template-configs
認証
認証には HTTP Basic Authentication を使用し、HTTP ヘッダーに Authorization を追加します。
Authorization: Basic ${base64_auth_string}
上記の base64_auth_string の生成アルゴリズムは base64(dev_key:dev_secret) です。
リクエスト例
Request Header
GET /v1/template-configs HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
なし
リクエストパラメータ
なし
Successful Response
[{
"template_id": "test-template-1",
"description": "测试模版1",
"send_channel_strategy": "whatsapp|sms",
"brand_name": "品牌名称",
"verify_code_config": {
"verify_code_type": 1,
"verify_code_len": 6,
"verify_code_ttl": 1
},
"whatsapp_config": {
"template_type": 1
},
"sms_config": {
"template_type": 2,
"template_parts": 1
},
"voice_config": {
"template_type": 1
},
"email_config": {
"template_name": "email模板名称"
},
"pwa_config": {
"pwa_platform": "xx",
"pwa_code": "xx"
},
"created_time": 1234567890,
"status": 1,
"audit_remark": "xx"
}]
Failed Response
{
"code": 4001,
"message": "config not exist"
}
エラーコード
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | 内部エラー |
| 2001 | 401 | 認証に失敗しました。正しいトークンが提供されていません |
| 2002 | 401 | 認証に失敗しました。トークンの有効期限が切れているか、無効化されています |
| 2004 | 403 | この API を呼び出す権限がありません |
| 4001 | 400 | テンプレートが存在しません |
テンプレート詳細の取得
Endpoint
GET /v1/template-configs/{templateId}
認証
認証には HTTP Basic Authentication を使用し、HTTP ヘッダーに Authorization を追加します。
Authorization: Basic ${base64_auth_string}
上記の base64_auth_string の生成アルゴリズムは base64(dev_key:dev_secret) です。
リクエスト例
Request Header
GET /v1/template-configs/custom-template-id HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
なし
リクエストパラメータ
URL 内の {templateId} は取得するテンプレート ID を示し、Create Template API の利用時に呼び出し元が定義します。
Successful Response
{
"template_id": "test-template-1",
"description": "测试模版1",
"send_channel_strategy": "whatsapp|sms",
"brand_name": "品牌名称",
"verify_code_config": {
"verify_code_type": 1,
"verify_code_len": 6,
"verify_code_ttl": 1
},
"whatsapp_config": {
"template_type": 1
},
"sms_config": {
"template_type": 2,
"template_parts": 1,
"template_custom_config": {
"custom_sub_type": "authentication",
"custom_content": "xxx"
}
},
"voice_config": {
"template_type": 1
},
"email_config": {
"template_name": "email模板名称",
"template_custom_configs": [{
"language": "default",
"pre_from_name": "test",
"pre_from_mail": "test@test.com",
"pre_subject": "test",
"template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}",
"pre_param_map": {
"self": "这里是self变量预设值"
}
}]
},
"pwa_config": {
"pwa_platform": "xx",
"pwa_code": "xx"
},
"created_time": 1234567890,
"status": 1,
"audit_remark": "xx"
}
Failed Response
{
"code": 4001,
"message": "config not exist"
}
エラーコード
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | 内部エラー |
| 2001 | 401 | 認証に失敗しました。正しいトークンが提供されていません |
| 2002 | 401 | 認証に失敗しました。トークンの有効期限が切れているか、無効化されています |
| 2004 | 403 | この API を呼び出す権限がありません |
| 4001 | 400 | テンプレートが存在しません |










