24 KiB
tags, doc-type, layer, parent, related
| tags | doc-type | layer | parent | related | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
主文档 | 5、接口/02-业务对接 |
|
|
存客宝 BFF 与工作手机 SDK 映射表
版本: v1.3 | 更新: 2026-06-28 | 负责人: @阿桥 存客宝代码:
cunkebao_v3/Server/application/common/util/WorkPhoneSDK.php工作手机真源: 工作手机API全量接口目录.md 铁律(强制): 真机开发铁律 — 本表每条映射 须真机 E2E 验收,禁止占位/mock 冒充完成。对称文档:存客宝开发文档/5、接口/02-存客宝与工作手机对接/01-总体架构与BFF映射.md§七 S2 奥创后台真机数据调阅(2026-06-08): 资料/S2私域数据调阅索引.md — 设备(含离线197台)、微信号371、好友/聊天 API 与落盘样本
一、三层调用关系
触客宝前端 (React)
│ /v1/workphone/*
▼
存客宝 BFF (ThinkPHP · GetWorkPhoneStatusController 等)
│ WorkPhoneSDK.php
▼
工作手机 SDK (:8899)
│ /api/v3/*
▼
设备 Agent / Frida / ADB
二、环境变量(存客宝侧)
| 变量 | 配置键 | 默认值 | 说明 |
|---|---|---|---|
WORKPHONE_SDK_URL |
workphone.sdk_url |
http://localhost:8899 |
SDK 服务地址 |
WORKPHONE_SDK_KEY |
workphone.api_key |
workphone-secret-key |
Bearer Token |
WORKPHONE_SDK_TIMEOUT |
workphone.timeout |
30 |
请求超时(秒) |
配置文件:cunkebao_v3/Server/config/workphone.php
三、存客宝 BFF 路由 → SDK 路由
| 存客宝 BFF | 方法 | 工作手机 SDK | 说明 |
|---|---|---|---|
/v1/workphone/status |
GET | /health + /api/v3/devices + /api/v3/connection/status + /api/v3/workbench/overview |
聚合总览;优先 workbench |
/v1/workphone/device |
GET | GET /api/v3/devices/{device_id} |
参数:device_id |
/v1/workphone/screenshot |
POST | POST /api/v3/devices/{device_id}/screenshot |
参数:device_id |
/v1/workphone/ai/status |
GET | GET /api/v3/devices/{device_id}/ai/status |
✅ 已注册 |
/v1/workphone/ai/task |
POST | POST /api/v3/devices/{device_id}/ai/task |
✅ 已注册 |
/v1/workphone/ai/standing-order |
POST | POST /api/v3/devices/{device_id}/ai/standing-order |
✅ 已注册 |
/v1/workphone/ai/execute |
POST | POST /api/v3/devices/{device_id}/ai/execute |
✅ 已注册 |
/v1/workphone/hook/events |
GET | GET /api/v3/hook/events |
Hook 事件列表;可选 device_id / event_type / limit |
/v1/workphone/hook/events/sync |
POST | SDK 事件 + WorkPhoneEventBridge |
拉取 Hook 事件并同步存客宝业务 |
/v1/workphone/connection/status |
GET | GET /api/v3/connection/status |
WS / ADB 连接状态 |
/v1/workphone/hook/probe |
GET | GET /api/v3/hook/probe/{device_id} |
Frida / 微信就绪探测 |
/v1/workphone/message/send |
POST | POST /api/v3/message/send |
发消息;可选 channel(hook/adb) |
/v1/workphone/hook/execute |
POST | POST /api/v3/hook/execute |
Hook 统一执行入口 |
/v1/workphone/customer/profile-bundle |
GET | GET /api/v3/customer/profile-bundle |
客户画像聚合:资料/联系人/群/标签/最近消息 |
/v1/workphone/message/sync-since |
POST | POST /api/v3/message/sync-since |
增量消息同步 |
/v1/workphone/stability/watch |
GET | GET /api/v3/stability/watch |
WS/Hook/ADB/耗时采样 |
/v1/workphone/fleet/summary |
GET | GET /api/v3/fleet/summary |
全部手机/项目手机总览 |
/v1/workphone/fleet/devices |
GET | GET /api/v3/fleet/devices |
手机列表;支持 online_only/status/capability/project_id |
/v1/workphone/fleet/execute |
POST | POST /api/v3/fleet/execute |
多设备执行;写类必须 dry_run 或 confirm=true |
/v1/workphone/realtime/status |
GET | GET /api/v3/integration/realtime/status |
在线设备、最近事件、实时订阅入口 |
/v1/workphone/realtime/events |
GET | GET /api/v3/integration/realtime/events |
Hook/Agent/WS 事件流 |
/v1/workphone/sdk/proxy |
POST | 受限代理 /api/v3/* |
BFF 安全透传 SDK 新接口;禁止外部 URL、禁止路径穿越 |
前端定义见:cunkebao_v3/Cunkebao/src/pages/mobile/mine/workphone/api.ts(Hook 事件两条暂无 api.ts 封装,可直接调 BFF)
三B、2026-06-08 私域 P0 对接新增接口
三A.1、2026-07-23 WP-BFF-33 SDK 契约收口
工作手机 SDK 侧已收口以下 BFF 直接依赖:
POST /api/v3/fleet/execute与微信单设备统一执行共享device_transport选路和结构化回执。- 微信写类 Fleet 即使单设备也要求
dry_run=true或confirm=true;演练请求不下发设备命令。 - 执行端未明确返回
success=true时,BFF 只能收到失败结果;code=200不再被视作业务成功证明。 - 超时统一带
error_code=timeout、retryable=true和retry_after_seconds,便于 BFF 重试策略处理。 - 本轮真实 JWT 33 项复跑证据见
开发文档/10、项目管理/02-测试报告/20260723_WP-BFF-33/;当前环境缺有效租户 JWT,保持待验收状态。
3B.1 客户画像聚合
GET /api/v3/customer/profile-bundle
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
device_id |
string | 是 | 工作手机设备 ID,例如 xgfe65eimrrofyws |
platform |
string | 否 | 固定 wechat |
keyword |
string | 否 | 昵称、备注、微信号等模糊匹配 |
user_id |
string | 否 | 指定客户 wxid/微信号,优先于 keyword |
limit |
int | 否 | 返回最近消息/匹配结果数量,默认 50,最大 200 |
contact_limit |
int | 否 | 联系人读取页大小,默认 10000,最大 20000 |
contact_offset |
int | 否 | 联系人分页偏移,默认 0 |
message_limit |
int | 否 | 消息读取页大小,默认 3000,最大 5000 |
message_offset |
int | 否 | 消息分页偏移,默认 0 |
返回重点字段:
| 字段 | 说明 |
|---|---|
data.device_id_md5 |
设备 ID MD5,供前端脱敏显示 |
data.profile |
当前微信资料 |
data.contacts / contact_count |
匹配联系人与总联系人数量 |
data.returned_contact_count / contact_total_count / contacts_has_more |
本页联系人数量、真实总数、是否还有下一页 |
data.groups / group_count |
群列表摘要 |
data.tags / tag_count |
标签摘要 |
data.recent_messages / message_count |
最近消息 |
data.returned_message_count / message_total_count / messages_has_more |
本页消息数量、真实总数、是否还有下一页 |
channel_used |
每个子能力实际通道,当前真机为 websocket/hook |
2026-06-08 真机验收:联系人总数 6196(本页 200,原始 rcontact 6336)、群 27、标签 323、消息总数 2447(本页 50),code=200。
3B.2 增量消息同步
POST /api/v3/message/sync-since
请求:
{
"device_id": "xgfe65eimrrofyws",
"platform": "wechat",
"conversation_id": "",
"since_time": 0,
"limit": 3000,
"offset": 0
}
返回重点字段:
| 字段 | 说明 |
|---|---|
data.messages |
增量候选消息 |
data.count |
本次返回数量 |
data.total_count |
当前会话/全局消息总数 |
data.offset |
当前页偏移 |
data.next_since_time |
下次轮询传入的 since_time |
data.has_more |
是否可能还有更多 |
channel_used |
当前真机为 websocket/hook |
2026-06-08 真机验收:返回 2447 条,total_count=2447,next_since_time=1780904176。
三C、2026-06-12 双通道绑定 · Fleet 发现 · 超管 device-map(CKB-143)
需求真源:四端对接 §3.8.9 · 存客宝 08-四端设备微信数据同源与触达链路
3C.1 双通道 provider(超管第一条 · 已有)
| 配置键 | 典型值 | 说明 |
|---|---|---|
workphone_provider:{companyId} |
workphone_sdk |
方案 A · SDK 主路径(默认) |
| 同上 | s2_legacy |
方案 B · S2/奥创遗留兼容 |
workphone_sdk_device_map:{companyId} |
{"19445":"xgfe65eimrrofyws"} |
A/B 共用 · ck_device ↔ SDK device_id |
保存接口(已有):POST /v1/admin/company/workphone-provider
3C.2 在线设备发现(Fleet · SDK 已验收)
| 存客宝 BFF | 方法 | 工作手机 SDK | 说明 |
|---|---|---|---|
/v1/workphone/fleet/summary |
GET | GET /api/v3/fleet/summary |
在线/总数/按项目分组 |
/v1/workphone/fleet/devices |
GET | GET /api/v3/fleet/devices |
在线设备列表;支持 online_only / capability=frida |
/v1/workphone/fleet/execute |
POST | POST /api/v3/fleet/execute |
多设备 Hook 执行(写类须 dry_run/confirm) |
/v1/workphone/realtime/status |
GET | GET /api/v3/integration/realtime/status |
实时在线 + 最近事件 |
/v1/workphone/realtime/events |
GET | GET /api/v3/integration/realtime/events |
Hook/Agent 事件流 |
:8899/health 摘要字段(超管/运维直连):
| 字段 | 说明 |
|---|---|
devices_online |
当前 WS 在线设备数 |
device_ids |
在线逻辑设备 ID 列表 |
3C.3 超管 BFF 第二条 · device-map(✅ 2026-06-12 已实现)
| 存客宝 BFF | 方法 | 说明 |
|---|---|---|
/v1/admin/company/workphone-device-map |
GET | 返回当前 map + 未绑定 ck_device + SDK 在线未映射设备 + 匹配建议 |
/v1/admin/company/workphone-device-map |
POST | body: { "companyId": 2130, "map": { "19445": "xgfe65eimrrofyws" } } |
代码锚点:WorkphoneProviderService::buildDeviceMapView() · setDeviceMap() · GetWorkphoneDeviceMapController · PostWorkphoneDeviceMapController
保存规则:
- key = 正整数
ck_device.id;value = SDK 字符串device_id - 保存前校验 fleet/health 在线;离线可预绑定但 UI 标黄
- 同一
device_id不可重复绑定 →DEVICE_MAP_CONFLICT
3C.4 绑定后后台挂载字段(调试态 · SDK 已提供)
设备详情/触客宝/AI 经 BFF 聚合以下 SDK 接口,将工作手机 调试态与实时字段 挂载到后台:
| BFF | SDK | 挂载字段 |
|---|---|---|
/v1/workphone/connection/status |
/api/v3/connection/status |
WS/ADB/Hook 在线 |
/v1/workphone/hook/probe |
/api/v3/hook/probe/{device_id} |
Frida 就绪 · supports_hook |
/v1/workphone/profile/get(或 proxy) |
/api/v3/profile/get |
当前 wxid / nickname |
/v1/workphone/device |
/api/v3/devices/{device_id} |
电量 · 型号 · 最后活跃 |
/v1/workphone/realtime/status |
/api/v3/integration/realtime/status |
最近 Agent/Hook 事件 |
验收样例:魔兽世界 companyId=2130 · WZ-01 ck_device.id=19445 ↔ xgfe65eimrrofyws · 微信游条姐 wxid_5g37snchpv8e22
3B.3 稳定性采样
GET /api/v3/stability/watch?device_id=xgfe65eimrrofyws&samples=2&interval_seconds=1
返回重点字段:
| 字段 | 说明 |
|---|---|
data.samples[].ws_online |
WebSocket Agent 在线状态 |
data.samples[].adb_online |
ADB 设备在线状态 |
data.samples[].hook_ok |
Frida/Hook 是否可用 |
data.samples[].wechat_version |
微信版本 |
data.samples[].latency_ms |
单次探测耗时 |
data.summary.success_rate |
采样成功率 |
2026-06-08 真机验收:2/2 成功,success_rate=1.0,最大耗时 537ms。24h 长稳可用该接口循环落盘。
3B.4 写类与资金类安全门控
| 类别 | 接口 | 默认要求 |
|---|---|---|
| 单聊发消息 | POST /api/v3/message/send |
测试对象或 filehelper;返回 message_id 或明确失败 |
| 群消息 | POST /api/v3/group/send-message |
测试群 group_id |
| 群发 | POST /api/v3/mass-send / /message/batch-send |
user_ids/to_ids 白名单,服务端间隔发送 |
| 加好友 | POST /api/v3/friend/add / /friend/batch-add |
测试 wxid,频控和失败原因必须返回 |
| 朋友圈 | POST /api/v3/moments/post/like/comment |
测试内容、测试 sns_id、限频 |
| 红包/转账 | POST /api/v3/payment/red-packet / /payment/transfer |
默认 dry-run;真实确认必须 confirm=true、测试金额、白名单 |
3B.5 SDK 控手机接口开放口径(2026-06-28)
存客宝只调用 BFF,不直连手机和 Frida:
存客宝/触客宝前端
→ /v1/workphone/*
→ WorkPhoneSDK.php
→ 工作手机 SDK /api/v3/*
→ WebSocket Agent
→ Frida Hook / u2 / ADB
→ 工作手机真机微信
| 对接目标 | BFF 首选接口 | SDK 真源 | 说明 |
|---|---|---|---|
| 全部手机总览 | GET /v1/workphone/fleet/summary |
GET /api/v3/fleet/summary |
后台首页统计 |
| 在线手机选择 | GET /v1/workphone/fleet/devices?online_only=1 |
GET /api/v3/fleet/devices |
选择可执行设备 |
| 多设备执行 | POST /v1/workphone/fleet/execute |
POST /api/v3/fleet/execute |
写类多设备必须 dry_run 或 confirm=true |
| 实时在线 | GET /v1/workphone/realtime/status |
GET /api/v3/integration/realtime/status |
在线设备 + 最近事件 |
| 事件流 | GET /v1/workphone/realtime/events |
GET /api/v3/integration/realtime/events |
Hook/Agent/WS 事件追踪 |
| 新 SDK 接口试接 | POST /v1/workphone/sdk/proxy |
受限代理 /api/v3/* |
只允许相对路径 /api/v3/... |
| 读类聚合 | GET /v1/workphone/customer/profile-bundle |
GET /api/v3/customer/profile-bundle |
profile/contacts/groups/tags/messages |
| 单聊写类 | POST /v1/workphone/message/send |
POST /api/v3/message/send |
白名单/filehelper 先验 |
验收顺序:health → fleet/devices → capability → 读类接口 → dry_run 写类 → 白名单真实写类。
默认验收脚本:
sdk/scripts/run_wechat_private_domain_acceptance.py \
-d xgfe65eimrrofyws \
--base http://127.0.0.1:8899
当前报告:开发文档/8、部署/05-测试验收/20260608_微信私域能力验收/private_domain_acceptance_20260608-154118.json,passed=22 failed=0 gated=4。
四、WorkPhoneSDK.php 方法 → SDK 接口(已封装 40+)
4.1 消息
| PHP 方法 | SDK 路径 | 核心参数 |
|---|---|---|
sendMessage() |
POST /api/v3/message/send |
device_id, platform, to_id, content, msg_type |
getMessages() |
POST /api/v3/message/list |
device_id, platform, conversation_id, limit, offset |
batchSendMessage() |
POST /api/v3/message/batch-send |
device_id, platform, to_ids[], content, interval |
replyComment() |
POST /api/v3/comment/reply |
device_id, platform, comment_id, content |
4.2 好友 / 通讯录
| PHP 方法 | SDK 路径 | 核心参数 |
|---|---|---|
addFriend() |
POST /api/v3/friend/add |
device_id, platform, search_key, verify_msg |
acceptFriend() |
POST /api/v3/friend/accept |
device_id, platform, user_id |
setFriendRemark() |
POST /api/v3/friend/set-remark |
device_id, platform, user_id, remark |
deleteFriend() |
POST /api/v3/friend/delete |
device_id, platform, user_id |
batchAddFriend() |
POST /api/v3/friend/batch-add |
device_id, platform, targets[] |
getContacts() |
GET /api/v3/contacts |
device_id, platform, limit, offset |
4.3 群聊
| PHP 方法 | SDK 路径 |
|---|---|
createGroup() |
POST /api/v3/group/create |
inviteToGroup() |
POST /api/v3/group/invite |
removeFromGroup() |
POST /api/v3/group/remove |
setGroupNotice() |
POST /api/v3/group/set-notice |
setGroupName() |
POST /api/v3/group/set-name |
sendGroupMessage() |
POST /api/v3/group/send-message |
setGroupWelcome() |
POST /api/v3/group/set-welcome |
getGroups() |
GET /api/v3/group/list |
getGroupMembers() |
GET /api/v3/group/members |
4.4 标签
| PHP 方法 | SDK 路径 |
|---|---|
addTag() / removeTag() / createTag() / deleteTag() |
/api/v3/tag/* |
getTags() |
GET /api/v3/tag/list |
getUsersByTag() |
POST /api/v3/tag/users |
4.5 朋友圈
| PHP 方法 | SDK 路径 |
|---|---|
postMoments() |
POST /api/v3/moments/post |
likeMoments() |
POST /api/v3/moments/like |
commentMoments() |
POST /api/v3/moments/comment |
getMoments() |
POST /api/v3/moments/list |
4.6 设备 / Agent / UI
| PHP 方法 | SDK 路径 |
|---|---|
getDevices() |
GET /api/v3/devices |
getDevice() |
GET /api/v3/devices/{id} |
screenshot() |
POST /api/v3/devices/{id}/screenshot |
getUiTree() |
GET /api/v3/devices/{id}/ui-tree |
click() / clickText() / input() / swipe() |
POST /api/v3/devices/{id}/click* |
executeTask() |
POST /api/v3/agent/execute |
getAgentStatus() |
GET /api/v3/agent/status/{id} |
stopAgent() |
POST /api/v3/agent/stop/{id} |
getAIBrainStatus() |
GET /api/v3/devices/{id}/ai/status |
pushAITask() |
POST /api/v3/devices/{id}/ai/task |
pushAIStandingOrder() |
POST /api/v3/devices/{id}/ai/standing-order |
executeAITask() |
POST /api/v3/devices/{id}/ai/execute |
healthCheck() |
GET /health |
4.7 平台快捷方法
| PHP 方法 | 等价于 |
|---|---|
wechatSend() |
sendMessage(..., 'wechat', ...) |
douyinSend() |
platform=douyin |
xhsSend() |
platform=xhs |
xianyuSend() |
platform=xianyu |
soulSend() |
platform=soul |
五、线索闭环(存客宝专用 SDK 路由)
| 场景 | SDK 路径 | 触发方 |
|---|---|---|
| 配置 CKB | POST/GET /api/v3/cunke-bao/config |
运维 / 存客宝后台 |
| 手动线索 | POST /api/v3/cunke-bao/report-lead |
场景计划 / 测试 |
| 通讯录同步 | POST /api/v3/cunke-bao/batch-contacts |
Hook / 定时任务 |
| 新好友 | POST /api/v3/cunke-bao/hook/friend-add |
Frida Agent |
| 群变动 | POST /api/v3/cunke-bao/hook/group-change |
Frida Agent |
签名与字段详见 存客宝对接规范.md。
六、BFF 路由清单(13 条,已全部注册)
| 前端 api.ts | BFF 路由 | 方法 | SDK 目标 | 状态 |
|---|---|---|---|---|
fetchWorkPhoneStatus |
/v1/workphone/status |
GET | workbench/overview + devices + connection | ✅ |
fetchWorkPhoneDevice |
/v1/workphone/device |
GET | GET /api/v3/devices/{id} |
✅ |
fetchWorkPhoneScreenshot |
/v1/workphone/screenshot |
POST | screenshot | ✅ |
fetchAIBrainStatus |
/v1/workphone/ai/status |
GET | GET /api/v3/devices/{id}/ai/status |
✅ |
pushAITask |
/v1/workphone/ai/task |
POST | POST .../ai/task |
✅ |
pushAIStandingOrder |
/v1/workphone/ai/standing-order |
POST | standing-order | ✅ |
executeAITask |
/v1/workphone/ai/execute |
POST | ai/execute | ✅ |
| — | /v1/workphone/hook/events |
GET | Hook 事件列表 | ✅ |
| — | /v1/workphone/hook/events/sync |
POST | 事件同步存客宝 | ✅ |
fetchWorkPhoneConnection |
/v1/workphone/connection/status |
GET | GET /api/v3/connection/status |
✅ |
fetchHookProbe |
/v1/workphone/hook/probe |
GET | GET /api/v3/hook/probe/{id} |
✅ |
sendWorkPhoneMessage |
/v1/workphone/message/send |
POST | POST /api/v3/message/send |
✅ |
executeWorkPhoneHook |
/v1/workphone/hook/execute |
POST | POST /api/v3/hook/execute |
✅ |
代码:cunkebao_v3/Server/application/cunkebao/config/route.php · GetWorkPhoneStatusController.php · WorkPhoneSDK.php
七、场景计划常用 SDK 接口速查
| 存客宝业务 | 推荐 SDK 接口 |
|---|---|
| 场景群发消息 | POST /api/v3/message/batch-send |
| 加好友计划 | POST /api/v3/friend/batch-add |
| 群欢迎语 | POST /api/v3/group/set-welcome |
| 朋友圈营销 | POST /api/v3/moments/post |
| 标签分流 | POST /api/v3/tag/add + GET /api/v3/tag/users |
| 新好友进流量池 | Hook → /api/v3/cunke-bao/hook/friend-add |
八、相关文档
九、联调验收(curl 快测)
SDK 直连(本机 SDK 已启动时):
# 健康检查
curl -s http://127.0.0.1:8899/health
# 工作台总览(BFF status 优先拉此接口)
curl -s http://127.0.0.1:8899/api/v3/workbench/overview
# AI Brain 状态(替换 {device_id})
curl -s http://127.0.0.1:8899/api/v3/devices/{device_id}/ai/status
# 推送 AI 任务
curl -s -X POST http://127.0.0.1:8899/api/v3/devices/{device_id}/ai/task \
-H 'Content-Type: application/json' \
-d '{"instruction":"检查微信未读","priority":5}'
一键冒烟脚本:开发文档/8、部署/05-测试验收/scripts/workphone_bff_smoke.sh
2026-05-24 实测:SDK healthy,2 台 WS 在线;/ai/status 与 /ai/task 返回 200。
十、场景联调示例(curl)
将 {device_id}、{to_id} 替换为真机值。Base:http://127.0.0.1:8899
10.1 场景群发消息
curl -s -X POST http://127.0.0.1:8899/api/v3/message/batch-send \
-H 'Content-Type: application/json' \
-d '{
"device_id": "{device_id}",
"platform": "wechat",
"to_ids": ["好友A", "好友B"],
"content": "【存客宝】活动通知:今晚 8 点直播",
"interval": 3
}'
10.2 批量加好友
curl -s -X POST http://127.0.0.1:8899/api/v3/friend/batch-add \
-H 'Content-Type: application/json' \
-d '{
"device_id": "{device_id}",
"platform": "wechat",
"user_ids": ["wxid_aaa", "wxid_bbb"],
"message": "你好,通过一下",
"interval": 8
}'
10.3 群欢迎语
curl -s -X POST http://127.0.0.1:8899/api/v3/group/set-welcome \
-H 'Content-Type: application/json' \
-d '{
"device_id": "{device_id}",
"platform": "wechat",
"group_id": "{group_id}",
"welcome_text": "欢迎加入,回复「1」领资料"
}'
10.4 新好友 → 存客宝线索
curl -s -X POST http://127.0.0.1:8899/api/v3/cunke-bao/hook/friend-add \
-H 'Content-Type: application/json' \
-d '{
"device_id": "{device_id}",
"wechat_id": "wxid_newfriend",
"nickname": "张三",
"source": "微信添加"
}'
10.5 PHP / TS 调用
// cunkebao_v3 WorkPhoneSDK.php 或 sdk/php-sdk/WorkPhoneClient.php
$sdk->sendMessage($deviceId, 'wechat', $toId, '你好');
$sdk->pushAITask($deviceId, '检查未读并汇总', 5);
// sdk/typescript-sdk
await sdk.batchSendMessage({ deviceId, platform: 'wechat', toIds: ['A','B'], content: '...' });
await sdk.pushAITask(deviceId, '检查微信未读', 5);
接口真源:工作手机API全量接口目录.md
十一、存客宝 BFF 验收(2026-05-24)
| 项 | 结果 |
|---|---|
| 路由数 | 52 条 /v1/workphone/* + sdk/proxy |
| 脚本 | cunkebao_v3/Server/scripts/workphone_bff_acceptance.sh |
| 结果 | PASS=17 FAIL=0 |
| 设备离线 | BFF 200 · data.sdk_code=503(非 500) |
bash cunkebao_v3/Server/scripts/workphone_bff_acceptance.sh
🔗 关联导航
| 方向 | 文档 |
|---|---|
| ↑ 上级索引 | [[5、接口/02-业务对接/README |
| ↔ 相关 | 接口规范 · 微信全功能矩阵_v8.0.56 · 工作手机API全量接口目录 · [[开发文档/README |

