アプリ内メッセージテスト作成API
概要
POSTされたデータを使用して、新しくアプリ内メッセージ(テスト)を作成します。
テスト配信の有効期限は自動的に10分間に設定されます。
URL
/v1/delivery/_test
メソッド
POST
リクエスト
リクエストパラメータ
なし
リクエストボディ
基底オブジェクト
| キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| name | 文字列 | o | - | - | メッセージ名称 | 管理用の名称 | - |
| priority | 数値 | - | 0 | 0以上 | 優先度 | 数値が大きいものが優先されて表示されます | - |
| condition | オブジェクト | o | - | - | conditionオブジェクト参照 | - | - |
| message | オブジェクト | o | - | - | messageオブジェクト参照 | - | - |
conditionオブジェクト
| キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| trigger | オブジェクト | o | - | - | triggerオブジェクト参照 | - | - |
| target | オブジェクト | o | - | - | targetオブジェクト参照 | - | - |
| category | 文字列 | - | - | 500文字以下 | カテゴリ | - | - |
triggerオブジェクト
| キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| event_name | 文字配列 | o | - | - | イベント名 | アプリ内メッセージを表示するトリガーとなるイベント名 | 最大10個 正規表現で ^([0-9a-zA-Z-_.]){1,100}$ |
targetオブジェクト
| キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| popinfo_id | オブジェクト | o | - | - | popinfo_idオブジェクト参照 | - | - |
popinfo_idオブジェクト
| キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| android | 文字配列(uuid) | - | - | - | popinfoID(Android) | - | 最大1000個 |
| iphone | 文字配列(uuid) | - | - | - | popinfoID(iPhone) | - | 最大1000個 |
messageオブジェクト
| キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| template_id | 数値 | o | - | - | テンプレートID | アプリ内メッセージテンプレートをご参照ください | - |
| title | 文字列 | - | - | 40文字以下 | メッセージタイトル | バリデーション詳細をご参照ください | - |
| body | 文字列 | - | - | 200文字以下 | メッセージ本文 | バリデーション詳細をご参照ください | - |
| image_url | 文字列(URI) | - | - | 1文字以上2083文字以下 | 画像URL | バリデーション詳細をご参照ください | - |
| buttons | オブジェクト | o | - | - | buttonsオブジェクト参照 | 1つ or 2つ指定可能 | - |
buttonsオブジェクト
| キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
|---|---|---|---|---|---|---|---|
| id | 文字列 | o | - | 50文字以下 | ボタンID | - | バリデーション詳細をご参照ください |
| name | 文字列 | o | - | 10文字以下 | ボタン名 | - | - |
| url | 文字列(URI) | o | - | 1文字以上65536文字以下 | 遷移先URL | ※1 | - |
| event_name | 文字列 | - | - | - | イベント名 | ボタンタップ時に計測するトラッキングイベント名 | 正規表現で ^[0-9a-zA-Z-.]([0-9a-zA-Z-_.]){,99}$ |
※1. 以下のフォーマットでの設定が必要です。
- 閉じる: inappmsg://close
- 設定画面へ: inappmsg://setting
- 遷移先指定: inappmsg://action?url=https%3A%2F%2F${URLer}
バリデーション詳細
- テンプレートに応じてメッセージの指定項目に制限があります
制限が適用されるテンプレートIDは後述の各テンプレート毎の条件を参照してください
制限
-
テキスト / 画像の指定可能パターン(⚪︎:指定可能、×:指定不可)
message.title message.body message.image_url ⚪︎ ⚪︎ × × ⚪︎ ⚪︎ × × ⚪︎ -
ボタン1個の場合
- message.buttons オブジェクトリストの長さは1でなければならない。
- message.buttons[0].id は1でなければならない。
-
ボタン2個の場合
- message.buttons オブジェクトリストの長さは2でなければならない。
- 同リストの中に、buttons[i].id が1であるものと、buttons[j].id が2であるものが存在する。
-
フルスクリーンの場合
- message.title, message.body, message.image_url は入力必須である。
各テンプレート毎の条件
- message.template_id が 1, 6の場合
- 制限1が適用
- 制限2が適用
- message.template_id が 2, 7, 8, 9の場合
- 制限1が適用
- 制限3が適用
- message.template_id が 3の場合
- 制限2が適用
- message.image_url は入力必須である。
- message.buttons[0].name は固定値(-)でなければならない。
- message.template_id が 4の場合
- 制限2が適用
- 制限4が適用
- message.template_id が 5, 10の場合
- 制限3が適用
- 制限4が適用
リクエストボディサンプル
※複合バリデーション制約のため、以下のサンプルをそのまま使用した場合はエラーとなります。
curl -X POST -H 'X-POPINFO-MAPI-TOKEN: {auth_token}' https://{domain}/v1/delivery/_test \
-d '{
"name": "string",
"priority": 0,
"condition": {
"target": {
"popinfo_id": {
"android": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"iphone": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
},
"trigger": {
"event_name": [
"string"
]
},
"category": "string"
},
"message": [
{
"template_id": 1,
"title": "string",
"body": "string",
"image_url": "http://example.com",
"buttons": [
{
"id": "string",
"name": "string",
"url": "http://example.com",
"event_name": "string"
}
]
}
]
}'
レスポンス
メディアタイプ
application/json
成功時レスポンス
http status 201 を返却し、作成したリソースを指し示す Location ヘッダを返却
レスポンスのサンプル
なし