Платформа для розробників

Спираючись на
Платформа підключення

Два потужні API — RESTful серверний API для керування пристроями та оркестрації зв'язку, а також низькорівневий протокол CBBP для безпосереднього керування значками.

OpenAPI 3.0JSON / RESTBluetooth + Wi-FiПідтримка вебхуків
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 для прямого керування пристроєм через Bluetooth (додаток), WiFi (проксі-сервер) або локальну диспетчеризацію.

Дізнайтеся більше про CBBP →

Вебхуки

Підпишіться на події пристроїв у режимі реального часу — зв’язок, зміни стану, оновлення місцезнаходження — які доставляються як корисні навантаження HTTP POST на вашу кінцеву точку.

Ознайомтеся з вебхуками →

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.

Початок роботи

Автентифікація

API підключення використовує автентифікацію за допомогою токенів-носіїв. Усі запити повинні містити дійсний токен доступу JWT у заголовку авторизації.

Отримати токен

Надішліть свої облікові дані до кінцевої точки автентифікації. Ви отримаєте короткочасний 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
Користувачі
Пристрої
Канали
Зв'язок
Аудіоміст
Розмови
Зміст
Місця розташування
Push-сповіщення
Зберігання
Масові операції
Дата та час

Автентифікація

Аутентифікація на основі токенів. Вхід повертає токен, який має бути надісланий як Авторизація: Токен<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 на пристрій через сервер. Сервер передає команду через Wi-Fi-з’єднання пристрою та повертає відповідь пристрою. Відповідь outgoing-make також містить повідомлення CBBMPessage, яке пристрій виконує негайно.

POST/api/v1/devices/device/{device_uuid}/cbbpНадсилання команди CBBP на пристрій через сервер
GET/api/v1/devices/device/{device_uuid}/cbbp/{uuid}Отримати статус та відповідь на раніше надіслану команду CBBP

Тіло запиту – це конверт команди CBBP. Збережений об'єкт CBBPCommand відстежує статус доставки: UNSET → SENT → RECEIVED або TIMED_OUT.

Опитує 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Список каналів, за бажанням відфільтрованих за типом_об'єкта
POST/api/v1/channels/channelСтворення каналу (ChannelGroup, ChannelContact або ChannelExternalNumber)
PATCH/api/v1/channels/channel/{uuid}Оновлення групи каналів або контакту каналу
DELETE/api/v1/channels/channel/{uuid}Видалення каналу
DELETE/api/v1/channels/{uuid}Видалення групи каналів
DELETE/api/v1/channels/by-type/{channelType}Видалити всі канали заданого типу (наразі ChannelContact)
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Пошук каналів за рядком запиту та додатковим фільтром типу

Зв'язок

Ініціювати та керувати активними сеансами зв'язку — вихідними викликами, VCP, записом та потоковою передачею контенту. Відповідь на вихідний виклик містить повідомлення 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 або вбудованого движка. Підтримка кількох персонажів (лікар, репетитор, механік тощо) та розбиття історії повідомлень на сторінки.

GET/api/v1/conversations/conversationСписок сесій генератора штучного інтелекту з можливістю фільтрації за персонажами та інструментами
POST/api/v1/conversations/conversationСтворення нового сеансу розмови зі штучним інтелектом
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Додайте повідомлення користувача та отримайте відповідь від штучного інтелекту

Зміст

Переглядайте та відтворюйте потоковий аудіоконтент на пристроях. Контент організовано в дерево категорій; популярний контент можна фільтрувати за містом, регіоном або країною.

GET/api/v1/content/categoriesОтримати дерево категорій контенту
GET/api/v1/content/contentСписок доступного контенту в категорії
GET/api/v1/content/popularПерелічіть популярний контент для певного міста, регіону чи країни

Місця розташування

Перетворити географічні координати на структурований об'єкт міста, регіону та країни. Використовується пристроями під час отримання контексту.

POST/api/v1/location/determineВизначити широту/довготу для міста, регіону та країни

Push-сповіщення

Зареєструйте мобільний додаток, щоб отримувати push-сповіщення FCM. Підтримує iOS, Android та веб-сайти.

