设备
复制一个包含安装步骤和本插件的完整 Markdown 指南的配置提示
设备是单独的应用程序安装,向 Capgo 报告更新器元数据。使用此 API 来检索该元数据或设置和删除设备特定的私有频道重写。
设备元数据
标题为“设备元数据”每个记录都可以包含设备 ID、平台、更新器和 OS 版本、原生构建、安装的捆绑包、生产和模拟器状态、自定义 ID 和频道重写。
当可用时, country_code 是最新的有效的两位字母ISO 3166-1国家code,来自设备的Cloudflare-处理的请求。它不是GPS或您的应用程序提供的位置值。它可以 null 当不可用时使用单设备查找
API端点
API端点POST
POSThttps://api.capgo.app/device/
为设备设置一个私有的__CAPGO_KEEP_0__。要为设备选择一个__CAPGO_KEEP_1__,将该__CAPGO_KEEP_1__ assign 到__CAPGO_KEEP_0__;直接的设备级__CAPGO_KEEP_1__覆盖不受支持。 请求体 请求体
复制到剪贴板
API端点interface DeviceChannelOverride { app_id: string; // reverse-domain app ID, for example com.example.app device_id: string; channel: string; // existing non-public channel name}示例请求
示例请求curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456", "channel": "beta" }' \ https://api.capgo.app/device/公共频道不能作为设备覆盖
成功响应
成功响应{ "status": "ok"}GET
GEThttps://api.capgo.app/device/
获取设备元数据。结果在省略 device_id.
app_id: 必须的反向域名应用 ID,例如com.example.app.device_id: 可选的设备 ID。 当存在时,响应是一个单个设备而不是分页列表。customIdMode: 可选的布尔值。 设置为true来仅返回非空的custom_id.cursor: 可选的从前一个列表响应中获取的游标。limit: 可选的每页设备数量。
# Get the first pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app"
# Get one device, including its request-derived country when availablecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&device_id=device_456"
# Get only devices with a custom IDcurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&customIdMode=true"
# Get the next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&cursor=2024-01-01T00:00:00Z%7Cdevice_456"响应类型
响应类型interface DeviceListResponse { data: Device[]; nextCursor?: string; hasMore: boolean;}
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; version_name: string | null; channel?: string; app_id: string; platform: "ios" | "android" | "electron"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean; key_id: string | null; install_source: string | null; country_code: string | null;}country_code Capgo由设备特定的查找填充,当Capgo存储了一个有效的Cloudflare-派生国家code时 null 对于此字段
列表示例响应
列表示例响应{ "data": [ { "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": null, "install_source": null, "country_code": null, "updated_at": "2024-01-01T00:00:00Z" } ], "nextCursor": "2024-01-01T00:00:00Z|device_456", "hasMore": true}单个设备示例响应
单个设备示例响应{ "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": "MIIB", "install_source": null, "country_code": "FR", "updated_at": "2024-01-01T00:00:00Z", "channel": "beta"}删除
删除https://api.capgo.app/device/
移除设备的频道覆盖。设备将使用其正常的频道选择;此端点不会删除其元数据记录。
请求体或查询参数
标题:请求体或查询参数interface DeviceOverrideRemoval { app_id: string; device_id: string;}示例请求
标题:示例请求curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456" }' \ https://api.capgo.app/device/成功响应
标题:成功响应{ "status": "ok"}错误
错误错误使用HTTP错误状态和一个JSON体 error 和 message 字段
invalid_app_id当app_id不是一个逆向域名标识符device_not_found查找未知设备channel_not_found当请求的频道不存在public_channel_override尝试将设备重写为公共频道invalid_version_id尝试直接覆盖捆绑包; 使用频道cannot_access_app或cannot_access_channel当缺少所需的权限的API键
常见用例
常见用例-
将测试设备移动到私有beta频道
{"app_id": "com.example.app","device_id": "device_456","channel": "beta"} -
重置设备到正常频道选择
使用
DELETEendpoint
继续从设备
如果您正在使用设备 来规划频道路由和阶段性发布 将其与 频道 为频道的实现细节 频道 为频道的实现细节 频道 为频道的实现细节 Beta测试解决方案 为Beta测试解决方案的产品工作流程 版本定位解决方案 为版本定位解决方案的产品工作流程