統計API
これは統計APIの最新バージョンです。v4バージョンの改良点は以下のとおりです:
- HTTP Basic認証を使用してアクセスを認可します。これにより、curlやブラウザプラグインなどの一般的なHTTPツールを使用してAPIリクエスト全体を完了できます。
- プッシュコンテンツはJSON形式です。
概要
統計API v4は複数のデータクエリ機能を提供します。
呼び出し認証
詳細については、認証方法を参照してください。
メッセージ統計
- message_idのライフサイクルにおける各状態の統計データをクエリします。
- 各プッシュメッセージの統計データは最長で1か月間保持されます。
リクエストAPI URI
GET v4/messages/details
リクエスト例
curl -v https://webpushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
curl -v https://webpushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
このコードブロックはフローティングウィンドウ内に表示されます
リクエストパラメータ
キーワード | 型 | オプション | 説明 |
---|---|---|---|
message_ids | String | required | <li> メッセージID。複数のmessage_idは","で区切ります。<li> 最大100個のmessage_idを指定可能です。 |
レスポンス例
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"1083008": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0,
"sub": {
"notification": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0,
"sub_web": {
"engageLab_web": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"chrome": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0
},
"safari": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"firefox": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"edge": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"other": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
}
}
},
"message": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
}
},
"plan_id": "engageLab_msg",
"pushContent": {
"message": {
"title": "msg",
"content": "push"
}
}
}
}
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"1083008": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0,
"sub": {
"notification": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0,
"sub_web": {
"engageLab_web": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"chrome": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0
},
"safari": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"firefox": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"edge": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"other": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
}
}
},
"message": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
}
},
"plan_id": "engageLab_msg",
"pushContent": {
"message": {
"title": "msg",
"content": "push"
}
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます
レスポンスパラメータ
成功レスポンスはJSONオブジェクトで、キーは各message_idで、各メッセージには各フェーズのライフサイクル統計データが含まれています:
キーワード | 型 | オプション | 説明 |
---|---|---|---|
targets | Int64 | required | 有効対象数。タスクが有効性スクリーニングを経た後に選択された対象デバイスの数で、プッシュされる予定です。 |
sent | Int64 | required | 送信数。有効な対象デバイスの中で、Engagelabサーバーが実際に送信タスクを正常に作成したデバイスの数です。 |
delivered | Int64 | required | 配信数。通知メッセージが送信された後、実際にWeb端末に配信された数で、5日後の配信数は含まれません。 |
impressions | Int64 | required | 表示数。通知メッセージが配信された後、デバイス端末で実際に正常に表示された数です。 |
clicks | Int64 | required | クリック数。通知メッセージが正常に表示された後、ユーザーが実際にクリックした数です。 |
sub | Object | required | 統計データの詳細指標。<li> notification:通知バーメッセージタイプのデータ集計統計。<li> message:ユーザー定義メッセージのデータ集計統計。 |
plan_id | String | Required | プッシュ計画IDで、メッセージが属するプッシュ計画のタイプを識別します。 |
pushContent | Object | Required | プッシュコンテンツの詳細で、異なるプラットフォームのプッシュコンテンツ情報を含みます: - android: Androidプラットフォームのプッシュコンテンツ(title、contentなどのフィールドを含む) - ios: iOSプラットフォームのプッシュコンテンツ(title、content、subtitleなどのフィールドを含む) - message: カスタムメッセージコンテンツ(title、contentなどのフィールドを含む) |
指標
キーワード | 型 | オプション | 説明 |
---|---|---|---|
sub_web | Object | Optinal | Webチャネルの各プッシュチャネルのデータ集計統計 |
engageLab_web | Object | Optinal | Engagelabチャネルのデータ集計統計 |
chrome | Object | Optinal | Chromeチャネルのデータ集計統計 |
safari | Object | Optinal | Safariチャネルのデータ集計統計 |
firefox | Object | Optinal | Firefoxチャネルのデータ集計統計 |
edge | Object | Optinal | Edgeチャネルのデータ集計統計 |
other | Object | Optinal | その他のチャネルのデータ集計統計 |
ユーザー統計
- 過去2か月の一定期間内のユーザーの関連統計データを提供します:新規ユーザー、オンラインユーザー、アクティブユーザーを含みます。
- 時間単位:HOUR、DAY、MONTH
リクエストAPI URL
GET v4/status/users
リクエスト例
curl -v https://webpushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/users?time_unit=&start=&duration= HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
curl -v https://webpushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/users?time_unit=&start=&duration= HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
このコードブロックはフローティングウィンドウ内に表示されます
リクエストパラメータ
キーワード | 型 | オプション | 説明 |
---|---|---|---|
time_unit | String | Optional | 時間単位:<li> HOUR<li> DAY<li> MONTH |
start | String | Optional | 開始時間<li> 単位がhourの場合、開始時間は時間(日を含み、2桁未満は0を埋める)で、例:2006-01-02T15<li> 単位がdayの場合、開始時間は日付(日)で、例:2022-06-11<li> 単位がmonthの場合、開始時間は日付(月)で、例:2022-06 |
duration | String | Optional | 期間<li> 単位がdayの場合、日数です<li> 60日以内のユーザー情報のみクエリ可能です。timeunitがHOURの場合は、当日の統計結果のみ出力できます。 |
レスポンス例
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"time_unit": "DAY",
"start": "2014-06-10",
"duration": 3,
"items": [{
"time": "2014-06-12",
"web": {
"new": 1,
"active": 1,
"online": 2
}
}]
}
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"time_unit": "DAY",
"start": "2014-06-10",
"duration": 3,
"items": [{
"time": "2014-06-12",
"web": {
"new": 1,
"active": 1,
"online": 2
}
}]
}
このコードブロックはフローティングウィンドウ内に表示されます
パラメータ
成功レスポンスはJSONオブジェクトです:
キーワード | Type | オプション | 説明 |
---|---|---|---|
time_unit | String | Required | 時間単位は以下の3つを含みます:<li> HOUR<li> DAY<li> MONTH |
start | String | Required | 開始時間<li> 単位がhourの場合、開始時間は時間(日を含み、2桁未満は0を埋める)で、例:2022-06-11 09<li> 単位がdayの場合、開始時間は日付(日)で、例:2022-06-11<li> 単位がmonthの場合、開始時間は日付(月)で、例:2022-06 |
duration | String | Required | 期間<li> 単位がdayの場合、日数です<li> 60日以内のユーザー情報のみクエリ可能です。timeunitがHOURの場合は、当日の統計結果のみ出力できます。 |
items | JSON Array | Required | 期間によって範囲内の統計結果をクエリします |
- items :
- web:Webプラットフォームのデータ集計統計
キーワード | 型 | オプション | 説明 |
---|---|---|---|
new | Int64 | optional | 新規ユーザー |
online | Int64 | optional | オンラインユーザー |
active | Int64 | optional | アクティブユーザー |
メッセージライフサイクル状態のクエリ
- message_idの下にある対応するデバイスのメッセージライフサイクル状態をクエリします。
- 各プッシュメッセージの統計データは最長で1か月間保持されます。
リクエストAPI URL
GET v4/status/message
リクエスト例
curl -v https://webpushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584®istration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/status?message_id=®istration_ids= HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
curl -v https://webpushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584®istration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/status?message_id=®istration_ids= HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
このコードブロックはフローティングウィンドウ内に表示されます
パラメータ
キーワード | 型 | オプション | 説明 |
---|---|---|---|
message_id | String | Required | メッセージID |
registration_ids | String | Required | <li> 登録ID。複数の登録IDは","で区切ります。<li> 最大1000個のregistration_idsをサポートします。 |
レスポンス例
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"1507bfd3a7c568d4761": {
"status": "plan"
},
"1618cfd3a7c568d4761": {
"error_message": "The `registration_id` does not belong to the appkey"
},
"17259fd3a7c568d4371": {
"error_message": "internal error"
}
}
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"1507bfd3a7c568d4761": {
"status": "plan"
},
"1618cfd3a7c568d4761": {
"error_message": "The `registration_id` does not belong to the appkey"
},
"17259fd3a7c568d4371": {
"error_message": "internal error"
}
}
このコードブロックはフローティングウィンドウ内に表示されます
パラメータ
成功レスポンスはJSONオブジェクトで、このメッセージの下にある各registration_idの現在の状態が含まれています。例外情報がある場合は、error-messageに含まれます。
キーワード | 型 | オプション | 説明 |
---|---|---|---|
status | String | optional | 値の範囲:<li> plan:計画対象<li> target_valid:有効対象<li> target_invalid:無効対象<li> sent:送信済み<li> sent_failed:送信失敗<li> delivered:配信済み<li> delivered_failed:配信失敗<li> impression:表示済み<li> click:クリック済み |
error_message | String | optional | エラーメッセージ |
リクエストレスポンス
HTTPステータス
業務コードの戻り
コード | 説明 | HTTPステータスコード |
---|---|---|
0 | 成功 | 200 |
21001 | メソッドがサポートされていないか、URLが無効です | 404 |
21003 | パラメータ値が無効です | 400 |
23001 | Basic認証に失敗しました | 401 |
23002 | パラメータが不足しています! | 400 |
23004 | time_unitの値がstartと一致しません! | 400 |
23007 | 30日以内のmessage_idのみクエリをサポートしています! | 400 |
23100 | サーバーエラー | 500 |
27000 | サーバー応答タイムアウトです。後で再試行してください | 500 |
27201 | msgidが存在しないか、このアプリケーションに属していません | 400 |