POST/api/v1/push-notifications/pushЗареєструйте мобільний додаток для отримання push-сповіщень FCM (iOS, Android, веб)

Зберігання

Завантажити файли, що зберігаються на об'єктах моделі, та виконати видалення фону зображення (повертає результат у кодуванні base64).

GET/api/v1/storage/retrieve/{path}Завантаження збереженого файлу за шляхом
POST/api/v1/storage/remove-backgroundВидалити фон із зображення (повертає base64)

Масові операції

Виконайте кілька операцій API в одному HTTP-запиті. Передайте single_transaction=true, щоб об’єднати всі операції в одну атомарну транзакцію — збій будь-якого елемента скасовує весь пакет.

POST/api/v1/bulkВиконання кількох операцій API в одному запиті, за бажанням як однієї атомарної транзакції

Дата та час

Повертає поточну дату та час сервера у форматі GMT+0. Не потребує автентифікації. Використовується пристроями для синхронізації їхнього внутрішнього годинника.

GET/api/v1/current-datetimeПовертає поточну дату та час у форматі GMT+0
Протокол CBBP

Базовий протокол Com Badge

CBBP — це легкий протокол команд JSON для прямої взаємодії з значками підключення. Він надає вам повний контроль над усіма апаратними та програмними функціями пристрою.

Формат повідомлення

Кожна взаємодія CBBP складається з командного повідомлення, що надсилається на пристрій, та повідомлення з результатом, що повертається пристроєм.

Поле об'єкта як у запиті, так і у відповіді містить дані, що стосуються команди, і може бути пропущено, якщо воно не потрібне.

Повна документація протоколу доступна для зареєстрованих партнерів. Зверніться до представника вашого бізнесу 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 можуть бути доставлені на бейдж трьома різними способами транспортування залежно від вашої архітектури інтеграції.

Bluetooth (додаток)

Надсилайте команди CBBP безпосередньо з мобільного додатку через BLE. Потрібно, щоб пристрій був сполучений та знаходився в зоні дії.

Мобільний SDK

Wi-Fi або Bluetooth через сервер

Проксі-сервер CBBP через REST API — POST /devices//cbbp. Сервер автоматично перенаправляє пристрій через WiFi або Bluetooth залежно від того, як підключено бейдж. Найпоширеніше для бекенд-інтеграцій.

REST API

Внутрішня диспетчеризація

Диспетчеризація CBBP на пристрої або між процесами. Використовується прошивкою бейджа для маршрутизації команд між внутрішніми підсистемами.

Тільки прошивка

Команди живлення

Контроль стану живлення пристрою — сплячий режим, пробудження, перезавантаження та скидання до заводських налаштувань.

PowerRebootНегайно перезавантажте пристрій.
PowerDeepsleepУвійти в режим глибокого сну (низького енергоспоживання).
FactoryResetСтерти всі конфігурації та скинути налаштування до заводських.

Команди Wi-Fi

Налаштуйте бездротові мережі, шукайте точки доступу, перевіряйте стан підключення та керуйте збереженими обліковими даними.

WiFiScanСкануйте доступні точки доступу Wi-Fi.
WiFiAPTestПеревірте підключення до певної точки доступу Wi-Fi.
WiFiAPJoinПідключіться до точки доступу Wi-Fi, використовуючи надані облікові дані.

Команди Bluetooth

Керуйте рекламою BLE, сполученням та зв'язком між значками.

BTScanBTСканування класичних пристроїв Bluetooth.
BTScanBLEСканування пристроїв BLE.
DeviceBLEServiceAvailableПозначте послугу BLE як доступну.
DeviceBLEServiceUnavailableПозначте службу BLE як недоступну.
DeviceBLEActiveВстановіть радіомодуль BLE в активний стан.
DeviceBLEIdleВстановіть радіоприймач BLE у стан очікування.
DeviceBLEAdvChannelAddДодайте канал до рекламного навантаження BLE.
DeviceBTScanРозпочніть сканування пристроїв Bluetooth.
DeviceBTA2DStartРозпочніть потокову передачу аудіо Bluetooth A2DP.
DeviceBTA2DEndЗавершіть потокове передавання аудіо Bluetooth A2DP.
DeviceBTNativeAssistStartЗапустіть вбудований голосовий помічник Bluetooth.
DeviceBTNativeAssistEndЗавершіть роботу вбудованого голосового помічника Bluetooth.

