イベント報告
API 説明:異なるイベントタイプに基づいて対応する内容を報告します。
報告されたイベントタイプのデータは、システムの統計データに反映されます。
📮 リクエスト情報
リクエスト URL
POST https://api.upgrade.toolsetlink.com/v1/app/report
リクエストヘッダー
| パラメータ名 | 必須 | タイプ | 例の値 | 説明 |
|---|---|---|---|---|
| X-Timestamp | Yes | string | 2025-02-17T10:34:55+08:00 | RFC3339 形式のリクエスト時間 |
| X-Nonce | Yes | string | fc812cc0b9b51e8c | 一意のランダム文字列(少なくとも 16 文字) |
| X-AccessKey | Yes | string | mui2W50H1j-OC4xD6PgQag | シークレットキー AccessKey |
| X-Signature | Yes | string | 3603437250c2df51fc46426ac79d8995 | リクエスト署名 署名ルール |
| Content-Type | Yes | string | application/json |
🔐 リプレイ攻撃防止メカニズム
- サーバーはタイムスタンプがサーバー時間と ±5 分以上異ならないことを検証します
- サーバーは Nonce 値が既に存在するかどうかを確認します(重複リクエストを防ぐため)
リクエストボディパラメータ
| パラメータ名 | 必須 | タイプ | 例の値 | 説明 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| eventType | Yes | string | app_start | イベントタイプ: app_start アプリケーション起動イベント app_upgrade_download アプリケーションアップグレード-ダウンロードイベント app_upgrade_upgrade アプリケーションアップグレード-アップグレードイベント | ||||||||||||
| appKey | Yes | LOYlLXNy7wV3ySuh0XgtSg | LOYlLXNy7wV3ySuh0XgtSg | 一意のアプリケーション識別子、urlKey および fileKey と同じ値 | ||||||||||||
| timestamp | Yes | string | 2025-02-17T10:34:55+08:00 | イベント発生時間 | ||||||||||||
| eventData | Yes | 拡張フィールド (イベントタイプ app_start アプリケーション起動イベント) | ||||||||||||||
| - launchTime | Yes | string | 2025-02-17T10:34:55+08:00 | RFC3339 形式のアプリケーション起動時間 | ||||||||||||
| - versionCode | Yes | int | 10 | 現在のアプリケーションバージョンコード | ||||||||||||
| - devModelKey | No | string | stv1 | 一意のデバイスモデル識別子 | ||||||||||||
| - devKey | No | string | 89c8b3d5f2a74e1b | 一意のデバイス識別子(MAC アドレスを一意の識別子として使用できます) | ||||||||||||
| - target | No | string | darwin | デバイスシステム | ||||||||||||
| - arch | No | string | x86_64 | デバイスアーキテクチャ | ||||||||||||
| eventData | Yes | 拡張フィールド (イベントタイプ app_upgrade_download アプリケーションアップグレード-ダウンロードイベント) | ||||||||||||||
| - downloadVersionCode | Yes | int | 11 | アップグレード戦略によって返されるアップグレードバージョン | ||||||||||||
| - code | Yes | int | 0 |
| ||||||||||||
| - versionCode | Yes | int | 10 | 現在のアプリケーションバージョンコード | ||||||||||||
| - devModelKey | No | string | stv1 | 一意のデバイスモデル識別子 | ||||||||||||
| - devKey | No | string | 89c8b3d5f2a74e1b | 一意のデバイス識別子(MAC アドレスを一意の識別子として使用できます) | ||||||||||||
| - target | No | string | darwin | デバイスシステム | ||||||||||||
| - arch | No | string | x86_64 | デバイスアーキテクチャ | ||||||||||||
| eventData | Yes | 拡張フィールド (イベントタイプ app_upgrade_upgrade アプリケーションアップグレード-アップグレードイベント) | ||||||||||||||
| - upgradeVersionCode | Yes | int | 11 | アップグレード戦略によって返されるアップグレードバージョン | ||||||||||||
| - code | Yes | int | 0 |
| ||||||||||||
| - versionCode | Yes | int | 10 | 現在のアプリケーションバージョンコード | ||||||||||||
| - devModelKey | No | string | stv1 | 一意のデバイスモデル識別子 | ||||||||||||
| - devKey | No | string | 89c8b3d5f2a74e1b | 一意のデバイス識別子(MAC アドレスを一意の識別子として使用できます) | ||||||||||||
| - target | No | string | darwin | デバイスシステム | ||||||||||||
| - arch | No | string | x86_64 | デバイスアーキテクチャ | ||||||||||||
リクエストボディの例
app_download アプリケーション-ダウンロードイベント(このイベントは 最初のダウンロード API を呼び出すと自動的に記録され、手動でのリクエストは必要ありません)
json
{
"eventType": "app_download",
"timestamp": "2025-02-17T10:34:55+08:00",
"appKey": "SkEgKQ4SyLmzazl31fJnAw"
}app_start アプリケーション-起動イベント
json
{
"eventType": "app_start",
"timestamp": "2025-02-17T10:34:55+08:00",
"appKey": "SkEgKQ4SyLmzazl31fJnAw",
"eventData": {
"launchTime": "2025-02-17T10:34:55+08:00",
"versionCode": 1,
"target": "darwin",
"arch": "x86_64",
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}
}app_upgrade_get_strategy アプリケーションアップグレード-アップグレード戦略取得イベント(このイベントは 最新バージョン取得 API を呼び出すと自動的に記録され、手動でのリクエストは必要ありません)
json
{
"eventType": "app_upgrade_get_strategy",
"timestamp": "2025-02-17T10:34:55+08:00",
"appKey": "SkEgKQ4SyLmzazl31fJnAw",
"eventData": {
"versionCode": 1,
"target": "darwin",
"arch": "x86_64",
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}
}app_upgrade_download アプリケーションアップグレード-ダウンロードイベント
json
{
"eventType": "app_upgrade_download",
"timestamp": "2025-02-17T10:34:55+08:00",
"appKey": "SkEgKQ4SyLmzazl31fJnAw",
"eventData": {
"downloadVersionCode": 2,
"code": 0,
"versionCode": 1,
"target": "darwin",
"arch": "x86_64",
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}
}app_upgrade_upgrade アプリケーションアップグレード-アップグレードイベント
json
{
"eventType": "app_upgrade_upgrade",
"timestamp": "2025-02-17T10:34:55+08:00",
"appKey": "SkEgKQ4SyLmzazl31fJnAw",
"eventData": {
"upgradeVersionCode": 2,
"code": 0,
"versionCode": 1,
"target": "darwin",
"arch": "x86_64",
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}
}📮 レスポンス情報
成功レスポンスボディ
json
{
"code": 200,
"msg": "Report successful"
}典型的なエラーレスポンスボディ
json
{
"code": 400002,
"msg": "Parameter missing"
}📊 ステータスコード
| HTTP ステータスコード | コード | シナリオ説明 | 解決策 |
|---|---|---|---|
| 200 | 0 | リクエスト成功 | |
| 400 | 400001 | 無効なリクエスト | |
| 400 | 400002 | パラメータ不足 | |
| 400 | 400003 | 無効なパラメータ | |
| 400 | 400004 | 無効なヘッダー | |
| 400 | 400005 | 無効なボディ | |
| 401 | 401001 | 認証失敗 | |
| 401 | 401002 | 署名検証失敗 | |
| 404 | 404001 | リソースが見つからない | |
| 404 | 404002 | レコードが見つからない | |
| 404 | 404003 | 処理方法が見つからない | |
| 404 | 404004 | リクエストが見つからない | |
| 500 | 500001 | サーバー内部エラー | お問い合わせください お問い合わせ |
| 500 | 500002 | サーバー内部データ検証失敗 | お問い合わせください お問い合わせ |