Ontwikkelaarsplatform

Voortbouwen op de
Verbindingsplatform

Twee krachtige API's: een RESTful server-API voor apparaatbeheer en communicatie-orkestratie, en een low-level CBBP-protocol voor directe badgebesturing.

OpenAPI 3.0JSON / RESTBluetooth + WiFiWebhook-ondersteuning
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

Volledig beheer van de levenscyclus van het apparaat — provisioning, configuratie, firmware, communicatie en analyses — via standaard HTTPS.

Ontdek de REST API →

CBBP-protocol

Com Badge Basic Protocol — een JSON-commandoprotocol voor directe apparaatbesturing via Bluetooth (app), wifi (serverproxy) of lokale aansturing.

Ontdek CBBP →

Webhooks

Abonneer u op realtime apparaatgebeurtenissen — communicatie, statuswijzigingen, locatie-updates — die als HTTP POST-payloads naar uw eindpunt worden verzonden.

Ontdek 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.

Aan de slag

Authenticatie

De Connection API maakt gebruik van authenticatie met Bearer-tokens. Alle verzoeken moeten een geldig JWT-toegangstoken in de Authorization-header bevatten.

Verkrijg een token

Stuur je inloggegevens via POST naar het authenticatie-eindpunt. Je ontvangt een kortstondig access_token en een langer geldig refresh_token.

Gebruik het token

Voeg het token toe aan elk verzoek:

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

Basis-URL en versiebeheer

Alle API-eindpunten zijn voorzien van een versiebeheer onder /api/v1/. De basis-URL is afhankelijk van uw implementatie.

Voor cloudimplementaties gebruikt u het regionale eindpunt dat aan uw organisatie is toegewezen. Voor on-premises serverimplementaties gebruikt u de hostnaam van uw server.

OmgevingBasis-URL
Cloud (VS)https://beta.connection.app/api/v1
Op locatiehttps://<your-server>/api/v1
Inhoudstype
Alle verzoek- en antwoordbody's gebruiken application/json. Voeg Content-Type: application/json toe aan verzoeken met een body.

Fouten en statuscodes

De API maakt gebruik van standaard HTTP-statuscodes. Foutmeldingen bevatten een machineleesbare code en een voor mensen leesbare boodschap.

StatusBetekenis
200Succes
201Gemaakt
400Ongeldig verzoek — ongeldige parameters
401Niet geautoriseerd — ontbrekend of verlopen token
403Verboden — onvoldoende rechten
404Niet gevonden
500Interne serverfout
Foutreactie
{
  "error": {
    "code": "device_not_found",
    "message": "No device with that UUID exists in your organization",
    "status": 404
  }
}
REST API

Overzicht van de REST API

De Connection Server REST API biedt volledige programmatische toegang tot uw apparatenpark, communicatie-infrastructuur en analyses. De API volgt de RESTful-conventies met JSON-verzoek- en antwoordbody's.

API-authenticatie
Gebruikers
Apparaten
Kanalen
Mededeling
Audio Bridge
Gesprekken
Inhoud
Locaties
Pushmeldingen
Opslag
Bulkoperaties
Datum en tijd

Authenticatie

Authenticatie op basis van tokens. Bij het inloggen wordt een token geretourneerd dat als Authorization: Token moet worden meegestuurd.<token> bij alle volgende verzoeken.

POST/api/v1/loginEen gebruiker authenticeren en een authenticatietoken ontvangen.
POST/api/v1/login-deviceAuthenticeer een apparaat aan de hand van de UUID en het MAC-adres.
POST/api/v1/logoutHet huidige sessietoken ongeldig maken

Gebruikers

Gebruikersaccounts aanmaken en beheren. Het GET /users/user-eindpunt retourneert de momenteel ingelogde gebruiker.

GET/api/v1/users/userHet profiel van de momenteel ingelogde gebruiker ophalen
POST/api/v1/users/userEen nieuw gebruikersaccount aanmaken
PATCH/api/v1/users/user/{uuid}Gebruikersprofiel bijwerken (bijv. profielfoto)

Apparaten

