API 文档 https://www.9000090000.com/cc/

所有接口均通过 POST 方式调用,请求体和响应体均为 JSON 格式。

成功响应中 answer 字段为 10000,失败时返回对应错误码。

部分接口(如 message)支持 JSON + \0 + 二进制数据 的混合请求体格式。

目录

1. login.php — 登录/注册

POST /cc/login.php req: "login"

设备登录或刷新注册。将一个或多个号码与设备绑定。如果 uuid 数组为空,则仅清除旧 token。

参数类型说明
req *string固定值 "login"
appid *string应用 ID,2-32 字符
build *string构建版本号,2-16 字符
name *string名称称,2-32 字符
locale *string地区/语言,2-6 字符(如 "zh_CN")
token *string推送通知 token,8-228 字符
uuid *string[]号码对应的 UUID 数组,可为空数组 []

成功响应:

{ "answer": 10000, "error_uuid": ["<无效的uuid>", ...] // 仅在有无效率uuid时返回 }

2. message.php — 消息管理

POST /cc/message.php req: "send"

发送消息(文本或文件)给单个号码。请求体格式为 JSON + \0 + 二进制数据

参数类型说明
req *string固定值 "send"
uuid *string发送方 UUID
callee *string接收方号码
length *int二进制数据长度(字节数)
caller_name 可选string发送方显示名称,2-32 字符。不传则从数据库读取
fname 可选string文件名,2-100 字符。不传则数据视为 UTF-8 文本

请求体格式:

{"req":"send","uuid":"...","callee":"...","length":1024,...}\0<1024字节二进制数据>

成功响应:

{ "answer": 10000, "msgid": 1, "callee": "987654321", "callee_name": "接收方名称" }
POST /cc/message.php req: "sends"

群发消息给多个号码。同一份二进制数据只存储一次,各收件人记录指向同一文件。

参数类型说明
req *string固定值 "sends"
uuid *string发送方 UUID
callees *string[]接收方号码数组(非空)
length *int二进制数据长度
caller_name 可选string发送方显示名称
fname 可选string文件名

成功响应:

{ "answer": 10000, "callee_error": ["<无效号码>", ...] }
POST /cc/message.php req: "get"

接收方获取未读消息列表。获取后消息状态自动更新为"已送达"。

参数类型说明
req *string固定值 "get"
uuid *string[]接收方 UUID 数组(非空)
after 可选intUnix 时间戳,只获取此时间之后的消息。最早为 1 天前

成功响应:

{ "answer": 10000, "error_uuid": ["<无效uuid>", ...], "message": [ { "msgid": 1, "callee": "987654321", "caller": "123456789", "caller_name": "发送方名称", "fname": "hello.txt", "uri": "/data/1.a1b2c3d4.txt", "length": 1024, "ctime": 1716900000 } ] }

特殊消息: uri"missed.call" 时表示未接来电通知,此时 length 为 0。

附录: 错误码

错误码说明
10000OK — 成功
10001server error — 服务器/数据库错误
10002format error — 请求格式错误(JSON 无效、缺少必要参数等)
10003number not available — 号码不可用(已存在或保留号码)
10004uuid error — UUID 无效或验证失败
10005link data existed — 关联数据已存在(每个号码仅能设置一次)
10009server busy, try again — 服务器繁忙
10010caller number not in use — 主叫号码未注册/未登录
10011callee number not in use — 被叫号码未注册/未登录
10012callid error — 通话 ID 无效或状态不匹配
10013msgid error — 消息 ID 无效
10020debug — 调试占位
10031service not available — AI 通话服务不可用
10032balance not enough — AI 通话余额不足
10061auth error — token 鉴权失败

所有错误响应格式: {"answer": <错误码>, "error": "<错误描述>"}