Команди налаштувань

Читання та запис конфігурації пристрою — відображуване ім’я, часовий пояс, мова та прапорці функцій.

SettingsListGetОтримати всі налаштування у вигляді списку пар ключ-значення.
SettingsListSetЗапишіть кілька значень налаштувань одночасно.
SettingsGetОтримати значення одного параметра за ключем.
SettingsSetВстановіть значення одного параметра.
SettingsSendПередайте поточні налаштування на сервер.
SettingsClearОчистити певні значення налаштувань.
SettingsEraseСтерти всі збережені налаштування.

Команди прошивки

Запускати оновлення прошивки через Інтернет, перевіряти стан оновлень та запитувати поточну версію прошивки на пристрої.

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Розпочніть телефонний дзвінок через Bluetooth HFP.
CommunicateHFPCallEndЗавершіть телефонний дзвінок Bluetooth HFP.
CommunicateContentStartРозпочніть потокове передавання аудіоконтенту на пристрій.
CommunicateContentStopЗупинити потокове передавання аудіоконтенту.
SocketReceiveStatusОтримувати оновлення статусу WebSocket.

Аудіокоманди

Керуйте гучністю динаміка, підсиленням мікрофона, аудіопрофілями та відтворенням тексту в мовлення.

AudioPlayStorageВідтворити аудіофайл із пам’яті пристрою.
AudioPlayContentВідтворювати потоковий аудіоконтент.
AudioSetVolumeВстановіть гучність виходу динаміка.

Команди світлодіодів

Встановіть колір, яскравість та анімаційні шаблони світлодіода для індикатора значка.

DeviceIlluminationSetВстановіть колір світлодіода та шаблон підсвічування.

Внутрішні команди

Внутрішні команди відправлення, що використовуються для доставки контексту, історії каналу, вокалізації та декодування аудіо.

InternalSendContextНадсилати контекстні дані внутрішньому обробнику контексту.
InternalSendChannelHistoryНадіслати історію каналу внутрішньому обробнику.
InternalRequestVocalizationЗапитуйте внутрішню вокалізацію перетворення тексту на мовлення.
InternalHandleVocalizationRTPОбробляти вхідний потік RTP вокалізації.
InternalDecodeAudioДекодувати вхідний аудіопотік.

Мобільні команди

Команди для координації значка з підключеним мобільним додатком — push-сповіщення, синхронізація стану додатка та глибоке посилання.

MobileServiceStatusПовідомляти про стан мобільного зв’язку на пристрій. (Мобільний → Пристрій)
MobileSocketOpenНакажіть мобільному застосунку відкрити з’єднання WebSocket. (Пристрій → Мобільний)
MobileSocketCloseНаказати мобільному застосунку закрити з’єднання WebSocket. (Пристрій → Мобільний)
MobileSocketStatusПовідомляти про стан WebSocket у мобільний застосунок. (Пристрій → Мобільний)
MobileReceiveStatusПовідомити про статус отримання в мобільний додаток. (Пристрій → Мобільний)
MobileSocketUpdateНадіслати оновлення даних WebSocket до мобільного застосунку. (Пристрій → Мобільний)
MobilePTTStartПовідомте мобільний додаток про початок передачі PTT. (Пристрій → Мобільний)
MobilePTTStopПовідомити мобільний додаток про завершення передачі PTT. (Пристрій → Мобільний)
MobileContextSetВстановіть контекстні дані в мобільному застосунку. (Пристрій → Мобільний)
MobileEchoКоманда Echo для перевірки мобільного з’єднання. (Пристрій → Мобільний)

Готові будувати?

Приєднуйтесь до спільноти розробників Connection та отримайте доступ до ізольованих пристроїв, SDK та спеціалізованої підтримки.