統計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&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status?message_id=&registration_ids= HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              curl -v https://webpushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"

< GET /v4/status?message_id=&registration_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-Status-Code

業務コードの戻り

コード 説明 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
icon
お問い合わせ