基础 URL 与鉴权
https://api.phonecloudify.com/v1
Authorization: Bearer orb_live_…密钥在 设置 → API 中按工作区创建。限流:Starter 每天 1,000 次,Growth 25,000 次,Scale 与企业版不限。所有响应为 JSON,错误返回中的 error.code 字符串跨版本保持稳定。
设备
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /devices | 列出设备,可按分组、区域、状态过滤 |
| POST | /devices | 开通设备 |
| GET | /devices/{id} | 设备详情,含身份与 IP |
| POST | /devices/{id}/start | 启动已停止的设备 |
| POST | /devices/{id}/stop | 停止设备(按分钟计费时暂停计费) |
| POST | /devices/{id}/snapshot | 创建可还原快照 |
| POST | /devices/{id}/clone | 克隆为新的自洽身份 |
| DELETE | /devices/{id} | 退役设备并烧毁身份 |
示例:开通设备
curl -X POST https://api.phonecloudify.com/v1/devices \
-H "Authorization: Bearer $PHONECLOUDIFY_KEY" \
-H "Content-Type: application/json" \
-d '{
"plan": "growth",
"region": "eu-west",
"country": "FR",
"carrier": "orange",
"model": "pixel_8a",
"android": 14,
"ip_policy": "identity",
"group": "grp_fr_snap"
}'{
"id": "dev_8f2a41c0",
"state": "booting",
"eta_seconds": 11,
"identity": {
"imei": "35•••••••••••••",
"model": "Pixel 8a",
"android": "14",
"locale": "fr-FR",
"timezone": "Europe/Paris"
},
"network": {
"carrier": "Orange",
"asn": "AS3215",
"type": "mobile-4g",
"policy": "identity"
}
}Webhook
每个事件都会向你的接口发起带签名的 POST。签名对原始请求体使用 HMAC-SHA256 与你的 Webhook 密钥计算,放在 X-PhoneCloudify-Signature 头中。
| 事件 | 触发时机 |
|---|---|
| device.ready | 开通完成 |
| device.stopped | 设备停止(手动或策略触发) |
| identity.flagged | Ban Shield 遥测检测到风险信号 |
| ip.rotated | 绑定的 IP 发生变化 |
| flow.completed | RPA 流程执行完毕 |
| flow.blocked | 护栏阻断了某个步骤 |
| patch.applied | Ban Shield OTA 补丁下发到设备 |
SDK
pip install phonecloudify
npm install @phonecloudify/sdk
go get github.com/phonecloudify/phonecloudify-go