开发者平台


连接平台

两个强大的 API——一个用于设备管理和通信协调的 RESTful 服务器 API,以及一个用于直接徽章控制的底层 CBBP 协议。

OpenAPI 3.0JSON/REST蓝牙+WiFiWebhook 支持
Connection Studio
Explorer
examples
send_command.http
response.json
list_devices.http
webhooks.http
src
docs
send_command.http
response.json
# Send a CBBP command via the server
POST /api/v1/devices/{uuid}/cbbp

{
  "command": "speak",
  "object": {
    "text": "Shift starts in 5 minutes",
    "volume": 85,
    "language": "en-US"
  }
}

# Response
{
  "result": 0,
  "detail": "ok"
}
main
HTTPUTF-8Ln 2, Col 1

REST API

通过标准 HTTPS 实现设备全生命周期管理——配置、固件、通信和分析。

探索 REST API →

CBBP协议

Com Badge 基本协议 — 一种 JSON 命令协议,用于通过蓝牙(应用程序)、WiFi(服务器代理)或本地调度直接控制设备。

探索 CBBP →

网络钩子

订阅实时设备事件(通信、状态更改、位置更新),这些事件将以 HTTP POST 有效负载的形式发送到您的端点。

探索 Webhooks →

Early Access: The Connection API is currently available by special request to select partners. Contact us to apply for access.

Pro or Plus plan required: Badges must be on the Pro or Plus plan to be controlled via the API.

入门

验证

Connection API 使用 Bearer 令牌认证。所有请求都必须在 Authorization 标头中包含有效的 JWT 访问令牌。

获取代币

将您的凭据 POST 到身份验证端点。您将收到一个有效期较短的 access_token 和一个有效期较长的 refresh_token。

使用令牌

在每个请求中都包含令牌:

Authorization: Bearer <access_token>
POST/api/v1/auth/login
要求
{
  "email": "admin@yourorg.com",
  "password": "••••••••"
}
回复 200
{
  "access_token": "eyJhbG...",
  "refresh_token": "dGhpcw...",
  "expires_in": 3600,
  "token_type": "Bearer"
}

基本 URL 和版本控制

所有 API 端点的版本均位于 /api/v1/ 下。基本 URL 取决于您的部署情况。

对于云托管部署,请使用分配给您组织的区域端点。对于本地服务器部署,请使用服务器的主机名。

环境基本 URL
云端(美国)https://beta.connection.app/api/v1
本地部署https://<your-server>/api/v1
内容类型
所有请求和响应体均使用 application/json 格式。对于带有请求体的请求,请添加 Content-Type: application/json 属性。

错误和状态代码

该API使用标准HTTP状态码。错误响应包括机器可读的代码和人类可读的消息。

地位意义
200成功
201创建
400错误请求 — 无效参数
401未授权——令牌缺失或过期
403禁止操作——权限不足
404未找到
500内部服务器错误
错误响应
{
  "error": {
    "code": "device_not_found",
    "message": "No device with that UUID exists in your organization",
    "status": 404
  }
}
REST API

REST API 概述

连接服务器 REST API 提供对设备群、通信基础设施和分析功能的完整编程访问权限。它遵循 RESTful 规范,使用 JSON 请求/响应正文。

API 身份验证
用户
设备
频道
沟通
音频桥
对话
内容
地点
推送通知
贮存
散装作业
日期和时间

验证

基于令牌的身份验证。登录会返回一个令牌,该令牌必须作为 Authorization: Token 发送。<token>对所有后续请求。

POST/api/v1/login对用户进行身份验证并获取身份验证令牌
POST/api/v1/login-device通过 UUID 和 MAC 地址验证设备
POST/api/v1/logout使当前会话令牌失效

用户

创建和管理用户帐户。GET /users/user 端点返回当前已验证的用户。