Apparaten weergeven en inspecteren, gebruikers-apparaatkoppelingen beheren, apparaatspecifieke instellingen en status lezen en schrijven, firmware- en opslagimages verwerken en logboeken en crashrapporten ontvangen.

GET/api/v1/devices/deviceAlle apparaten weergeven
GET/api/v1/devices/device/{uuid}Ontvang gedetailleerde apparaatinformatie, inclusief firmware en instellingen.
PUT/api/v1/devices/association/{uuid}De koppeling tussen een gebruiker en een apparaat bijwerken
DELETE/api/v1/devices/association/{uuid}Verwijder de koppeling tussen gebruiker en apparaat en de opgeslagen instellingen.
GET/api/v1/devices/device/{device_uuid}/settingsLijst met opgeslagen instellingen voor een apparaat
POST/api/v1/devices/device/{device_uuid}/settingsApparaatspecifieke instellingen opslaan
GET/api/v1/devices/device/{device_uuid}/statusBekijk de apparaatstatus (connectiviteit, batterij, sensoren, audiostatus).
POST/api/v1/devices/device/{device_uuid}/statusPlaats de apparaatstatus vanaf het apparaat.
GET/api/v1/devices/device/{device_uuid}/contextToon de contextwaarden die voor een apparaat zijn opgeslagen.
POST/api/v1/devices/device/{device_uuid}/ingest-contextOntvang GPS- en wifi-informatie van het apparaat.
GET/api/v1/devices/firmwareGeef een lijst van firmwareversies die compatibel zijn met een bepaalde hardware-/softwareversie.
GET/api/v1/devices/firmware/{uuid}/{image_type}/fetchDownload een firmware-image in delen.
GET/api/v1/devices/languageLijst met ondersteunde apparaattalen en stemmen
GET/api/v1/devices/storage_imageDownload een aangepaste apparaatopslagimage voor een specifieke regio.
POST/api/v1/devices/logEen logbestand van een apparaat ontvangen
POST/api/v1/devices/crashOntvang een core dump van een apparaat.
PATCH/api/v1/devices/crash/{uuid}Een crashrapport bijwerken

CBBP-proxy

Stuur een CBBP-commando naar een apparaat via de server. De server stuurt het commando door via de wifi-verbinding van het apparaat en stuurt het antwoord van het apparaat terug. Het antwoord van het apparaat bevat ook een CBBPMessage dat het apparaat direct uitvoert.

POST/api/v1/devices/device/{device_uuid}/cbbpVerzend een CBBP-commando naar een apparaat via de server.
GET/api/v1/devices/device/{device_uuid}/cbbp/{uuid}De status en het antwoord van een eerder verzonden CBBP-commando ophalen.

De aanvraagbody is een CBBP-opdrachtenvelop. Het opgeslagen CBBPCommand-object houdt de bezorgstatus bij: UNSET → SENT → RECEIVED of TIMED_OUT.

Poll GET /cbbp/ om te controleren of het apparaat de opdracht heeft ontvangen en erop heeft gereageerd.
Verzoek — uitgaand bericht
{
  "outgoingMessage": {
    "command": "WiFiScan"
  }
}
Reactie — CBBPCommand-status
{
  "uuid": "a3f2...",
  "status": "SENT",
  "device": "d7f3a1b2-...",
  "dateSent": "2025-09-15T14:22:01Z",
  "outgoingMessage": { /* echoed */ },
  "incomingMessage": null
}

Kanalen

Kanalen vormen de basis van communicatie. Voorbeelden van typen zijn: ChannelPeople, ChannelGroup, ChannelContact, ChannelContactNumber, ChannelExternalNumber, ChannelService en ChannelRecorder.

