Ana içeriğe geç

Call API

Base URL: https://api.sanalsantral.com.tr Prefix: /call

Kimlik Doğrulama

Tüm isteklerde Authorization header’ı ile API anahtarınızı göndermeniz gerekmektedir.

Authorization: Bearer <API_KEY>

API anahtarınızı hesap yöneticinizden temin edebilirsiniz.

Endpointler

1. Extension Status (Dahili Durumu)

Bir dahilinin anlık kayıt durumunu sorgular.

ÖzellikDeğer
URLGET /call/extensionStatus
AuthBearer Token

Query Params:

AlanTipZorunluAçıklama
pbxIdstringEvetPBX kimlik numarası
extensionstringEvetSorgulanacak dahili numarası

Response (Başarılı):

{
"success": true,
"message": "Dahili durumu başarıyla getirildi",
"data": {
"Status": "OK",
"Address-IP": "192.168.1.100",
"SIP-Useragent": "Obi/4.2.0"
}
}

Response (Hata):

{
"success": false,
"message": "Dahili durumu alınamadı",
"error": "Timeout"
}

2. Dial First (Çağrı Başlatma)

Yeni bir çağrı başlatır. Sistem önce belirtilen dahiliyi arar, dahili cevapladıktan sonra hedef numarayı çağırır.

ÖzellikDeğer
URLPOST /call/dialFirst
AuthBearer Token

Request Body:

{
"pbxId": 1,
"dialNumber": "05551234567",
"callerId": "02121234567",
"callerExtension": "1001-TESTPBX",
"destination": {
"type": "mobile",
"target": "05559876543"
}
}
AlanTipZorunluAçıklama
pbxIdnumberEvetPBX kimlik numarası
dialNumberstringEvetAranacak numara
callerIdstringEvetArayan numara olarak görünecek numara
callerExtensionstringEvetÇağrıyı başlatan dahili numarası
destinationobjectEvetHedef bilgisi
destination.typestringEvetHedef tipi: mobile, pi
destination.targetstringEvetHedef numarası
destination.paramsobjectHayırPi uygulaması için gönderilecek parametreler.

Response (Başarılı):

{
"success": true,
"message": "Çağrı başarıyla başlatıldı",
"data": {
"ActionID": "1705312200123"
}
}

Response (Hata):

{
"success": false,
"message": "Çağrı başlatılamadı",
"error": "Originate failed"
}

Örnek Kullanımlar:

Önce dahiliyi arayıp sonra cep telefonuna bağlama isteği: (Örnek santral kodu TESTPBX)

{
"pbxId": 9091279,
"dialNumber": "1016",
"callerId": "902202221100",
"callerExtension": "1016-TESTPBX",
"destination": {
"type": "mobile",
"target": "05559876543"
}
}

Önce cep telefonunu sonra dahiliye bağlama isteği: (Örnek santral kodu TESTPBX)

{
"pbxId": 1,
"dialNumber": "05559876543",
"callerId": "02121234567",
"callerExtension": "1016-TESTPBX",
"destination": {
"type": "mobile",
"target": "1016-TESTPBX"
}
}

Önce cep telefonunu sonra Pi uygulamasına bağlama isteği: (Örnek santral kodu: TESTPBX)

{
"pbxId": 1,
"dialNumber": "05559876543",
"callerId": "02121234567",
"callerExtension": "1001-TESTPBX",
"destination": {
"type": "pi",
"target": "26",
"params": {
"orderId": "ORD-12345",
"customerId": "C-789"
}
}
}

Genel Response Yapısı

Tüm endpointler aşağıdaki formatta JSON response döner:

{
"success": true,
"message": "İşlem açıklaması",
"data": {}
}
AlanTipAçıklama
successbooleanİşlem başarılı ise true, hata durumunda false
messagestringİşlem sonucunu açıklayan mesaj
dataanyİşlem sonucu dönen veri (hata durumunda bulunmayabilir)

Hata Kodları

HTTP KoduAçıklama
400Eksik veya geçersiz parametre
401Geçersiz veya eksik API anahtarı
403Bu kaynağa erişim yetkiniz bulunmamaktadır
404İstenen kaynak bulunamadı
500Sunucu hatası