GET/api/v1/users/user获取当前登录用户的个人资料
POST/api/v1/users/user创建新用户帐户
PATCH/api/v1/users/user/{uuid}更新用户个人资料(例如,个人资料图片)

设备

列出和检查设备,管理用户-设备关联,读取和写入每个设备的设置和状态,处理固件和存储映像,并接收日志和崩溃报告。

GET/api/v1/devices/device列出所有设备
GET/api/v1/devices/device/{uuid}获取详细的设备信息,包括固件和设置
PUT/api/v1/devices/association/{uuid}更新用户与设备之间的关联
DELETE/api/v1/devices/association/{uuid}移除用户设备关联和已存储的设置
GET/api/v1/devices/device/{device_uuid}/settings列出设备已存储的设置
POST/api/v1/devices/device/{device_uuid}/settings保存设备特定设置
GET/api/v1/devices/device/{device_uuid}/status获取设备状态(连接性、电池电量、传感器状态、音频状态)
POST/api/v1/devices/device/{device_uuid}/status从设备发布设备状态
GET/api/v1/devices/device/{device_uuid}/context列出设备存储的上下文值
POST/api/v1/devices/device/{device_uuid}/ingest-context从设备接收 GPS 和 WiFi 信息
GET/api/v1/devices/firmware列出与给定硬件/软件版本兼容的固件版本
GET/api/v1/devices/firmware/{uuid}/{image_type}/fetch分块获取固件镜像。
GET/api/v1/devices/language列出设备支持的设备语言和语音。
GET/api/v1/devices/storage_image下载适用于特定地区的自定义设备存储映像
POST/api/v1/devices/log从设备接收日志文件
POST/api/v1/devices/crash从设备接收核心转储文件
PATCH/api/v1/devices/crash/{uuid}更新崩溃记录

CBBP代理

通过服务器向设备发送任何 CBBP 命令。服务器通过设备的 WiFi 连接转发该命令,并返回设备的响应。发送的响应中还嵌入了一个 CBBPMessage,设备会立即执行该消息。

POST/api/v1/devices/device/{device_uuid}/cbbp通过服务器向设备发送 CBBP 命令
GET/api/v1/devices/device/{device_uuid}/cbbp/{uuid}检索先前发送的 CBBP 命令的状态和响应

请求正文是一个 CBBP 命令信封。存储的 CBBPCommand 对象跟踪传递状态:未设置 → 已发送 → 已接收 或 超时。

Poll GET /cbbp/ 检查设备是否已收到并响应命令。
请求 — 发送消息
{
  "outgoingMessage": {
    "command": "WiFiScan"
  }
}
响应 — CBBPCommand 状态
{
  "uuid": "a3f2...",
  "status": "SENT",
  "device": "d7f3a1b2-...",
  "dateSent": "2025-09-15T14:22:01Z",
  "outgoingMessage": { /* echoed */ },
  "incomingMessage": null
}

频道

通道是核心通信原语。类型包括 ChannelPeople、ChannelGroup、ChannelContact、ChannelContactNumber、ChannelExternalNumber、ChannelService 和 ChannelRecorder。

GET/api/v1/channels/channel列出通道,可按 object_type 进行筛选
POST/api/v1/channels/channel创建渠道(渠道组、渠道联系人或渠道外部号码)
PATCH/api/v1/channels/channel/{uuid}更新渠道组或渠道联系人
DELETE/api/v1/channels/channel/{uuid}删除频道
DELETE/api/v1/channels/{uuid}删除频道组
DELETE/api/v1/channels/by-type/{channelType}删除指定类型的所有渠道(目前为渠道联系人)
GET/api/v1/channels/association列出当前用户的频道关联
POST/api/v1/channels/association请求与某个频道建立关联
PATCH/api/v1/channels/association/{uuid}接受、拒绝或更新关联设置
DELETE/api/v1/channels/association/{uuid}移除与频道的关联
GET/api/v1/channels/history获取当前用户的分页频道访问历史记录
POST/api/v1/channels/history创建频道历史记录条目
GET/api/v1/channels/search通过查询字符串和可选类型筛选器搜索频道