GET/api/v1/channels/channelLijst met kanalen, eventueel gefilterd op objecttype.
POST/api/v1/channels/channelEen kanaal aanmaken (Kanaalgroep, Kanaalcontact of Extern kanaalnummer)
PATCH/api/v1/channels/channel/{uuid}Een kanaalgroep of kanaalcontact bijwerken
DELETE/api/v1/channels/channel/{uuid}Een kanaal verwijderen
DELETE/api/v1/channels/{uuid}Een kanaalgroep verwijderen
DELETE/api/v1/channels/by-type/{channelType}Verwijder alle kanalen van een bepaald type (momenteel ChannelContact).
GET/api/v1/channels/associationToon de kanaalkoppelingen voor de huidige gebruiker
POST/api/v1/channels/associationVerzoek om koppeling met een kanaal
PATCH/api/v1/channels/association/{uuid}Accepteer, weiger of update de associatie-instellingen.
DELETE/api/v1/channels/association/{uuid}Verwijder een koppeling met een kanaal
GET/api/v1/channels/historyBekijk de gepagineerde kanaaltoegangsgeschiedenis voor de huidige gebruiker.
POST/api/v1/channels/historyMaak een kanaalgeschiedenisitem aan.
GET/api/v1/channels/searchZoek kanalen op basis van zoekterm en optioneel typefilter.

Mededeling

Start en beheer actieve communicatiesessies — uitgaande gesprekken, VCP, opnemen en contentstreaming. De reactie op een uitgaand gesprek bevat een CBBP-bericht waarop het apparaat direct reageert.

POST/api/v1/communicate/outgoing-makeStart een uitgaand kanaal naar een ChannelPeople, ChannelGroup, ChannelContact of ChannelContactNumber.
POST/api/v1/communicate/incoming-acceptanceEen inkomend verzoek om deel te nemen aan een kanaal accepteren of weigeren.
POST/api/v1/communicate/closeSluit het actieve communicatiekanaal op een apparaat.
POST/api/v1/communicate/vcp-activateStart het Voice Communication Protocol (VCP) op de server en het apparaat.
POST/api/v1/communicate/vcp-deactivateDeactiveer VCP en ga terug naar een eerder kanaal.
POST/api/v1/communicate/recording-activateActiveer de opnamemodus op de server en het apparaat.
POST/api/v1/communicate/content-startOpen een streamingkanaal voor audio-inhoud.
POST/api/v1/communicate/request-vocalizationGenereer TTS-audio voor de gegeven tekst, eventueel met vertaling.

Audio Bridge

Krijg toegang tot opgenomen bridgegesprekken, inclusief volledige transcripties, deelnemerslijsten en door AI gegenereerde samenvattingen. Ondersteunt meerdere samenvattingssjablonen (vergaderingsnotities, lesnotities, gezondheidszorg, enz.) en TTS-audiogeneratie voor samenvattingen.

GET/api/v1/bridge/conversationsMaak een lijst van alle bridgegesprekken.
GET/api/v1/bridge/conversations/{uuid}Ontvang een gedetailleerd gesprek inclusief transcript, deelnemers en samenvatting.
POST/api/v1/bridge/conversations/{conversation_uuid}/summaryGenereer een AI-samenvatting voor een gesprek
POST/api/v1/bridge/conversations/{conversation_uuid}/summary/{summary_uuid}/audioGenereer audio voor een samenvatting van een gesprek.

Gesprekken

AI-gestuurde conversatiesessies met ChatGPT, Gemini of de eigen engine. Ondersteunt meerdere persona's (arts, bijlesgever, monteur, enz.) en een gepagineerde berichtenhistorie.

GET/api/v1/conversations/conversationLijst met AI-generatorsessies, filterbaar op persona en tool.
POST/api/v1/conversations/conversationMaak een nieuwe AI-gespreksessie aan.
GET/api/v1/conversations/conversation/{uuid}Haal een gespreksessie op met optionele samenvatting/afwezigheidsupdate
DELETE/api/v1/conversations/conversation/{uuid}Een gespreksessie verwijderen
GET/api/v1/conversations/conversation/{uuid}/messagesBerichten weergeven in een gesprek
POST/api/v1/conversations/conversation/{uuid}/messagesVoeg een gebruikersbericht toe en ontvang een AI-antwoord.

Inhoud

Blader door en speel streaming audiocontent af op uw apparaten. De content is georganiseerd in een categoriestructuur; populaire content kan worden gefilterd op stad, regio of land.

