Call Management

Start calls from your software (click-to-call), end, transfer or mute ongoing calls. All endpoints use an API key (scope call; Authorization: Bearer bt_… in the header, see API Security) and GET is called with the method.

Rate limit: 10 requests per minute. Call ID (call_uuid) begin_call is returned in the response and in the live call data.

GETStart a call (click-to-call)

The specified extension rings first; when it answers, the target number is dialed and the two sides are connected.

GET https://api.buluthat.com/api/begin_call.php?extension=1001&destination=905321234567
ParameterRequiredDescription
Authorization (subject)yesBearer bt_…, scope call
extensionyesExtension the call will be connected to (e.g. 1001)
destinationyesNumber to call. For Turkey 905321234567, for abroad 00 + country code
caller_idnoThe number shown on outbound calls; if not given, the extension's default. A number not belonging to your account 400 returns
manual_answernotrue if, the extension is expected to answer manually; if not given, it is auto-answered on supporting devices
timeoutnoRing time, 10-60 sec (default 30)
announcement_to_callernoID of the announcement to play to the extension on connection
announcement_to_calleenoID of the announcement to play to the called party on connection

Successful response: 200 OK, the call id in the body.

358c20bc-fd86-11e5-87a2-157d41a07454

Error response examples:

400 Bad Request   extension 1005 not found
400 Bad Request   caller_id 02120000000 not allowed
401 Unauthorized  Geçersiz anahtar: K…

GETEnd the call

GET https://api.buluthat.com/api/hangup.php?id=<call_uuid>

id instead of, the path form is also accepted: /api/hangup/<call_uuid>. Response 200 OK.

GETTransfer the call

Transfers an ongoing call to an extension or an external number.

GET https://api.buluthat.com/api/transfer.php?id=<call_uuid>&user_number=1002
ParameterDescription
idCall ID
user_numberDestination extension (e.g. 1002) or an external number (905321234567)

GETMute / unmute

GET https://api.buluthat.com/api/mute.php?id=<call_uuid>&state=on

state: on (mute) or off (turn on sound).

Live call data

The list of ongoing calls (caller, called, extension, status, duration) is read from the CRM bridge endpoint; use this data or webhooks to open a customer card on an incoming call. For details request the "CRM bridge" document from the Support Center; the bridge is ready for Byfix CRM.

Typical flow: click-to-call from the CRM

1. Kullanıcı CRM'de numaraya tıklar
2. Sunucunuz begin_call'u çağırır (extension = kullanıcının dahilisi)
3. Dahili çalar, açınca müşteri aranır; call_uuid'yi kaydedin
4. Görüşme bitince CDR raporda; kayıt panelden dinlenir