沟通

发起并管理活跃的通信会话——包括拨出电话、视频会议、录音和内容流传输。拨出电话的响应包含一个 CBBPMessage,设备会立即对此做出反应。

POST/api/v1/communicate/outgoing-make向 ChannelPeople、ChannelGroup、ChannelContact 或 ChannelContactNumber 发起外发渠道。
POST/api/v1/communicate/incoming-acceptance接受或拒绝传入的频道加入请求
POST/api/v1/communicate/close关闭设备上当前活动的通信通道
POST/api/v1/communicate/vcp-activate在服务器和设备上启动语音通信协议 (VCP)
POST/api/v1/communicate/vcp-deactivate停用 VCP,返回到之前的任意通道
POST/api/v1/communicate/recording-activate在服务器和设备上启用录制模式
POST/api/v1/communicate/content-start开通音频内容流媒体频道
POST/api/v1/communicate/request-vocalization根据给定文本生成 TTS 音频,并可选择将其翻译。

音频桥

访问已录制的桥接对话,包括完整文字稿、参与者列表和人工智能生成的摘要。支持多种摘要模板(会议记录、课堂记录、医疗保健记录等)以及用于生成摘要的文本转语音(TTS)音频。

GET/api/v1/bridge/conversations列出所有桥牌对话。
GET/api/v1/bridge/conversations/{uuid}获取包含文字记录、参与者和摘要的详细对话记录。
POST/api/v1/bridge/conversations/{conversation_uuid}/summary为对话生成人工智能摘要
POST/api/v1/bridge/conversations/{conversation_uuid}/summary/{summary_uuid}/audio生成对话摘要音频

对话

使用 ChatGPT、Gemini 或原生引擎进行 AI 驱动的对话会话。支持多种角色(医生、家教、技工等)和分页消息历史记录。

GET/api/v1/conversations/conversation列出 AI 生成器会话,可按角色和工具进行筛选
POST/api/v1/conversations/conversation创建新的 AI 对话会话
GET/api/v1/conversations/conversation/{uuid}检索带有可选摘要/离开更新的对话会话
DELETE/api/v1/conversations/conversation/{uuid}删除对话会话
GET/api/v1/conversations/conversation/{uuid}/messages列出对话中的消息
POST/api/v1/conversations/conversation/{uuid}/messages添加用户消息并接收 AI 回复

内容

在设备上浏览和播放流媒体音频内容。内容按类别树状结构组织;热门内容可按城市、地区或国家/地区筛选。

GET/api/v1/content/categories获取内容类别树
GET/api/v1/content/content列出类别内的可用内容
GET/api/v1/content/popular列出特定城市、地区或国家的热门内容

地点

将地理坐标解析为结构化的城市、地区和国家对象。供设备在获取上下文信息时使用。

POST/api/v1/location/determine将经纬度精确到城市、地区和国家。

推送通知

注册移动应用即可接收 FCM 推送通知。支持 iOS、Android 和网页平台。

POST/api/v1/push-notifications/push注册用于 FCM 推送通知的移动应用(iOS、Android、网页)

贮存

下载存储在模型对象上的文件,并运行图像背景去除(返回 base64 编码的结果)。

GET/api/v1/storage/retrieve/{path}按路径下载已存储的文件
POST/api/v1/storage/remove-background去除图像背景(返回 base64 编码)

散装作业

在单个 HTTP 请求中执行多个 API 操作。传递 single_transaction=true 参数可将所有操作封装在一个原子事务中——任何一个操作失败都会回滚整个批次。

POST/api/v1/bulk在单个请求中执行多个 API 操作,可以选择将其作为单个原子事务执行。

日期和时间

返回服务器当前日期和时间(GMT+0)。无需身份验证。供设备同步其内部时钟。

