一、整体流程
- 在用户中心获取用户
token,后续所有接口请求均需携带。
- 提交设备 UDID 到
/api/adddevice(秒出)或 /api/addyydevice(预约)。
- 通过
/api/getcertificate 按证书 id 或设备 udid 查询证书。
- 使用
/api/checkstatus 检查设备状态,并根据错误码与保修类型判断结果。
二、接口基础
| 项目 | 说明 |
| 接口基础地址 | https://cert.invalid |
| 请求方式 | POST 或 GET,均可正常提交。 |
| 鉴权 | 所有接口需要携带 token 参数。 |
| token 获取 | 在用户中心获取,注意保密。 |
GET 请求以 Query String 传递参数;POST 请求以表单 application/x-www-form-urlencoded 传递参数。
GET /api/adddevice?token=你的Token&udid=00008030-0012345678901234&warranty=1&type=0&deviceType=iphone
三、添加设备(秒出)
| 项目 | 说明 |
| 请求地址 | POST / api/adddevice 或 GET /api/adddevice |
| 说明 | 添加设备,秒出;接口路径以 /api/adddevice 为准。 |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
token | string | 是 | 用户Token,在用户中心获取。 |
udid | string | 是 | 设备UDID。 |
beizhu | string | 否 | 备注信息。 |
warranty | int | 否 | 证书类型:0躺平 1标准 2加强 3稳定 4摆烂 5超标准 6高级摆烂,默认1。 |
type | int | 否 | 0或空为公共池,1独立池,2自动选择(优先独立池)。 |
deviceType | string | 否 | 设备类型:iphone/ipad,默认iphone。 |
返回示例
{
"code": 1,
"msg": "设备已存在",
"time": "1665908085",
"data": {
"id": "13DGU",
"pname": "开发者名称",
"pool": 0,
"addtime": 1665908085,
"mobileprovision": "MIIvvQYJKoZIhvcNAQcCoIIvrjCCL6oCAQExCzAJBgUxxxx",
"p12": "MIIMIQIBAzCCC+cGCSqGSIb3DQEHAaCCC9gEggvUMIIL0DCCBocGCxxxxx",
"state": true
}
}
注意:code 为数值 1 时表示成功,各接口也可能返回错误码,需结合本文档错误码说明判断。
四、添加设备(预约)
| 项目 | 说明 |
| 请求地址 | POST /api/addyydevice 或 GET /api/addyydevice |
| 说明 | 添加设备(预约),结果需在设备列表查看状态。 |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
token | string | 是 | 用户Token。 |
udid | string | 是 | 设备UDID。 |
beizhu | string | 否 | 备注信息。 |
warranty | int | 否 | 证书类型:0躺平版 1普通版 2加强版 3稳定版。 |
type | int | 否 | 0或空为公共池,1独立池,2自动选择。 |
iswsh | int | 否 | 强行添加预约参数(补签),设为1。 |
返回示例
{
"code": 1,
"msg": "预约成功,在设备列表可查看状态",
"time": "1665908581",
"data": {
"id": "B68B2",
"pname": "开发者名称",
"pool": 0,
"addtime": 1665908581,
"mobileprovision": "",
"p12": "MIIL6QIBAzCCC68GCSqGSIb3DQEHAaCCC6AExx"
}
}
五、查询证书
| 项目 | 说明 |
| 请求地址 | POST /api/getcertificate 或 GET /api/getcertificate |
| 说明 | 按证书 ID 或设备 UDID 查询证书。 |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
id | string | 否 | 证书ID,id和udid至少填一个。 |
udid | string | 否 | 设备UDID,id和udid至少填一个。 |
注意:id 与 udid 至少填写一个,二者均可同时传入。
返回示例
{
"code": 1,
"msg": "返回成功",
"time": "1665905350",
"data": {
"id": "FHK8V",
"pool": 0,
"type": 0,
"addtime": 1679000526,
"mobileprovision": "MIIvTwYJKoZIhvcNAQcCoIIvQDCCLzwCAQExxx",
"p12": "MIIL8QIBAzCCC7cGCSqGSIb3DQEHAaCCCxxx",
"state": true,
"warranty": true,
"warranty_time": 1679736526
}
}
六、检查设备状态
| 项目 | 说明 |
| 请求地址 | POST /api/checkstatus 或 GET /api/checkstatus |
| 说明 | 检查设备状态,并根据错误码与保修类型判断结果。 |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
kid | string | 是 | 证书编号。 |
返回示例
{
"code": 1,
"msg": "success",
"data": {
"kid": "ABC123",
"udid": "00008030-001234567890",
"status": "正常",
"pname": "开发者名称"
}
}
错误码说明
| 错误码 | 说明 |
| 0 | 失败 |
| 1 | 成功 |
| 1001 | 参数错误或Token无效 |
| 1002 | 余额不足 |
| 1003 | 设备数不足 |
| 1004 | 没有可用的开发者账号 |
保修类型说明
| 值 | 名称 | 说明 |
| 0 | 躺平版 | 最低保修等级,价格最低 |
| 1 | 普通版 | 标准保修等级,推荐使用 |
| 2 | 加强版 | 加强保修等级,稳定性更好 |
| 3 | 稳定版 | 稳定保修等级,适合长期使用 |
| 4 | 摆烂版 | 特殊保修等级(仅公共池) |
七、对接检查清单
| 检查项 | 结果要求 |
| Token | 所有请求均携带有效 token,避免 1001 错误。 |
| UDID | 设备 UDID 正确,来源可靠。 |
| 证书类型 | warranty 取值与站点支持的保修类型一致。 |
| 证书池 | type 取值正确(公共池/独立池/自动选择)。 |
| 证书查询 | /api/getcertificate 能按 id 或 udid 返回 mobileprovision 与 p12。 |
| 状态检查 | /api/checkstatus 返回 code=1 为成功;错误码按第 1001~1004 判断。 |