GET/api/v1/content/categoriesKrijg een boomstructuur van inhoudscategorieën
GET/api/v1/content/contentToon beschikbare content binnen een categorie
GET/api/v1/content/popularGeef een lijst van populaire content voor een bepaalde stad, regio of land.

Locaties

Zet geografische coördinaten om naar een gestructureerd object met stads-, regio- en landwaarden. Wordt door apparaten gebruikt bij het verwerken van contextinformatie.

POST/api/v1/location/determineOntwikkel een breedte-/lengtegraad naar stad, regio en land.

Pushmeldingen

Registreer een mobiele app om pushmeldingen van FCM te ontvangen. Ondersteunt iOS, Android en webapplicaties.

POST/api/v1/push-notifications/pushRegistreer een mobiele app voor pushmeldingen van FCM (iOS, Android, web).

Opslag

Download de bestanden die op modelobjecten zijn opgeslagen en voer een functie uit om de achtergrond van de afbeelding te verwijderen (dit levert een base64-gecodeerd resultaat op).

GET/api/v1/storage/retrieve/{path}Een opgeslagen bestand downloaden via het pad
POST/api/v1/storage/remove-backgroundVerwijder de achtergrond van een afbeelding (geeft base64 terug)

Bulkoperaties

Voer meerdere API-bewerkingen uit in één HTTP-verzoek. Geef `single_transaction=true` door om alle bewerkingen in één atomaire transactie te bundelen — een fout bij een van de items zorgt ervoor dat de hele batch wordt teruggedraaid.

POST/api/v1/bulkVoer meerdere API-bewerkingen uit in één verzoek, eventueel als één atomaire transactie.

Datum en tijd

Geeft de huidige serverdatum en -tijd weer in GMT+0. Vereist geen authenticatie. Wordt gebruikt door apparaten om hun interne klok te synchroniseren.

GET/api/v1/current-datetimeGeef de huidige datum en tijd weer in GMT+0.
CBBP-protocol

Com Badge Basisprotocol

CBBP is een lichtgewicht JSON-commandoprotocol voor directe interactie met Connection-badges. Het geeft je volledige controle over alle hardware- en softwarefuncties van het apparaat.

Berichtindeling

Elke CBBP-interactie bestaat uit een commandobericht dat naar het apparaat wordt verzonden en een resultaatbericht dat door het apparaat wordt teruggestuurd.

Het objectveld in zowel het verzoek als het antwoord bevat opdrachtspecifieke gegevens en kan worden weggelaten als het niet nodig is.

De volledige protocoldocumentatie is beschikbaar voor geregistreerde partners. Neem contact op met uw Connection-vertegenwoordiger of neem contact op met developer@connectionbadge.com Om toegang te vragen tot de volledige CBBP-opdrachtreferentie, inclusief volledige aanvraag-/antwoordschema's, foutcodes en integratiehandleidingen.
Opdrachtbericht
{
  "command": "command_name",
  "object": {
    // optional command parameters
  }
}
Resultaatbericht
{
  "result": 0,          // 0 = success, -1 = error
  "detail": "ok",      // human-readable status
  "object": {          // optional response data
    // command-specific fields
  }
}

Vervoer

CBBP-berichten kunnen, afhankelijk van uw integratiearchitectuur, via drie verschillende transportmethoden naar een badge worden verzonden.

Bluetooth (app)

Verzend CBBP-commando's rechtstreeks vanuit een mobiele app via BLE. Vereist dat het apparaat gekoppeld is en zich binnen bereik bevindt.

Mobiele SDK

Wifi of Bluetooth via de server.

Proxy CBBP via de REST API — POST /devices//cbbp. De server routeert automatisch naar het apparaat via wifi of Bluetooth, afhankelijk van hoe de badge is verbonden. Meestal gebruikt voor backend-integraties.

REST API

Interne verzending

CBBP-dispatch op het apparaat zelf of tussen processen. Wordt door de badgefirmware gebruikt om commando's tussen interne subsystemen door te sturen.

Alleen firmware

Krachtcommando's

Beheer de stroomstatus van het apparaat: slaapstand, ontwaken, opnieuw opstarten en fabrieksinstellingen herstellen.