GET/api/v1/current-datetime返回当前日期和时间(GMT+0)。
CBBP协议

通信徽章基本协议

CBBP 是一种轻量级的 JSON 命令协议,用于与 Connection 徽章进行直接交互。它使您能够完全控制设备上的所有硬件和软件功能。

消息格式

每次 CBBP 交互都包含一条发送到设备的命令消息和一条设备返回的结果消息。

请求和响应中的 object 字段包含命令特定的数据,在不需要时可以省略。

完整的协议文件可供注册合作伙伴查阅。 请联系您的 Connection 业务代表或联系 developer@connectionbadge.com 请求访问完整的 CBBP 命令参考,包括完整的请求/响应模式、错误代码和集成指南。
命令信息
{
  "command": "command_name",
  "object": {
    // optional command parameters
  }
}
结果消息
{
  "result": 0,          // 0 = success, -1 = error
  "detail": "ok",      // human-readable status
  "object": {          // optional response data
    // command-specific fields
  }
}

运输

根据您的集成架构,CBBP 消息可以通过三种不同的传输方式传递到徽章。

蓝牙(应用程序)

通过蓝牙低功耗技术,直接从移动应用程序发送CBBP命令。设备需要已配对且在有效范围内。

移动 SDK

通过服务器使用 WiFi 或蓝牙

通过 REST API 代理 CBBP — POST /devices//cbbp。服务器会根据徽章的连接方式自动通过 WiFi 或蓝牙路由到设备。最常用于后端集成。

REST API

内部调度

设备端或进程间 CBBP 分发。徽章固件使用此方法在内部子系统之间路由命令。

仅固件

电源指令

控制设备电源状态——睡眠、唤醒、重启和恢复出厂设置。

PowerReboot立即重启设备。
PowerDeepsleep进入深度睡眠(低功耗)模式。
FactoryReset清除所有配置并恢复出厂设置。

WiFi 指令

配置无线网络、扫描接入点、检查连接状态和管理已保存的凭据。

WiFiScan扫描可用的WiFi接入点。
WiFiAPTest测试与特定WiFi接入点的连接情况。
WiFiAPJoin使用提供的凭据连接到 WiFi 接入点。

蓝牙命令

控制 BLE 广播、配对和徽章间通信。

BTScanBT扫描经典蓝牙设备。
BTScanBLE扫描蓝牙低功耗设备。
DeviceBLEServiceAvailable将 BLE 服务标记为可用。
DeviceBLEServiceUnavailable将 BLE 服务标记为不可用。
DeviceBLEActive将BLE无线电设置为激活状态。
DeviceBLEIdle将BLE无线电设置为空闲状态。
DeviceBLEAdvChannelAdd向 BLE 广播有效载荷添加一个通道。
DeviceBTScan启动蓝牙设备扫描。
DeviceBTA2DStart启动蓝牙A2DP音频流传输。
DeviceBTA2DEnd停止蓝牙A2DP音频流传输。
DeviceBTNativeAssistStart启动原生蓝牙语音助手。
DeviceBTNativeAssistEnd终止原生蓝牙语音助手功能。

设置命令

读取和写入设备配置——显示名称、时区、语言和功能标志。

SettingsListGet以键值列表的形式检索所有设置。
SettingsListSet一次性写入多个设置值。
SettingsGet通过键获取单个设置的值。
SettingsSet设置单个参数的值。
SettingsSend将当前设置推送至服务器。
SettingsClear明确具体的设置值。
SettingsErase清除所有已保存的设置。

固件命令

触发 OTA 固件更新,检查更新状态,并查询设备上的当前固件版本。

FirmwareCheck检查是否有固件更新可用。
FirmwareUpdate开始进行OTA固件更新。
FirmwareValidate验证下载的固件映像的完整性。

设备命令

设备生命周期、身份验证、配置、日志记录、状态和硬件控制。

