アプリ内メッセージテスト作成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 | 1: ポップアップ(ボタン1個) 2: ポップアップ(ボタン2個) 3: ポップアップ(画像のみ) 4: フルスクリーン(ボタン1個) 5: フルスクリーン(ボタン2個) 6: ポップアップ(ボタン1個)背景狭 7: ポップアップ(ボタン2個)背景狭 8: ポップアップ(ボタン2個縦並び)背景狭 9: ポップアップ(ボタン2個縦並び) 10: フルスクリーン(ボタン2個縦並び) |
- |
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}
バリデーション詳細
- message.template_id が 4, 5, 10 以外の場合
- message.title or message.body が指定されている場合、image_url は指定不可。
- message.image_url が指定されている場合、message.title と message.body はそれぞれ指定不可。
- message.title が指定されている場合、message.body は入力必須。
- message.body が指定されている場合、message.title は入力必須。
- message.image_url, message.title, message.body 全てを省略することはできない。
- message.template_id が 1, 6 の場合
- message.buttons オブジェクトリストの長さは1でなければならない。
- message.buttons[0].id は1でなければならない。
- message.template_id が 2, 7, 8, 9 の場合
- message.buttons オブジェクトリストの長さは2でなければならない。
- 同リストの中に、buttons[i].id が1であるものと、buttons[j].id が2であるものが存在する。
- 同リストの中に重複する id が含まれてはいけない。
- message.template_id が 3 の場合
- message.buttons オブジェクトリストの長さは1でなければならない。
- message.buttons[0].id は1でなければならない。
- message.image_url は入力必須である。
- message.buttons[0].name は固定値(-)でなければならない。
- message.template_id が 4 の場合
- message.buttons オブジェクトリストの長さは1でなければならない。
- message.buttons[0].id は1でなければならない。
- message.image_url, message.title, message.body は入力必須である。
- message.template_id が 5, 10 の場合
- message.buttons オブジェクトリストの長さは2でなければならない。
- 同リストの中に、buttons[i].id が1であるものと、buttons[j].id が2であるものが存在する。
- 同リストの中に重複する id が含まれてはいけない。
- message.image_url, message.title, message.body は入力必須である。
リクエストボディサンプル
※複合バリデーション制約のため、以下のサンプルをそのまま使用した場合はエラーとなります。
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 ヘッダを返却
レスポンスのサンプル
なし