PowerRebootStart het apparaat onmiddellijk opnieuw op.
PowerDeepsleepSchakel over naar de diepe slaapstand (energiebesparende modus).
FactoryResetWis alle configuratie-instellingen en herstel naar fabrieksinstellingen.

WiFi-commando's

Draadloze netwerken configureren, naar access points zoeken, de verbindingsstatus controleren en opgeslagen inloggegevens beheren.

WiFiScanScan de computer om beschikbare wifi-toegangspunten te vinden.
WiFiAPTestTest de verbinding met een specifiek wifi-toegangspunt.
WiFiAPJoinMaak verbinding met een wifi-toegangspunt met de verstrekte inloggegevens.

Bluetooth-commando's

Beheer BLE-advertenties, koppeling en communicatie tussen badges.

BTScanBTScan naar klassieke Bluetooth-apparaten.
BTScanBLEScan naar BLE-apparaten.
DeviceBLEServiceAvailableMarkeer de BLE-service als beschikbaar.
DeviceBLEServiceUnavailableMarkeer de BLE-service als niet beschikbaar.
DeviceBLEActiveZet de BLE-radio in de actieve stand.
DeviceBLEIdleZet de BLE-radio in de inactieve stand.
DeviceBLEAdvChannelAddVoeg een kanaal toe aan de BLE-advertentiepayload.
DeviceBTScanStart een Bluetooth-apparaatscan.
DeviceBTA2DStartStart Bluetooth A2DP-audiostreaming.
DeviceBTA2DEndEinde van Bluetooth A2DP-audiostreaming.
DeviceBTNativeAssistStartStart de ingebouwde Bluetooth-spraakassistent.
DeviceBTNativeAssistEndBeëindig de ingebouwde Bluetooth-spraakassistent.

Instellingenopdrachten

Apparaatconfiguratie lezen en schrijven — weergavenaam, tijdzone, taal en functievlaggen.

SettingsListGetHaal alle instellingen op als een lijst met sleutel-waardeparen.
SettingsListSetSchrijf meerdere instellingswaarden tegelijk.
SettingsGetDe waarde van een enkele instelling opvragen aan de hand van een sleutel.
SettingsSetStel de waarde van één enkele instelling in.
SettingsSendDe huidige instellingen naar de server verzenden.
SettingsClearWis specifieke instellingswaarden.
SettingsEraseWis alle opgeslagen instellingen.

Firmware-opdrachten

Start OTA-firmware-updates, controleer de updatestatus en vraag de huidige firmwareversie op het apparaat op.

FirmwareCheckControleer of er een firmware-update beschikbaar is.
FirmwareUpdateStart een OTA-firmware-update.
FirmwareValidateControleer de integriteit van een gedownloade firmware-image.

Apparaatcommando's

Levenscyclus van het apparaat, authenticatie, configuratie, logboekregistratie, status en hardwarebeheer.

NoOpGeen operatie / in leven houden.
TestBasistest voor de internetverbinding.
DeviceDateTimeDe datum en tijd van het apparaat opvragen of instellen.
DeviceAuthenticateAuthenticeer het apparaat bij de server.
DeviceConfigurePas een configuratiepayload toe op het apparaat.
DevicePostConnectionTasksVoer de initialisatietaken na de verbinding uit.
DeviceStorageLoadLaad gegevens vanuit het interne geheugen van het apparaat.
DeviceLoadCustomAudioLaad aangepaste audiobestanden op het apparaat.
DeviceCoredumpSendUpload een crashdump naar de server.
DeviceAttachVerbind het apparaat met een serversessie.
DeviceDetachOntkoppel het apparaat van de serversessie.
DeviceLogSendUpload de apparaatlogboeken naar de server.
DeviceConnectionTestTest de serververbinding.
DeviceStatusSendVerzend de apparaatstatus naar de server.
DeviceStatusGetDe huidige status van het apparaat opvragen.
DeviceInteractionActiveer een apparaatinteractiegebeurtenis.
DeviceSetAPIHostStel de host van de API-server in.
DeviceTestMicsVoer een zelftest van de microfoon uit.
HardwareI2CCommandVerzend een onbewerkt I2C-commando naar een hardware-randapparaat.

