Overzicht

Met de Buluthat API integreert u uw bestaande software (CRM, ERP, e-commerce, helpdesk) met uw cloudtelefooncentrale: click-to-call, gespreksbesturing, wachtrijbeheer, zwarte lijst, geluidsbestanden, campagnes voor automatisch bellen, taken voor de spraakassistent en spraakverificatiecodes.

Alle endpoints draaien over gewone HTTP; antwoorden zijn JSON. Te gebruiken vanuit elke taal met een HTTP-client.

Basisadres: https://api.buluthat.com/api/

Authenticatie

Alle endpoints hetzelfde De API-sleutel gebruikt. De sleutel in het paneel Account en Support > API-sleutels op de pagina, door de accountbeheerder aangemaakt; bt_ begint met en wordt slechts eenmaal getoond, op het moment van aanmaken.

De sleutel wordt bij elk verzoek in de header meegestuurd:

Authorization: Bearer bt_xxxxxxxx

Authorization als de header niet kan worden ingesteld X-Api-Key: bt_xxxxxxxx wordt ook geaccepteerd. Sleutel in de URL (?key=) is voor nieuwe sleutels uitgeschakeld.

Elke sleutel is gekoppeld aan één klantaccount en heeft alleen toegang tot de gegevens van dat account. Bij de sleutel bereik is gedefinieerd:

BereikEndpoints
callGespreksbeheer, wachtrijen, medewerkerstatussen
autocallAutomatisch bellen (opent ook de endpoints voor spraakassistent, spraak-OTP en oproepen voor compatibiliteit met oudere integraties)
voicebotSpraakassistent
voice_otpSpraakverificatiecode
smsSMS API

Verzoek buiten het bereik 403 scope_denied, module uitgeschakeld in uw account 403 module_disabled geeft terug. Bij de sleutel lijst met toegestane IP's, vervaldatum en verplichte HMAC-verzoekhandtekening kan worden gedefinieerd; allemaal API-beveiliging op de pagina.

Gebruik uw sleutel niet aan de browserzijde (JavaScript); roep altijd aan vanaf uw eigen server. Vermoedt u een lek, kies dan in het paneel "Sleutel vernieuwen > Oude sleutel direct sluiten"; de oude is onmiddellijk ongeldig.

Verzoekformaat

  • Leesbewerkingen GET, handelingen die wijzigen POST (bij audiobestanden PUT/DELETE).
  • POST-body application/json of application/x-www-form-urlencoded kan zijn.
  • Handeling bij integratie-endpoints action wordt gekozen met de parameter (?action=create_campaign).
  • Tijdstempels zijn Turkse tijd (2026-09-18 10:12:03).
  • Telefoonnummers 05xxxxxxxxx, 5xxxxxxxxx of 905xxxxxxxxx wordt geaccepteerd in het formaat; in antwoorden komt het genormaliseerd terug.

Antwoordformaat

De integratie-endpoints (autocall, voicebot, voice_otp) geven altijd een envelop terug:

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

De endpoints van de telefooncentrale (begin_call, queues, blocked_numbers…) spreken via HTTP-statuscodes: bij succes 200 OK en in de body het resultaat (JSON-array of platte tekst), bij een fout 4xx en in de body een Turks foutbericht.

Foutcodes

HTTPcodeBetekenis
400validation_failedVeldvalidatie mislukt; het bericht geeft de reden
401missing_token / invalid_token / token_expiredSleutel ontbreekt, is ongeldig of verlopen
401query_key_disabled / signature_*De sleutel kwam in de URL of de handtekening kon niet worden geverifieerd (API-beveiliging)
403module_disabled / scope_denied / ip_not_allowedModule uitgeschakeld, bereik onvoldoende of IP niet toegestaan
404*_not_foundGeen dossier of het hoort bij een andere klant
405method_not_allowedGET ontvangen voor een bewerking die POST vereist
422(per eindpunt)Weigering door bedrijfsregel: quota, duur, geen lijn enz.
413payload_too_largeDe verzoek-body overschrijdt 5 MB
429rate_limited / ip_lockedSnelheidslimiet overschreden of IP tijdelijk geblokkeerd wegens te veel foutieve pogingen
503db_unavailableTijdelijk servicprobleem; probeer het zo opnieuw

Snelheidslimieten

LimietStandaard
Per sleutel120 verzoeken per minuut (te verlagen in de sleutelinstellingen)
Totaal van alle sleutels van het account600 verzoeken per minuut
Medewerkerstatussenbovendien 2 verzoeken per minuut (gebruik voor live status liever een webhook)
Automatisch bellen add_leads5.000 records per verzoek

In antwoorden X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset headers komen mee. Bij overschrijding 429 Too Many Requests en Retry-After header wordt teruggegeven. Elk antwoord heeft de X-Request-Id deel de waarde in supportverzoeken.

Testomgeving

Er is geen aparte sandbox; probeer het met een testtoestel en een kleine campagne in uw account. Campagnes voor automatisch bellen status: "draft" aangemaakt met en results/summary u kunt de endpoints ook aanroepen zonder dat er data binnenkomt. Verstuur bij de spraakverificatiecode naar uw eigen nummer; de tarifering verloopt volgens uw pakketregels.

Versie en wijzigingen

Endpoints blijven achterwaarts compatibel; nieuwe velden worden toegevoegd, de naam en het type van bestaande velden veranderen niet. Een veld dat vervalt wordt minstens 90 dagen van tevoren in het paneel en op deze pagina aangekondigd.

Help

Loopt u tijdens de integratie vast, open dan in het Helpcentrum van het paneel een melding met het onderwerp "Integratie / API"; voeg uw voorbeeldverzoek/-antwoord toe, dan kijken we samen.