アプリ内メッセージ作成API
概要
POSTされたデータを使用して、新しくアプリ内メッセージを作成します。
URL
/v1/delivery
メソッド
POST
リクエスト
リクエストパラメータ
なし
リクエストボディ
基底オブジェクト
キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
---|---|---|---|---|---|---|---|
name | 文字列 | o | - | - | メッセージ名称 | 管理用の名称 | - |
priority | 数値 | - | 0 | 0以上 | 優先度 | 数値が大きいものが優先されて表示されます | - |
condition | オブジェクト | o | - | - | conditionオブジェクト参照 | - | - |
message | オブジェクト | o | - | - | messageオブジェクト参照 | - | - |
conditionオブジェクト
キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
---|---|---|---|---|---|---|---|
trigger | オブジェクト | o | - | - | triggerオブジェクト参照 | - | - |
target | オブジェクト | - | - | - | targetオブジェクト参照 | - | 未指定の場合、全体配信 |
max_total_count | 数値 | - | - | 1以上 | 最大表示回数 | - | - |
max_total_count_per_day | 数値 | - | - | 1以上 | 1日あたりの最大配信回数 | - | - |
category | 文字列 | - | - | 500文字以下 | カテゴリ | - | - |
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つ指定可能 | - |
triggerオブジェクト
キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
---|---|---|---|---|---|---|---|
event_name | 文字配列 | o | - | - | イベント名 | アプリ内メッセージを表示するトリガーとなるイベント名 | 最大10個 正規表現で ^([0-9a-zA-Z-_.]){1,100}$ |
period | オブジェクト | o | - | periodオブジェクト参照 | - | - | 最大100個 |
targetオブジェクト
キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
---|---|---|---|---|---|---|---|
segmentation_id | 数値 | o | - | - | セグメントID | - | - |
periodオブジェクト
キー | 型 | 必須 | デフォルト | 許容値 | 説明 | 詳細 | 備考 |
---|---|---|---|---|---|---|---|
start | 文字列(datetime) | o | - | - | 配信開始日時 | 現在日時から180日以内の日時を設定可能 | - |
end | 文字列(datetime) | o | - | - | 配信終了日時 | 現在日時から180日以内の日時を設定可能 | - |
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
-d '{
"name": "string",
"priority": 0,
"condition": {
"trigger": {
"event_name": [
"string"
],
"period": [
{
"start": "2019-01-01T12:12:12+09:00",
"end": "2019-01-01T12:12:12+09:00"
}
]
},
"target": {
"segmentation_id": 0
},
"max_total_count": 1,
"max_total_count_per_day": 1,
"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 ヘッダを返却
レスポンスのサンプル
なし