Mac 애플리케이션 업그레이드 전략 API
API 설명: 클라이언트의 버전 번호를 기반으로 해당 업그레이드 전략을 가져옵니다
📮요청 정보
요청 URL
POST https://api.upgrade.toolsetlink.com/v1/mac/upgrade
요청 헤더
| 매개변수 이름 | 필수 | 타입 | 예시 | 설명 |
|---|---|---|---|---|
| X-Timestamp | 예 | string | 2025-02-17T10:34:55+08:00 | RFC3339 형식의 요청 시간 |
| X-Nonce | 예 | string | fc812cc0b9b51e8c | 고유한 랜덤 문자열 (최소 16자) |
| X-AccessKey | 예 | string | mui2W50H1j-OC4xD6PgQag | AccessKey |
| X-Signature | 예 | string | 3603437250c2df51fc46426ac79d8995 | 요청 서명 서명 규칙 |
| Content-Type | 예 | string | application/json |
🔐 재생 공격 방지 메커니즘
- 서버는 서버 시간과의 타임스탬프 차이가 ±5분을 초과하지 않는지 확인합니다
- 서버는 Nonce 값이 이미 존재하는지 확인합니다 (중복 요청 방지)
요청 본문
json
{
"macKey": "isVZBUvkFhv6oHxk_X-D0Q",
"arch": "x64",
"versionCode": 1,
"appointVersionCode": 0,
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}요청 본문 매개변수 설명
| 매개변수 이름 | 필수 | 타입 | 예시 | 설명 |
|---|---|---|---|---|
| macKey | 예 | string | isVZBUvkFhv6oHxk_X-D0Q | Mac 애플리케이션의 고유 식별자 |
| versionCode | 예 | int | 1 | 클라이언트 버전 코드 |
| appointVersionCode | 아니요 | int | 0 | 원하는 업그레이드 버전 코드, 0이거나 제공되지 않으면 최신 버전 기본 적용 |
| devModelKey | 아니요 | string | stv1 | 기기 모델의 고유 식별자 |
| devKey | 아니요 | string | LOYlLXNy7w | 고유한 기기 식별자 (mac을 식별자로 사용할 수 있음) |
| arch | 예 | string | x64 | 머신 아키텍처: x64, arm64 |
📮응답 정보
성공 응답 본문
json
{
"code": 200,
"msg": "New version found",
"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": "Prompt content"
}
}응답 본문 매개변수 설명
| 매개변수 이름 | 타입 | 예시 | 설명 |
|---|---|---|---|
| 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 | Prompt content | 알림 업그레이드 설명 내용 |
일반적인 오류 응답 본문
json
{
"code": 404001,
"msg": "No available version found",
"docs": "No corresponding application version found. Please confirm if it has been correctly created in the system. Please refer to the documentation: https://upgrade.toolsetlink.com/en/upgrade/recommend/apk/app-version.html",
"data": null
}📊상태 코드
| HTTP 상태 코드 | code | 시나리오 설명 | 해결 방법 |
|---|---|---|---|
| 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 | 내부 서버 데이터 유효성 검사 실패 | 문의해 주세요 연락처 |