用于签署 iOS 代理的 API
本主题介绍如何使用 API 调用使用多个 Apple 帐户自动签署代理应用程序。然后,您可以为不同的设备使用不同的 iOS 帐户。本主题仅适用于 UFT Digital Lab。
注: 这些 API 在将来的 Digital Lab 版本中可能会更改并破坏向后兼容性。
概述
使用 API,您可以通过上载预配概要文件和 iOS 证书来创建资产集。创建集之后,代理应用程序会自动使用上载的文件重新签名,并且资源集将分发到全部连接的连接器。资源集包含新签名的代理应用程序和 UDID 列表。将新的或更新的资源集分发到连接器后,未连接到 UFT Digital Lab 服务器的任何设备都会尝试再次使用新分发的代理进行连接。
先决条件
确保已为 iOS 设置了自动应用程序代码注入和签名服务。有关详细信息,请参阅 自动签名服务
日志英寸
会话中的第一个 REST API 请求必须是登录请求。有关详细信息,请参见在 REST API 文档中登录 。
对于后续 API 请求,请使用登录响应标头中的 x-hp4msecret 和 cookie。
创建资源集
这将在 Digital Lab 服务器上创建资源集。资产集由签名的代理应用程序, 和可安装应用程序的设备列表 (取自用于签署代理的预配概要文件) 组成。要更新现有资源集,请调用更新资源集。
方法: POST/rest/v2/assets
请求正文: 多部分
- file application/octet-stream zip 文件,其中包含 iOSDeveloper 证书和匹配的预配概要文件。证书和预配概要文件的团队 ID 必须相同。
- assetDetails application/json {"name": "name" ,"password": "123456"}。
名称 提供资产名称 密码 iOS 开发人员证书的密码
响应
200 | 成功 |
400 | 错误的请求。名称已存在,证书或预配概要文件无效 |
500 | 服务器错误 |
主体 (示例):
{
"name": "name" ,
"groupId": "xxx" ,
" certificate ExpirationDate": "xxxx" ,
"udid": [
"udid1",
"udid2"
]、
"signingId":” dddd-ddd”
}
上载的文件用于对代理应用程序进行签名,资源集将通过自动 API 调用分发到连接的连接器。签名 ID 可用于标识应用程序的签名和分发到连接器的状态。
更新资源集
更改资产集的证书和预配概要文件。更改资源集时,代理将使用新资产重新签名,并分发到连接到 Digital Lab 服务器的全部连接器。
方法: PUT/rest/v2/assets
请求正文: 多部分
- file application/octet-stream zip 文件,其中包含 iOSDeveloper 证书和匹配的预配概要文件。证书和预配概要文件的团队 ID 必须相同。
- assetDetails application/json {"name": "name" ,"password": "123456"}。
名称 提供资产名称 密码 iOS 开发人员证书的密码
响应:
200 | 成功 |
400 | 错误的请求。无法按名称查找资产,证书无效或预配概要文件 |
500 | 服务器错误 |
主体 (示例):
{
"name": "name" ,
"groupId": "xxx" ,
" certificate ExpirationDate": "xxxx" ,
"udid": [
"udid1",
"udid2"
]、
"signingId":” dddd-ddd”
}
删除资源集
删除资源集 (如果不再需要)。资源集将从 Digital Lab 服务器以及连接器中移除。使用已删除资产集中的代理的已连接设备不会断开连接。
方法: DELETE/rest/v2/assets/{name}
请求正文: 否主体
响应:
200 | 成功 |
400 | 资产不存在 |
500 | 服务器错误 |
正文: 否响应正文。
获取所有资源集的详细信息
检索所有资产集的名称、团队 ID、证书过期日期和设备 UDID 列表。
方法: GET/rest/v2/assets
请求正文: 否主体。
响应:
200 | 成功 |
500 | 服务器错误 |
主体 (示例):
[
{
"name": "name" ,
"groupId": "xxx" ,
"ExpirationDate": "xxxx" ,
"udids": [
"udid1",
"udid2"
]
}
{
"name": "name2" ,
"groupId": "xyz" ,
"ExpirationDate": "xxxx" ,
"udids": [
"udid3",
"udid4"
]
}
从所有资源集中获取 UDID
从所有资源集中检索所有唯一设备 ID (UDID) 的列表。
方法: GET/rest/v2/assets/udid
请求正文: 否主体。
响应:
200 | 成功 |
500 | 服务器错误 |
主体 (示例):
["udid1" ,"udid2" ,"udid3" ,"udid4"]
获取签名和分发状态
通过 signingId 获取资源集的状态。创建或更新资源集时, signingId 位于响应体中。有四种状态: 空闲、签名、分发、结束。
方法: GET/rest/signature/{signingId}/status /
请求正文: 否主体。
响应:
200 | 成功 |
500 | 服务器错误 |
主体 (示例):
{"messageCode": 0,
"message": "0" ,
"signingId": "xxxx" ,
"状态" : "分布"}
将签名的资产分配给特定的连接器
无需手动调用此 API。创建或更新资源集后,将自动对该资源集中的代理进行签名,并将资源集分发到全部连接的连接器。
方法: PUT rest/v2/connector/{connectorId}/signedAssets
请求正文: 否主体
响应:
200 | 成功 |
500 | 服务器错误 |
正文: 否响应正文。
分发新签名的代理
在创建新资源集或更新现有资源集后,对代理应用程序重新签名时,将资源集分布到所有接头。无需手动调用此 API。创建或更新资源集后,将自动对该资源集中的代理进行签名,并将资源集分发到全部连接的连接器。
方法: PUT rest/v2/connector/signedAssets
请求正文: 否主体
响应:
200 | 成功 |
500 | 服务器错误 |
正文: 否响应正文。