目次
Push通知の配信履歴APIとは
本APIの概要
Push通知の配信履歴APIとは、b→dashで配信したPush通知の配信履歴と、その説明文をb→dash管理画面を介さずにデータファイル更新を行うことができるAPIです。
貴社の基幹システム/アプリケーションに連携したデータファイル更新を行いたい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。
API利用にあたっての前提事項
事前準備
Push通知の配信履歴APIを利用する事前準備として、アクセストークンをアプリごとに発行しておく必要があります。
アクセストークンの発行については、貴社カスタマーサクセス担当までお問い合わせください。
非機能要件
Push通知の配信履歴APIは、下記の非機能要件を持ちます。
# | 項目 | 非機能要件 |
1 | URI長の上限 | 2KBまで |
2 | レスポンス | 秒間100リクエストに対して、20件の履歴を0.5秒以内に返すこと |
3 | 月間リクエスト上限数 |
100,000,000リクエスト
※超過した場合でも、エラーになりません |
4 | 分間リクエスト上限数 | 10,000リクエスト |
5 | レート制限 | 1秒あたり1,000リクエスト |
6 | タイムアウト | 10秒 |
事前準備と非機能要件の確認ができましたら、Push通知の配信履歴APIの利用方法について説明していきます!
Push通知の配信履歴APIの仕様
処理フロー図
Push通知の配信履歴APIの処理フロー図は以下になります。
配信履歴リクエスト
Push通知の配信履歴APIのURLにURLパラメータを指定してデータ連携をリクエストするリクエストURLを準備します
〇Push通知の配信履歴APIのURL
URI | https://push-history.smart-bdash.com/api/push/history/:uuid |
〇URLパラメータ
プロパティ | データ型 | 必須 | 説明 |
uuid | string | ○ |
ユーザーが保有する各デバイス固有のUUID。
URL末尾に取得したい履歴のuuidを指定する。 |
【リクエストURLサンプル】
https://push-history.smart-bdash.com/api/push/history/{uuid}?description=true&with_trial=false&send_status=all https://push-history.smart-bdash.com/api/push/history/:00x0xx00-x1x111x11111
URLパラメータは、URLの「uuid」に該当する値を代入することで指定することができます。
準備したリクエストURLと、下記のリクエストヘッダパラメータを用いて、貴社Webアプリから「GET」リクエスト形式で配信履歴のリクエストをします
〇リクエスト形式
メソッド | GET |
〇リクエストヘッダパラメータ
プロパティ | データ型 | 必須 | 説明 |
Authorization | string | ◯ | 値:Bearer {アクセストークン} |
If-None-Match | string | ◯ |
レスポンスの高速化のため、b→dash サーバーからのレスポンスの ETag ヘッダ ーで返却する値を、If-None-Match ヘッダーに設定する。
※ 初回リクエスト時は、空文字を If-None-Match ヘッダーに設定する |
〇クエリパラメータ
プロパティ | データ型 | 必須 | 説明 |
with_trial | string | - |
レスポンスにテスト送信の配信履歴情報を含めて取得したい場合は、この値を「true」としてクエリパラメーターに設定する。
※ 何も指定しない(「true以外」を指定する)場合、テスト送信は履歴情報に含まれずにレスポンスが返却される |
limit | string | - |
最大取得件数
・設定値:1~50 ※ 1~50以外の値や省略時は、50が入る |
page | string | - |
取得対象のページ(1ページにつき、50件を取得する)
・設定範囲:1~9999 ※ 省略時は1ページ目を取得する。 また取得対象は、 「①配信日時の降順 ②配信IDの昇順」で 並び替えて返却する。 |
description | string | - |
説明文を取得するかどうか選択できる。 ・true :取得する ・false:取得しない ※ 省略時は「false」が入る |
count | boolean | - |
配信履歴の総数を取得するかを選択できる。 ・true :取得する ・false:取得しない ※ 省略時は「false」が入る |
send_status | string | - |
取得対象の配信履歴を選択できる。 ・sent :配信済みの配信履歴のみ取得 ・unsent:未配信の配信履歴のみ取得 ・all :すべての配信履歴を取得 ※ 省略時は「sent」が入る |
【リクエストコードサンプル】
GET https://push-history.smart-bdash.com/api/push/history/{uuid}?description=true&with_trial=false&send_status=all https://push-history.smart-bdash.com/api/push/history/:00x0xx00-x1x111x11111
配信履歴レスポンス
リクエストの送信に成功すると、下記のレスポンス形式で配信履歴が記載されたレスポンスが返されます
〇レスポンスボディパラメータ
パラメータ名 | Key | データ型 | 説明 |
階層1:total_count | - | integer |
配信履歴の総数
※「count = true」とした時のみ返却する |
階層1:page | - | integer | レスポンスのページ数 |
階層1:limit | - | integer | レスポンスの最大取得件数 |
階層1:has_next_page | - | boolean |
未取得の配信履歴があるか
ある場合:true ない場合:false |
階層1:result | - | object | - |
階層2:id | - | string | Push通知配信ID |
階層2:title | - | string | Push通知のタイトル |
階層2:message | - | string | Push通知の本文 |
階層2:description | - | string | Push通知の説明文 |
階層2:image_url | - | string | Push通知の画像URL |
階層2:delivery_time | - | timestamp | Push通知の配信日時 |
階層2:expiration_time | - | timestamp |
Push通知の保持期間日時
※ 配信日時から180日後の日付が入る |
【レスポンスボディサンプル】
{
"total_count": 100,
"page": 2,
"limit": 50,
"has_next_page": true,
"result": [
{
"id": 30,
"title": "タイトル",
"message": "本文",
"description": "説明文",
"image_url": "https:xxxx",
"delivery_time": "2019-06-12T07:00:00.000Z",
"expiration_time": "2019-06-14T07:00:00.000Z"
},
{
"id": 31,
"title": "タイトル",
"message": "本文",
"description": "説明文",
"image_url": "https:yyyy",
"delivery_time": "2019-06-13T07:00:00.000Z",
"expiration_time": "2019-06-15T07:00:00.000Z"
}
]
}
○リクエスト正常終了時のレスポンス
# | コード | 意味 | 説明 |
1 | 200 | 取得成功 | 配信履歴の取得リクエストが成功 |
2 | 304 | リソースが未更新 |
該当の「notification_id」に対する配信履歴情報が、前回リクエスト時から更新されていない場合は『304 Not Modified』が返却される。
※ この場合、レスポンスには本文が含まれない |
○リクエストエラー発生時のレスポンス
# | コード | 意味 | 説明 |
1 | 401 | 認証失敗 | 配信履歴の取得処理で認証に失敗 |
2 | 504 | タイムアウト | 配信履歴の取得処理でタイムアウトが発生 |