概览

Buluthat API 让您将现有软件(CRM、ERP、电商、客服系统)与云总机集成:点击拨号、呼叫控制、队列管理、黑名单、语音文件、自动外呼活动、语音助手任务和语音验证码。

所有接口均为普通 HTTP;响应为 JSON。可使用任何语言,通过 HTTP 客户端调用。

基础地址: https://api.buluthat.com/api/

身份验证

所有接口一致 API 密钥 使用。密钥在面板中 账户与支持 > API 密钥 页面,由账户授权人生成; bt_ 以此开头,且仅在生成时显示一次。

密钥在每次请求的请求头中发送:

Authorization: Bearer bt_xxxxxxxx

Authorization 如果无法设置请求头 X-Api-Key: bt_xxxxxxxx 也被接受。密钥在 URL 中(?key=)对新密钥已关闭。

每个密钥只绑定一个客户账户,且只能访问该账户的数据。在密钥中 权限范围 已定义:

权限范围接口
call通话管理、队列、坐席状态
autocall自动外呼(为兼容旧版集成,也会开放语音助手、语音 OTP 和呼叫接口)
voicebot语音助手
voice_otp语音验证码
smsSMS API

超出权限范围的请求 403 scope_denied,账户中已关闭的模块 403 module_disabled 返回。对密钥 IP 白名单, 到期日期 和 强制 HMAC 请求签名 可定义;全部 API 安全 页面中。

请勿在浏览器端(JavaScript)使用密钥;始终从您自己的服务器调用。若怀疑泄露,请在面板中选择“轮换密钥 > 立即关闭旧密钥”,旧密钥立即失效。

请求格式

  • 读取操作 GET,会更改数据的操作 POST (语音文件中 PUT/DELETE).
  • POST 正文 application/json 或 application/x-www-form-urlencoded 可能。
  • 集成接口中的操作 action 通过参数选择(?action=create_campaign).
  • 时间戳为土耳其时间(2026-09-18 10:12:03).
  • 电话号码 05xxxxxxxxx, 5xxxxxxxxx 或 905xxxxxxxxx 格式接受;响应中返回规范化形式。

响应格式

集成接口(autocall、voicebot、voice_otp)总是返回封装结构:

{ "ok": true, "data": { } }
{ "ok": false, "error": "Kampanya bulunamadı.", "code": "campaign_not_found" }

总机接口(begin_call、queues、blocked_numbers……)通过 HTTP 状态码通信:成功时 200 OK 且正文中为结果(JSON 数组或纯文本),出错时 4xx 且正文中为土耳其语错误消息。

错误码

HTTPcode含义
400validation_failed区域验证未通过;消息会说明原因
401missing_token / invalid_token / token_expired密钥无效、缺失或已过期
401query_key_disabled / signature_*密钥出现在 URL 中,或签名无法验证(API 安全)
403module_disabled / scope_denied / ip_not_allowed模块未开通、权限不足或 IP 不在白名单中
404*_not_found记录不存在或属于其他客户
405method_not_allowed对需要 POST 的操作使用了 GET
422(接口专属)业务规则拒绝:配额、时长、无线路等。
413payload_too_large请求正文超过 5 MB
429rate_limited / ip_locked已超出速率限制,或 IP 因多次错误尝试被临时锁定
503db_unavailable临时服务故障;请稍后重试

速率限制

限制默认
每个密钥每分钟 120 次请求(可在密钥设置中调低)
账户所有密钥的合计每分钟 600 次请求
坐席状态另外每分钟 2 次请求(实时状态建议使用 Webhook)
自动外呼 add_leads单次请求 5.000 条记录

在响应中 X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset 请求头会返回。超出时 429 Too Many Requests 和 Retry-After 请求头返回。每个响应中的 X-Request-Id 请在支持工单中提供该值。

测试环境

没有独立的沙盒;请在您的账户中使用一个测试分机和小规模活动进行试用。自动外呼活动 status: "draft" 生成后 results/summary 您无需等待数据就可以调用这些接口。语音验证码请向您自己的号码发送;计费按您的套餐规则进行。

版本与变更

接口保持向后兼容;只会新增字段,现有字段的名称和类型不会改变。即将移除的字段至少提前 90 天在面板和本页公告。

帮助

在集成过程中遇到问题,请在面板内的帮助中心以“集成 / API”为主题创建工单;附上示例请求/响应,我们一起排查。