DeBox 开发者 OpenAPI
接口清单(按路由顺序)
POST /openapi/bot/sendMessagePOST /openapi/bot/sendMessageToFansPOST /openapi/bot/editMessagePOST /openapi/bot/getMePOST /openapi/bot/getUpdatesGET /openapi/group/infoGET /openapi/group/is_joinPOST /openapi/group/admin/dao_memberPOST /openapi/group/admin/kick_memberPOST /openapi/group/admin/message/recallGET /openapi/user/infoGET /openapi/user/is_followGET /openapi/token/infoGET /openapi/box/info
能力概览
| 能力 | 包含的接口和用途 |
|---|---|
| Bot 与消息 | 获取当前 Bot 信息,发送或编辑消息,向关注者群发,以及接收消息和交互事件。 |
| 群组与群管理 | 查询群组和入群状态、查询成员、移出成员,以及撤回群消息。 |
| 用户与关系 | 查询用户公开信息和检查关注关系。 |
| Web3 数据 | 查询 Token 基础资料和 BOX 整体信息。 |
OpenAPI 请求地址(Base URL)
https://open.debox.pro
鉴权
需要调用 DeBox OpenAPI 鉴权接口的 DApp,必须先通过 BotMother 创建 Bot。Bot 的 App Key 就是 X-API-KEY 使用的 API Key。该凭证只能保存在后端,不要暴露在 H5 或浏览器端代码中。
除 GET /openapi/box/info 外,均需请求头:
X-API-KEY: <your_api_key>
返回包裹格式
标准包裹(group/user/token/box)
{
"code": 200,
"success": true,
"data": {}
}
Bot 包裹(bot 路由)
{
"ok": true,
"success": true,
"result": {}
}
全局参数值域
chat_type:group|privatechat_id:chat_type=group时:群gid(如cc0onr82)chat_type=private时:填写目标用户的user_id;该值与目标用户的uid和invite_code相同,但请求字段仍为chat_id
content:主参数- 文本类长度上限(
text/richtext/Markdown/MarkdownV2/HTML):5000 字符 parse_mode默认值:richtextparse_mode值域:richtext(默认)textMarkdownMarkdownV2HTMLimagevideofile
content 如何填写(关键)
parse_mode=richtext:填普通文本或富文本字符串(默认),例如你好,欢迎使用 DeBox Bot。parse_mode=text:填纯文本(不解析 Markdown/HTML),例如plain text only。parse_mode=Markdown:填 Markdown 内容,例如**bold**。parse_mode=MarkdownV2:填 MarkdownV2(需要按语法转义),例如\\*bold\\*。parse_mode=HTML:填 HTML 片段(如<b>Hello</b>)。parse_mode=image:content填可公网访问的图片 URL(如https://cdn.example.com/a.png)。parse_mode=video:content填可公网访问的视频 URL(如https://cdn.example.com/a.mp4)。parse_mode=file:content填可公网访问的文件 URL(如https://cdn.example.com/a.pdf)。
图片发送的等级要求
发送图片会受到 Bot 等级和目标群管理员身份规则的限制。完整要求、管理员例外、等级检查和升级步骤请查看 Bot 等级与图片发送。
reply_markup / user_action_markup 最小示例
{
"inline_keyboard": [
[
{ "text": "查看详情", "url": "https://docs.debox.pro/ApiOnePage" },
{ "text": "回调按钮", "callback_data": "detail" }
]
]
}
mention_type / mention_ids 使用建议
- 仅
parse_mode=text时建议使用mention_type与mention_ids。 - 富文本模式(
richtext/Markdown/MarkdownV2/HTML)建议直接在content中写@文本,不依赖mention_*字段。 - 若不需要 @ 功能,
mention_type与mention_ids可省略。
1. POST /openapi/bot/sendMessage
通俗说明
- 需要: App Key、
chat_id、chat_type和消息content。 - 可以用于: 回复用户,或者向指定私聊或群聊发送通知。
- 限制: 每次请求只发送到一个指定私聊或群聊,不是粉丝群发。
Curl 示例
curl -X POST "https://open.debox.pro/openapi/bot/sendMessage" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_APP_KEY" \
-d '{"chat_id":"cc0onr82","chat_type":"group","content":"hello","parse_mode":"richtext"}'
上行参数(Body,JSON)
chat_idstring,必填chat_typestring,必填,值域:group|privatecontentstring,必填parse_modestring,选填,默认richtextmessage_idstring,选填mention_typeint,选填mention_idsstring[],选填reply_markupobject,选填user_action_markupobject,选填
成功响应示例
{
"ok": true,
"success": true,
"result": {
"message_id": "01JYXXXX",
"text": "Hello from DeBox",
"parse_mode": "richtext"
}
}
失败响应示例
{
"ok": false,
"success": false,
"message": "message can't be empty"
}
2. POST /openapi/bot/sendMessageToFans
通俗说明
- 需要: App Key、已开通的订阅号权限,以及下方参数表列出的消息字段。
- 可以用于: 向 Bot 关注者批量推送产品更新、服务通知或重要公告。
- 限制: 消息内容最多为 2000 字节;粉丝范围和投递规则以 Bot 当前获得的平台权限为准。
Curl 示例
curl -X POST "https://open.debox.pro/openapi/bot/sendMessageToFans" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_APP_KEY" \
-d '{"chat_id":"cc0onr82","chat_type":"group","content":"broadcast","parse_mode":"richtext"}'
上行参数(Body,JSON)
chat_idstring,必填chat_typestring,必填,值域:group|privatecontentstring,必填parse_modestring,选填,默认richtext
约束:content 最大 2000 字节。
成功响应示例
{
"ok": true,
"success": true,
"result": true
}
失败响应示例
{
"ok": false,
"success": false,
"message": "message must be less than 2000 bytes"
}
3. POST /openapi/bot/editMessage
通俗说明
- 需要: App Key、目标聊天、准确的
message_id和新的消息内容。 - 可以用于: 修正或更新 Bot 之前发送的消息。
- 限制: 不能让 Bot 任意编辑其他用户发送的消息。
Curl 示例
curl -X POST "https://open.debox.pro/openapi/bot/editMessage" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_APP_KEY" \
-d '{"chat_id":"cc0onr82","chat_type":"group","message_id":"01JYXXXX","content":"edited","parse_mode":"richtext"}'
上行参数(Body,JSON)
chat_idstring,必填chat_typestring,必填,值域:group|privatemessage_idstring,必填contentstring,必填parse_modestring,选填,默认richtext
成功响应示例
{
"ok": true,
"success": true,
"result": true
}
失败响应示例
{
"ok": false,
"success": false,
"message": "EditMessageText param Group Id is error"
}
4. POST /openapi/bot/getMe
通俗说明
- 需要: App Key,不需要请求 Body。
- 可以用于: 检查当前 Bot 的 ID、资料、地址和等级。
- 限制: 只返回当前 App Key 绑定的 Bot,不用于查询普通用户资料。
Curl 示例
curl -X POST "https://open.debox.pro/openapi/bot/getMe" \
-H "X-API-KEY: YOUR_APP_KEY"
上行参数
无。
成功响应示例
{
"ok": true,
"success": true,
"result": {
"name": "DeBox Bot",
"address": "0x...",
"pic": "https://...",
"user_id": "u1",
"level": 3,
"level_icon": "https://.../icon/level/v3.png"
}
}
失败响应示例
{
"ok": false,
"success": false,
"message": "invalid param"
}
5. POST /openapi/bot/getUpdates
通俗说明
- 需要: App Key,并将 Long Polling 作为当前收消息方式。
- 可以用于: 接收发送给 Bot 的新消息和交互事件。
- 限制: Webhook 与 Long Polling 二选一,而且该接口不是通用的历史聊天记录查询接口。
Curl 示例
curl -X POST "https://open.debox.pro/openapi/bot/getUpdates" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_APP_KEY" \
-d '{"timeout":30}'
如果 BotMother 中配置了 Webhook URL,Webhook 是唯一有效的收消息链路,本接口不能用于收消息。使用 getUpdates 进行 Long Polling 前,必须先清空 Webhook 配置。
上行参数(Body,JSON)
timeoutint,选填,值域1~60,默认30
成功响应示例(有消息)
{
"ok": true,
"success": true,
"result": [
{
"id": 123,
"message": {
"message_id": "01JYXXXX",
"from": {
"user_id": "u1",
"name": "Alice",
"address": "0x..."
},
"chat": {
"id": "cc0onr82",
"type": "group"
},
"text": "Ping",
"parse_mode": "richtext"
}
}
]
}
成功响应示例(超时无消息)
{
"ok": true,
"success": true,
"result": []
}
失败响应示例
{
"ok": false,
"success": false,
"message": "Invalid timeout value"
}
6. GET /openapi/group/info
通俗说明
- 需要: App Key 和群组
gid。 - 可以用于: 确认群 ID 是否正确,或者在发送通知、执行群操作前展示群组基本信息。
- 限制: 只返回群组基本资料,不返回完整成员列表;如需成员列表,应使用
dao_member。
Curl 示例
curl "https://open.debox.pro/openapi/group/info?gid=cc0onr82" \
-H "X-API-KEY: YOUR_APP_KEY"
Query 参数
gidstring,必填
成功响应示例
{
"code": 200,
"success": true,
"data": {
"is_charge": false,
"subchannel_number": 2,
"group_name": "DeBox Dev",
"gid": "cc0onr82",
"group_number": 345,
"group_pic": "https://...",
"create_time": "2026-05-14 14:00:00",
"maximum": "无限制",
"mod": ["Alice", "Bob"],
"mod_info": [
{
"name": "Alice",
"address": "0x...",
"pic": "https://...",
"user_id": "u1"
}
]
}
}
失败响应示例
{
"code": -3001,
"success": false,
"message": "No such group"
}
7. GET /openapi/group/is_join
通俗说明
- 需要: App Key、群组
gid和 EVM 钱包地址walletAddress。 - 可以用于: 校验指定钱包地址是否已加入目标群,例如用于群成员专属功能的访问控制或奖励资格判断。
- 限制: 只返回是否入群的布尔结果,不会执行加群,也不会返回成员列表。
Curl 示例
curl "https://open.debox.pro/openapi/group/is_join?gid=cc0onr82&walletAddress=0x1234567890abcdef1234567890abcdef12345678" \
-H "X-API-KEY: YOUR_APP_KEY"
Query 参数
gidstring,必填walletAddressstring,必填,EVM 地址
成功响应示例
{
"code": 200,
"data": true
}
失败响应示例
{
"error": "Bad Request",
"code": 401,
"message": "Param error"
}
8. POST /openapi/group/admin/dao_member
通俗说明
- 需要: App Key、签名请求头、群组
gid,以及 Bot 在该群所需的管理权限。 - 可以用于: 分页读取当前群成员列表和成员公开资料。
- 限制: 每页最多返回 50 位成员;不会返回历史聊天消息或成员私聊内容。
Curl 示例
curl -X POST "https://open.debox.pro/openapi/group/admin/dao_member" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_APP_KEY" \
-H "nonce: RANDOM_NONCE" \
-H "timestamp: 1715500000" \
-H "signature: SHA1(app_secret+nonce+timestamp)" \
-d '{"gid":"cc0onr82","page":1,"size":20}'
额外请求头(必填)
noncestringtimestampstringsignaturestring
签名算法:sha1(app_secret + nonce + timestamp)。
上行参数(Body,JSON)
gidstring,必填,长度1~8pageint,选填,<=0时按1sizeint,选填,默认50,最大50
成功响应示例
{
"code": 1,
"success": true,
"data": [
{
"user_id": "u1",
"name": "Alice",
"pic": "https://...",
"address": "0x...",
"signature": "builder"
}
]
}
失败响应示例
{
"code": -4017,
"success": false,
"message": "permission denied"
}
9. POST /openapi/group/admin/kick_member
通俗说明
- 需要: App Key、签名请求头、目标群
gid、成员user_id,以及管理员或建群者权限。 - 可以用于: 根据群管理规则将指定成员移出目标群,例如处理广告骚扰、违规行为,或成员不再符合群准入条件的情况。
- 限制: 该操作会改变群状态,每次最多处理 20 位用户;首次使用时应先通过测试账号验证。
接口说明
将一个或多个成员移出指定 DeBox 群组。
该接口要求当前 X-API-KEY 绑定的 Bot 已加入目标群组,且在该群内具备管理员或建群者权限。
Curl 示例
curl -X POST "https://open.debox.pro/openapi/group/admin/kick_member" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_APP_KEY" \
-H "nonce: RANDOM_NONCE" \
-H "timestamp: 1715500000" \
-H "signature: SHA1(app_secret+nonce+timestamp)" \
-d '{
"gid":"cc0onr82",
"user_ids":["u1","u2"]
}'
额外请求头(必填)
noncestringtimestampstringsignaturestring
签名算法:sha1(app_secret + nonce + timestamp)。
权限要求
X-API-KEY必须合法有效。- API Key 必须已绑定一个有效的 DeBox Bot 账号。
- 该 Bot 必须在目标群组中具备管理员或建群者权限。
上行参数(Body,JSON)
gidstring,必填,目标群组 ID,长度1~8user_idsstring[],必填,待移出成员的 DeBoxuser_id列表user_ids单次最多传入20个成员
参数校验与执行规则
user_ids不能为空数组。user_ids中不允许出现空字符串。- 重复的
user_id会在服务端自动去重后再执行。 - 只要请求中的任意一个
user_id无法解析为有效用户,接口会直接失败。
成功响应示例
{
"code": 1,
"success": true,
"message": "success",
"data": true
}
失败响应示例
{
"code": -2004,
"success": false,
"message": "uid size must be less than or equal to 20",
"data": null
}
{
"code": -4017,
"success": false,
"message": "permission denied",
"data": null
}
10. POST /openapi/group/admin/message/recall
通俗说明
- 需要: App Key、签名请求头、管理员或建群者权限、群组
gid、原发送者user_id和准确的message_id。 - 可以用于: 根据群管理规则撤回目标群中的指定消息,例如处理广告骚扰、违规内容或误发消息。
- 限制: 消息和发送者必须与目标群匹配;该接口不是历史消息搜索或任意消息删除接口。
接口说明
管理员撤回群消息接口。
消息撤回后,将展示为如下群通知内容:
MOD {operator_name} 撤回了 {sender_name}的消息
Curl 示例
curl -X POST "https://open.debox.pro/openapi/group/admin/message/recall" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_APP_KEY" \
-H "nonce: RANDOM_NONCE" \
-H "timestamp: 1715500000" \
-H "signature: SHA1(app_secret+nonce+timestamp)" \
-d '{
"gid":"cc0onr82",
"user_id":"u1",
"message_id":"01HXYZABCDEF1234567890"
}'
额外请求头(必填)
noncestringtimestampstringsignaturestring
签名算法:sha1(app_secret + nonce + timestamp)。
权限要求
X-API-KEY必须合法有效。- API Key 必须已绑定一个有效的 DeBox Bot 账号。
- 该 Bot 必须在目标群组中具备管理员或建群者权限。
上行参数(Body,JSON)
gidstring,必填,目标群组 ID,长度1~8user_idstring,必填,原消息发送者的 DeBoxuser_idmessage_idstring,必填,待撤回消息的消息 ID
注意事项
user_id必须能解析到一个真实存在的 DeBox 用户。message_id必须对应目标群组内一条可被平台修改的消息。- 撤回通知中的操作者名称,优先取管理员 Bot 的展示名;若展示名为空,则回退为其
user_id。 - 原消息发送者名称同样优先取展示名,缺失时回退为其
user_id。
成功响应示例
{
"code": 1,
"success": true,
"message": "success",
"data": true
}
失败响应示例
{
"code": -2004,
"success": false,
"message": "message_id is required",
"data": null
}
{
"code": -2000,
"success": false,
"message": "recall message failed",
"data": null
}
11. GET /openapi/user/info
通俗说明
- 需要: App Key,以及 DeBox
user_id或 EVM 钱包地址,两者至少提供一个。 - 可以用于: 展示用户公开昵称和头像,或者根据钱包地址查找对应的 DeBox 公开资料。
- 限制: 只返回公开资料字段,不涉及私聊、历史消息或私钥。
Curl 示例
curl "https://open.debox.pro/openapi/user/info?user_id=u1" \
-H "X-API-KEY: YOUR_APP_KEY"
Query 参数
user_idstring,选填addressstring,选填,EVM 地址- 至少一个必填
成功响应示例
{
"code": 200,
"success": true,
"data": {
"user_id": "u1",
"name": "Alice",
"address": "0x...",
"pic": "https://...",
"signature": "gm builder"
}
}
失败响应示例
{
"code": -2004,
"success": false,
"message": "invalid param"
}
12. GET /openapi/user/is_follow
通俗说明
- 需要: App Key、
walletAddress和followAddress。 - 可以用于: 校验指定钱包地址对应的账号是否已关注目标账号,例如用于关注者专属功能的访问控制或奖励资格判断。
- 限制: 结果有明确方向且只返回布尔值,不会代替用户执行关注操作。
Curl 示例
curl "https://open.debox.pro/openapi/user/is_follow?walletAddress=0x1234567890abcdef1234567890abcdef12345678&followAddress=0xabcdefabcdefabcdefabcdefabcdefabcdefabcd" \
-H "X-API-KEY: YOUR_APP_KEY"
Query 参数
walletAddressstring,必填,EVM 地址followAddressstring,必填,EVM 地址
成功响应示例
{
"code": 200,
"data": true
}
失败响应示例
{
"error": "Bad Request",
"code": 401,
"message": "Please input the wallet address correctly"
}
13. GET /openapi/token/info
通俗说明
- 需要: App Key 和
contract_address;chain_id选填,缺失或为负值时按0处理。 - 可以用于: 用户输入合约地址后,展示 Token 名称、符号、精度和 Logo。
- 限制: 只返回 Token 基础资料,不返回市场价格或某个钱包的代币余额。
Curl 示例
curl "https://open.debox.pro/openapi/token/info?contract_address=0x55d398326f99059fF775485246999027B3197955&chain_id=56" \
-H "X-API-KEY: YOUR_APP_KEY"
Query 参数
contract_addressstring,必填chain_idint,选填;缺失/负值按0
成功响应示例
{
"code": 200,
"success": true,
"data": {
"chain_id": 56,
"token": "0x55d398326f99059fF775485246999027B3197955",
"decimal": 18,
"name": "Tether USD",
"symbol": "USDT",
"logo_url": "https://..."
}
}
失败响应示例
{
"code": -2004,
"success": false,
"message": "参数错误,contract_address must be a valid contract address"
}
14. GET /openapi/box/info
通俗说明
- 需要: 不需要参数,也不需要 App Key。
- 可以用于: 查询 BOX 的全局数据,例如最大供应量、当前供应量、销毁量和锁定量。
- 限制: 返回的是 BOX 整体数据,不是某个用户持有的 BOX 数量。
Curl 示例
curl "https://open.debox.pro/openapi/box/info"
Query 参数
无。
成功响应示例
{
"code": 200,
"success": true,
"data": {
"max_supply": "1000000000",
"burned": "...",
"supply": "...",
"locked": "...",
"address": "0x...",
"symbol": "BOX",
"chainId": 1,
"icon": "https://...",
"stake": "..."
}
}