Mac アプリケーションアップグレード戦略 API
API 説明:クライアントのバージョン番号に基づいて、対応するアップグレード戦略を取得します
📮 リクエスト情報
リクエスト URL
POST https://api.upgrade.toolsetlink.com/v1/mac/upgrade
リクエストヘッダー
| パラメータ名 | 必須 | 型 | 例 | 説明 |
|---|---|---|---|---|
| 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 値が既に存在するかどうかを確認します(重複リクエストを防止するため)
リクエストボディ
json
{
"macKey": "isVZBUvkFhv6oHxk_X-D0Q",
"arch": "x64",
"versionCode": 1,
"appointVersionCode": 0,
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}リクエストボディパラメータ説明
| パラメータ名 | 必須 | 型 | 例 | 説明 |
|---|---|---|---|---|
| macKey | Yes | string | isVZBUvkFhv6oHxk_X-D0Q | Mac アプリケーションの一意の識別子 |
| versionCode | Yes | int | 1 | クライアントバージョンコード |
| appointVersionCode | No | int | 0 | 希望するアップグレードバージョンコード、0 または指定なしで最新バージョン |
| devModelKey | No | string | stv1 | デバイスモデルの一意の識別子 |
| devKey | No | string | LOYlLXNy7w | デバイスの一意の識別子(識別子として mac を使用できます) |
| arch | Yes | string | x64 | マシンアーキテクチャ: x64, arm64 |
📮 レスポンス情報
成功レスポンスボディ
json
{
"code": 200,
"msg": "新しいバージョンが見つかりました",
"data": {
"macKey": "isVZBUvkFhv6oHxk_X-D0Q",
"packageName": "com.a.c",
"versionName": "v2",
"versionCode": 2,
"urlPath": "https://cdn.upgrade.toolsetlink.com/upgrade/2025-07-02/image/20250702102511_dl-logo-48x.png",
"urlFileSize": 7213,
"urlFileMd5": "",
"upgradeType": 1,
"promptUpgradeContent": "アップグレードプロンプトコンテンツ"
}
}レスポンスボディパラメータ説明
| パラメータ名 | 型 | 例 | 説明 |
|---|---|---|---|
| macKey | string | isVZBUvkFhv6oHxk_X-D0Q | Mac アプリケーションの一意の識別子 |
| packageName | string | com.a.c | Mac アプリケーションのパッケージ名 |
| versionName | string | v1 | バージョン名 |
| versionCode | int | 1 | バージョンコード |
| urlPath | string | http://file.com/2.apk | ファイルダウンロード URL |
| urlFileSize | int | 7213 | ファイルサイズ(バイト) |
| urlFileMd5 | string | isVZBUvkFhv6oHxk | ファイル MD5 ハッシュ |
| upgradeType | int | 1 | アップグレード方法: 1: プロンプトアップグレード; 2: サイレントアップグレード; 3: 強制アップグレード |
| promptUpgradeContent | string | アップグレードプロンプトコンテンツ | アップグレードプロンプト説明 |
典型的なエラーレスポンスボディ
json
{
"code": 404001,
"msg": "利用可能なバージョンが見つかりません",
"docs": "対応するアプリケーションバージョンが見つかりません。システムに正しく作成されているか確認してください。ドキュメントを参照してください:https://upgrade.toolsetlink.com/ja/upgrade/recommend/mac/app-version.html",
"data": null
}📊 ステータスコード
| HTTP ステータスコード | コード | シナリオ説明 | 解決策 |
|---|---|---|---|
| 200 | 0 | リクエスト成功、既に最新バージョンです | |
| 200 | 200 | リクエスト成功、アップグレード戦略を取得 | |
| 400 | 400001 | 無効なリクエスト | |
| 400 | 400002 | パラメータが不足しています | |
| 400 | 400003 | 無効なパラメータ | |
| 400 | 400004 | 無効なヘッダー | |
| 400 | 400005 | 無効なリクエストボディ | |
| 401 | 401001 | 認証に失敗しました | |
| 401 | 401002 | 署名検証に失敗しました | |
| 404 | 404001 | リソースが見つかりません | |
| 404 | 404002 | レコードが見つかりません | |
| 404 | 404003 | 処理方法が見つかりません | |
| 404 | 404004 | リクエストが見つかりません | |
| 429 | 429001 | アプリケーションタスク戦略のリクエストレート制限 | 現在のアップグレードタスクに設定されているリクエストレート制限に達しました。後でもう一度お試しください。 |
| 500 | 500001 | サーバー内部エラー | お問い合わせください お問い合わせ |
| 500 | 500002 | サーバー内部データ検証に失敗しました | お問い合わせください お問い合わせ |