配信登録、フォーマット保存、フォーマット編集、テスト送信 API

概要

インフォメーションの、配信登録、フォーマット保存、フォーマット編集、テスト送信 APIを行います。リクエストに用いるJSON形式と、レスポンスの形式、エラーコードは、3つのAPIで同一です。

注意事項

ManagementApi v3 にて配信したメッセージは、v2と旧管理画面には表示されません。

URL

配信登録 API

https://${POPINFO_HOST}/mapi/3.0/info/add/

フォーマット保存 API

https://${POPINFO_HOST}/mapi/3.0/draft/add/

フォーマット編集 API

https://${POPINFO_HOST}/mapi/3.0/draft/{id}/edit/

テスト送信 API

https://${POPINFO_HOST}/mapi/3.0/test/add/

メソッド

POST

結果タイプ

1つしか返さない

リクエストパラメータ

キー名 必須 タイプ 説明
type o 文字列 次のうちいずれかの文字列を指定します
instant ... 即時送信
scheduled ... 予約送信
location ... 位置連動型送信
wifi ... Wi-Fi連動型送信
bluetooth ... bluetooth連動型送信
continual ... 継続配信

※テスト送信は、instantのみ指定可能です。
content_type o 文字列 次のうちいずれかの文字列を指定します
text/plain ... テキスト配信
text/html ... HTML配信
platform o 配列 配信対象のプラットフォーム
次のうちいずれか及び両方の文字列を配列で指定します
iphone, android

※契約状況によって、指定可能な値が異なります。
popup ※A 文字列 ポップアップフリーワード

※256文字以下である必要があります。
title ※C 文字列 件名

※全角40文字相当以下推奨。1024byte以下である必要があります。
content ※C 文字列 本文

※100kbyte以下である必要があります。
url x 文字列 リンク先URL

※URLとして利用できない文字は、適切にURLエンコードする必要があります。
icon x 文字列 アイコン画像ファイルの絶対URL

※省略時はデフォルトアイコンが表示されます。
category x 文字列 カテゴリーを文字列で指定
delivery_type x 整数 指定なし もしくは 次のいずれかの整数を指定
1 ... プッシュ通知/お知らせ表示 利用
2 ... プッシュ通知のみ利用
3 ... お知らせ通知のみ利用
send_time ※D 文字列 送信日時
(type が scheduled の場合のみ)
日本時間で指定
※ yyyy-mm-dd HH:MM:SS フォーマット
※ 未来の時刻で、最長120日先まで
location ※E 配列 配信位置
(type が location の場合のみ)
次の値を持つオブジェクトを 配列で指定します
lat .. 緯度、世界測地系 角度表記(小数)
lon .. 経度、世界測地系 角度表記(小数)
radius .. 半径、メートル単位(整数)
※ radius は、50 100 300 500 1000 2000 3000 5000 10000 のみ選択できます。
※ 最大100個まで
※ popinfo内部で保持する浮動小数点の精度の影響で、 緯度経度として登録した値に、ごく少量の誤差が出る可能性がございます。
wifissid ※F 配列 配信Wi-Fi SSID情報
(type が wifi の場合のみ)
次の値を持つオブジェクトを 配列で指定します
essid .. Wi-FiスポットのESSID(文字列)
bssid .. Wi-FiスポットのBSSID(文字列)
rssi .. 電波強度(整数)
※ essidまたはbssidのいずれか 一つの指定が必須です。
essid指定時のbssid、 bssid指定時の essidは省略可能です。
rssiを省略した場合、 電波強度の指定なしになります。
bluetooth ※G 配列 bluetooth端末情報
(type が bluetoothの場合のみ)
次の値を持つオブジェクトを 配列で指定します。type として、iBeacon を指定し、それぞれ指定可能な パラメータが異なります。

■iBeacon端末を利用する場合
type .. iBeacon
uuid .. uuid(必須)
major .. メジャー番号(任意)
minor .. マイナー番号(任意)
rssi .. 電波強度(デシベル)(任意)
major が省略された場合、 全てのビーコン端末が対象となります。
minor が省略された場合、 majorまでが合致したビーコン端末 に配信されます。
rssi が省略された場合、 電波強度によらず配信となります。
period ※E D 配列 配信期間
(type が location、wifi、bluetooth、continual の場合のみ)
次の値を持つオブジェクトを 配列で指定します
start ... 開始日時、JST(文字列)
end ... 終了日時、JST(文字列)
※ 最大100個まで
※ 未来の時刻で、最長120日先まで
target_id object 配信ユーザーID
iphone もしくは、androidをキーとして
配信ユーザーID文字列を配列で指定
※下記のfilterを利用すると、より高度な条件指定が可能になるので、filterの利用を推奨します
filter ※H object or array filterを指定します。詳細はこちら


※A
delivery_typeに3を指定した場合、入力不可。それ以外の場合、入力必須

※C
delivery_typeに2を指定した場合、入力不可。それ以外の場合、入力必須

※D
type が、scheduledの場合は必須

※E
type が、locationの場合は必須

※F
type が、wifiの場合は必須

※G
type が、bluetoothの場合は必須。

※H
テスト送信APIの場合は、利用できません。

delivery_type(配信タイプ)について

管理画面やpopinfo Mangement APIを通して配信を入稿する際、配信タイプを設定できます。

バリエーション
1. PUSH通知あり、お知らせ一覧への表示あり (既存、デフォルト)
2. PUSH通知あり、お知らせ一覧への表示なし
3. PUSH通知なし、お知らせ一覧への表示あり

配信アイコンが白くなってしまいます

デフォルトアイコンは管理画面で登録するアイコンとは異なり、デフォルトアイコンは白地となります。
変更する場合は画像をpopinfoサポート宛てに送付してください。弊社にて設定させていただきます。
※画像は最大ファイルサイズ1MB未満で正方形、144×144ピクセルが推奨

target_id による配信

送信対象のユーザーIDを、プラットフォームごとに指定します。
platform パラメータに含まれないプラットフォームを指定すると、エラーになります。
popinfo ID指定配信をご利用ください

target_id と filterの違いは?

target_id は popinfo ID の指定配信にご利用いただけます(filterでも代用可能)。
filter は popinfo ID のほかに絞込の条件を指定できます。
管理画面のユーザーID絞り込みに反映されるのはfilterで指定した場合のみになります。

サンプル

  • iPhone のユーザーID XXXX-1 及び、XXXX-2 へと配信
{
  ..(略)..
  "target_id": {"iphone": ["XXXX-1", "XXXX-2"]},
  ..(略)..
}



  • iPhone のユーザーID XXXX-1 及び、Android のユーザーID YYYY-1 へと配信
{
  ..(略)..
  "target_id": {"iphone": ["XXXX-1"], "android": ["YYYY-1"]},
  ..(略)..
}


リクエストのサンプル

{
  "content": "本文", 
  "platform": [
    "iphone", 
    "android"
  ], 
  "delivery_type": 1,
  "popup": "ポップアップ文字列", 
  "content_type": "text/plain", 
  "title": "件名", 
  "url": "http://google.com", 
  "category": "カテゴリー", 
  "type": "instant", 
  "icon": "http://cdn1.iconfinder.com/data/icons/yooicons_set01_socialbookmarks/128/social_google_box.png"
}

レスポンス

name タイプ 説明
id 整数 作成または編集された配信またはフォーマットのID
テスト送信APIの場合、常に -1 を返します。

レスポンスのサンプル

{
  "status": "OK", 
  "result": {
    "id": 1
  }
}