Communicatiecommando's

Start gesprekken, verstuur berichten, beheer actieve communicatiesessies en bedien opnames.

CommunicateChannelJoinNeem deel aan een communicatiekanaal.
CommunicateChannelLeaveLaat een communicatiekanaal open.
CommunicateChannelChangeSchakel over naar een ander kanaal.
CommunicateChannelCloseEen communicatiekanaal sluiten.
CommunicateReceiveIncomingStel het apparaat op de hoogte van een inkomend bericht.
CommunicateRequestOutgoingVerzoek om een uitgaand bericht.
CommunicateVCPActivateActiveer de spraakcommunicatieprotocolsessie.
CommunicateVCPDeactivateDeactiveer de VCP-sessie.
CommunicateRecordingActivateBegin met het vastleggen van de actieve communicatie.
CommunicateIncomingAcceptNeem een inkomend gesprek aan.
CommunicateIncomingRejectEen inkomend gesprek weigeren.
CommunicateHFPCallStartStart een Bluetooth HFP-telefoongesprek.
CommunicateHFPCallEndEen Bluetooth HFP-telefoongesprek beëindigen.
CommunicateContentStartBegin met het streamen van audiocontent naar het apparaat.
CommunicateContentStopStop met het streamen van audio.
SocketReceiveStatusOntvang een statusupdate via WebSocket.

Audiocommando's

Regel het luidsprekervolume, de microfoonversterking, de audioprofielen en de tekst-naar-spraakweergave.

AudioPlayStorageSpeel een audiobestand af vanaf het interne geheugen van het apparaat.
AudioPlayContentSpeel gestreamde audio af.
AudioSetVolumeStel het luidsprekervolume in.

LED-commando's

Stel de kleur, helderheid en animatiepatronen van de LED-indicator in op het badgelampje.

DeviceIlluminationSetStel de LED-kleur en het verlichtingspatroon in.

Interne commando's

Interne commando's die worden gebruikt voor contextoverdracht, kanaalgeschiedenis, spraakweergave en audiodecodering.

InternalSendContextStuur contextgegevens naar de interne contextverwerker.
InternalSendChannelHistoryStuur de kanaalgeschiedenis naar de interne handler.
InternalRequestVocalizationVerzoek om tekst-naar-spraak intern te laten uitvoeren.
InternalHandleVocalizationRTPVerwerk een binnenkomende RTP-stream met gesproken tekst.
InternalDecodeAudioDecodeer een binnenkomende audiostream.

Mobiele commando's

Commando's voor het coördineren van de badge met een gekoppelde mobiele app: pushmeldingen, synchronisatie van de app-status en deep linking.

MobileServiceStatusDe status van de mobiele service aan het apparaat rapporteren. (Mobiel → Apparaat)
MobileSocketOpenGeef de mobiele app de opdracht om een WebSocket-verbinding te openen. (Apparaat → Mobiel)
MobileSocketCloseGeef de mobiele app de opdracht om een WebSocket-verbinding te sluiten. (Apparaat → Mobiel)
MobileSocketStatusDe WebSocket-status rapporteren aan de mobiele app. (Apparaat → Mobiel)
MobileReceiveStatusMeld de ontvangststatus aan de mobiele app. (Apparaat → Mobiel)
MobileSocketUpdateVerzend een WebSocket-gegevensupdate naar de mobiele app. (Apparaat → Mobiel)
MobilePTTStartInformeer de mobiele app dat de PTT-transmissie is gestart. (Apparaat → Mobiel)
MobilePTTStopInformeer de mobiele app dat de PTT-transmissie is beëindigd. (Apparaat → Mobiel)
MobileContextSetStel contextgegevens in op de mobiele app. (Apparaat → Mobiel)
MobileEchoGebruik het Echo-commando om de mobiele connectiviteit te testen. (Apparaat → Mobiel)

Klaar om te bouwen?

Word lid van de Connection-ontwikkelaarscommunity en krijg toegang tot sandbox-apparaten, SDK's en toegewijde ondersteuning.