NoOp不进行任何操作/保持连接。
Test基本连接性测试。
DeviceDateTime获取或设置设备日期和时间。
DeviceAuthenticate通过服务器验证设备身份。
DeviceConfigure将配置有效载荷应用到设备。
DevicePostConnectionTasks运行连接后初始化任务。
DeviceStorageLoad从设备本地存储加载数据。
DeviceLoadCustomAudio将自定义音频文件加载到设备上。
DeviceCoredumpSend上传崩溃核心转储文件到服务器。
DeviceAttach将设备连接到服务器会话。
DeviceDetach将设备从服务器会话中断开连接。
DeviceLogSend将设备日志上传到服务器。
DeviceConnectionTest测试服务器连接。
DeviceStatusSend将设备状态推送至服务器。
DeviceStatusGet获取设备当前状态。
DeviceInteraction触发设备交互事件。
DeviceSetAPIHost设置API服务器主机。
DeviceTestMics运行麦克风自检。
HardwareI2CCommand向硬件外设发送原始 I2C 命令。

通信指令

发起通话、发送消息、管理进行中的通信会话和控制录音。

CommunicateChannelJoin加入沟通渠道。
CommunicateChannelLeave保持沟通渠道畅通。
CommunicateChannelChange切换到其他频道。
CommunicateChannelClose关闭沟通渠道。
CommunicateReceiveIncoming通知设备有新通信到来。
CommunicateRequestOutgoing请求发送通信。
CommunicateVCPActivate激活语音通信协议会话。
CommunicateVCPDeactivate停用 VCP 会话。
CommunicateRecordingActivate开始记录主动沟通内容。
CommunicateIncomingAccept接听来电。
CommunicateIncomingReject拒接来电。
CommunicateHFPCallStart发起蓝牙HFP通话。
CommunicateHFPCallEnd结束蓝牙HFP通话。
CommunicateContentStart开始向设备传输音频内容。
CommunicateContentStop停止播放音频内容。
SocketReceiveStatus接收 WebSocket 状态更新。

语音命令

控制扬声器音量、麦克风增益、音频配置文件和文本转语音播放。

AudioPlayStorage播放设备本地存储中的音频文件。
AudioPlayContent播放流媒体音频内容。
AudioSetVolume设置扬声器输出音量。

LED指令

设置徽章指示灯的 LED 颜色、亮度和动画模式。

DeviceIlluminationSet设置LED颜色和照明模式。

内部指令

用于上下文传递、频道历史记录、语音和音频解码的内部调度命令。

InternalSendContext将上下文数据发送到内部上下文处理程序。
InternalSendChannelHistory将通道历史记录发送到内部处理程序。
InternalRequestVocalization内部请求文本转语音朗读。
InternalHandleVocalizationRTP处理传入的语音RTP流。
InternalDecodeAudio解码传入的音频流。

移动指令

用于将徽章与配对的移动应用程序协调的命令——推送通知、应用程序状态同步和深度链接。

MobileServiceStatus向设备报告移动服务状态。(移动设备 → 设备)
MobileSocketOpen指示移动应用打开 WebSocket 连接。(设备 → 移动设备)
MobileSocketClose指示移动应用关闭 WebSocket 连接。(设备 → 移动设备)
MobileSocketStatus将 WebSocket 状态报告给移动应用。(设备 → 移动应用)
MobileReceiveStatus将接收状态报告发送至移动应用。(设备 → 移动应用)
MobileSocketUpdate向移动应用发送 WebSocket 数据更新。(设备 → 移动应用)
MobilePTTStart通知移动应用PTT传输已开始。(设备→移动应用)
MobilePTTStop通知移动应用PTT通话已结束。(设备→移动应用)
MobileContextSet在移动应用中设置上下文数据。(设备 → 移动设备)
MobileEcho用于测试移动网络连接的回显命令。(设备 → 移动设备)

准备开工了吗?

加入 Connection 开发者社区,即可获得沙盒设备、SDK 和专属支持。