netgsm/netsantral

Netsantral

Installs: 48

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 0

Open Issues: 0

Type:package

v2.0.2 2023-02-13 11:20 UTC

This package is auto-updated.

Last update: 2024-05-15 09:01:17 UTC


README

NetSantral paket aboneliği bulunan kullanıcılarımız için composer paketidir. alt text

İçindekiler

İletişim & Destek

Netgsm API Servisi ile alakalı tüm sorularınızı ve önerilerinizi teknikdestek@netgsm.com.tr adresine iletebilirsiniz.

Supported

Supported Laravel Versions

Laravel 6.x, Laravel 7.x, Laravel 8.x, Laravel 9.x, Laravel 10.x,

Supported Lumen Versions

Lumen 6.x, Lumen 7.x, Lumen 8.x, Lumen 9.x,

Supported Symfony Versions

Symfony 4.x, Symfony 5.x, Symfony 6.x

Supported Php Versions

PHP 7.2.5 ve üzeri

Kurulum

composer require netgsm/netsantral

.env dosyası içerisinde NETGSM ABONELİK bilgileriniz tanımlanması zorunludur.

NETGSM_USERCODE=""
NETGSM_PASSWORD=""

Doküman

API Servisi için hazırlanmış kapsamlı dokümana ve farklı yazılım dillerinde örnek amaçlı hazırlanmış örnek kodlamalara https://www.netgsm.com.tr/netsantraldokuman/#netsantral-api adresinden ulaşabilirsiniz.

Santral Yönetimi

Çağrı işlemleri (başlatma, sonlandırma, sessize alma, bağlama, transfer), Kuyruk işlemleri (durum sorgulama, dahili ekleme/çıkarma, dış numara ekleme/çıkarma, dinamik yönlendirme) olayları gerçekleştirilebilir.

Çağrı Başlatma

Bu servis, santral numaranızdan (312xxxxxxx,850xxxxxxx) santralinizdeki register olan bir dahilden dış arama yapmak için veya santralinizdeki register olan diğer bir dahiliye arama yapmak için kullanılır.

Değişken Anlamı
customer_num Arama yapılacak dış numara bilgisi, dahilinizin aramak istediği GSM numara bilgisidir. Eğer originate order if yapılırsa önce dahiliniz of yapılırsa önce cep numarası aranır. Zorunlu parametre
internal_num Çağrının başlatılacağı iç dahilinin numarasıdır. Zorunlu parametre
ring_timeout Çağrının açılmadan önce çaldırma süresidir. Zorunlu parametre
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre
wait_response Eğer 1 ise isteğin cevabını çağrıyı biri açana kadar döndürmez, açarsada unique id ile beraber döndürür, 0 ise çağrıyı sisteme teslim edince hemen cevabı döndürür. Zorunlu parametre
originate_order Eğer “if” ise öncelikle dahili çalar, “of” ise öncelikle dış numara çalar. Zorunlu parametre
Trunk Santral numaranız, Aradığınızda görünecek numara bilgisidir.(çıkış yapılacak numara). Zorunlu parametre
call_time Saniye cinsinden süre verildiğinde, çağrı tetiklenme süresinden itibaren o kadar süre açık kalacağı anlamına gelir. Zorunlu olmayan parametre
hide_callerid 1 değerini aldığında aranan numara dahilinin ekranında gizlenerek gösterilir. 0 değerini aldığında gizlenmez. Zorunlu olmayan parametre
caller_text originate_order if seçilmişse kullanılabilen bu parametre, çağrı başlatıldığında dahiliye text içeriği ses olarak dinletilebilir. Zorunlu olmayan parametre
called_text originate_order if seçilmişse kullanılabilen bu parametre, çağrı başlatıldığında aranan dış numaraya text içeriği ses olarak dinletilebilir. Zorunlu olmayan parametre
caller_record originate_order if seçilmişse kullanılabilen bu parametre, çağrı başlatıldığında dahiliye öncesinde Netsantral arayüzden daha öncesinde yüklenmiş ses dosyasını dinletilebilirsiniz. (dosya adı yazılırken uzantısıyla birlikte arayüzdeki tam adı yazılmalıdır.) Zorunlu olmayan parametre
called_record originate_order if seçilmişse kullanılabilen bu parametre, çağrı başlatıldığında aranan dış numarayaetsantral arayüzden daha öncesinde yüklenmiş ses dosyasını dinletilebilirsiniz. ( yalnızca dosya adı yazılır, .wav uzantısı yazılmamalıdır.) Zorunlu olmayan parametre

Örnek

       use Netgsm\Netsantral\Package as NetsantralPackage;
       
       $data=array(   
            "customer_num"=>"553xxxxxxx",
            "pbxnum"=>"850xxxxxxx",
            "internal_num"=>"110",
            "ring_timeout"=>"20",
            "crm_id"=>"xxx",
            "wait_response"=>"1",
            "originate_order"=>"if",
            "trunk"=>"312xxxxxxx",
            "call_time"=>"49",
            // "caller_text"=>"merhaba bu bir test aramasıdır.",//caller_record varsa caller_text yazılmamalıdır.
            // "called_text"=>"merhaba bu bir test aramasıdır.",//called_record varsa caller_text yazılmamalıdır.
            "called_record"=>"mesaidisistandart.wav"//called_text varsa called_record yazılmamalıdır.
        );
        $islem=new NetsantralPackage;
        $sonuc=$islem->cagribaslat($data);
        
        dd($sonuc);
	die;

Başarılı istek örnek sonuç

Array
(
    [unique_id] => sip3-xxxxxxxx.53336
    [caller_num] => 102
    [called_num] => 553xxxxxxx
    [crm_id] => xxx
    [response] => originate
    [status] => Success
    [message] => Successfully
)

Başarısız istek örnek sonuç

Array
(
    [code] => 30
    [status] => Error
    [message] => Eksik yada yanlis parametre 2 
)

Sistemden Alınan Cevap

Parametre Anlamı
caller_num Arayan Numara
called_num Aranan Numara
response İstek Bilgisi
crm_id Yapılan istek ID
unique_id Çağrıya ait ID, Unique_id bilgisi çağrı başlatma başarılı olursa döner, çağrı başarısız olursa dönmez.
status Durum açıklaması, success ya da error döner.
message Mesaj açıklaması

Başarılı başlatılan çağrılarda message parametresinden dönebilir cevaplar

Durum Anlamı
No registration Eğer dahili veya trunk register değilse
Get Busy Karşı taraf meşgule aldığında
No Answer Karşı telefon çaldı, fakat cevaplayan olmadığında
Busy Meşgul
Successfully Başarılı
Unknown reason Nedeni belli olmayan durum(Hata mesajıdır.)

Hata Durumlarında message parametresinden dönebilir cevaplar

message sebebi
Kullanıcı doğrulanamadi username bilgisi hatalı gönderilirse gelen hata mesajı
Eksik yada yanlis parametre 2 internal_num veya trunk bilgisi hatalı gönderilirse gelen hata mesajı
Channel not specified originate_order bilgisi hatalı gönderilirse gelen hata mesajı *Dış numaraya başlatıln çağrılarda olabilir.

İç Dahiliye Çağrı Başlatma

       use Netgsm\Netsantral\Package as NetsantralPackage;
       $data=array(   
            "pbxnum"=>"312xxxxxxx",
            "caller"=>"110",
            "called"=>"153",
            "ring_timeout"=>"20",
            "crm_id"=>"123456",
            "wait_response"=>"1",
            // "caller_text"=>"merhaba bu bir test aramasıdır.",
            // "called_text"=>"merhaba bu bir test aramasıdır.",
            "called_record"=>"mesaidisistandart.wav"
        );
        $islem=new NetsantralPackage;
        $sonuc=$islem->icDahiliCagriBaslat($data);
        dd($sonuc);
	die;

Başarılı istek örnek sonuç

Array
(
    [unique_id] => sip3-xxxxxxxx.53336
    [caller_num] => 102
    [called_num] => 553xxxxxxx
    [crm_id] => xxx
    [response] => originate
    [status] => Success
    [message] => Successfully
)

Başarısız istek örnek sonuç

Array
(
    [code] => 30
    [status] => Error
    [message] => Eksik yada yanlis parametre 2 
)

Çağrı Sonlandırma

Parametre olarak aldığı uniqueid değerine sahip kanalı santraliniz üzerinde kapatarak çağrının sonlanmasını sağlar.
Çağrı sonlandırma santral çağrı trafiği izleme ile size gönderilen unique_id bilgisi ile de yapılabilir.

Parametre Anlamı
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre
unique_id onlandırmak istenilen çağrıya ait ID Zorunlu parametre

Örnek

        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(   
            "unique_id"=>"sip9-167xxxx620.xxxxx",
            "crm_id"=>"xxx",
            
        );
        $islem=new NetsantralPackage;
        $sonuc=$islem->cagrisonlandirma($data);
        dd($sonuc);
	die;

Başarılı istek örnek sonuç

Array
(
    [crm_id] => xxx
    [response] => hangup
    [status] => Success
    [message] => Successful
)

Başarısız istek örnek sonuç

Array
(
    [code] => 30
    [status] => Error
    [message] => Eksik yada yanlis parametre
)

Servisten Alınan Örnek Cevap

Kodu Anlamı
response istek bilgisi
crm_id Yaptığınız istek IDsi
unique_id Çağrıya ait ID
status Durum açıklaması
message Mesaj Açıklaması

Çağrıyı Sessize Alma

Parametre Anlamı
/muteaudio çağrıyı sessize alma işlemine ait komut Zorunlu Parametre
username Sistemden hizmet aldığınız abone numarasıdır. (Santral numaranızı göndermelisiniz.312911xxxx,850xxxxxxx) Zorunlu parametre
password API yetkisi tanımlı alt kullanıcı şifresi. Zorunlu parametre
unique_id Sessize alınmak istenilen çağrıya ait ID * * Zorunlu parametre **
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre
direction Hangi tarafa doğru sessize alınacağı bilgisi. Bu parametrede all, in, out değerleri gönderilebilir. Zorunlu parametre
state Sessize almak istediğinizde mute, sessizden almak istediğinizde unmute gönderiniz. Zorunlu parametre

Örnek

        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(   
            "unique_id"=>"sip9-1675xxxx16.207479",
            "crm_id"=>"xxx",
            "state"=>'unmute',
            'direction'=>'all'
            
        );
        $islem=new NetsantralPackage;
        $sonuc=$islem->cagrisessizeal($data);
	dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [crm_id] => xxx
    [response] => muteaudio
    [status] => Success
    [message] => Successful
)
Başarısız istek örnek sonuç
Array
(
    [code] => 30
    [status] => Error
    [message] => Eksik yada yanlis parametre
)

Çağrı Bağlama

İki dış numarayı arayarak birbirine bağlama işlemidir.

Parametre Anlamı
caller Arama yapılacak dış numara bilgisi girilmelidir. Zorunlu parametre
called Çağrının bağlanacağı diğer dış numara bilgisi girilmelidir. Zorunlu parametre
ring_timeout Çağrının açılmadan önce çaldırma süresidir, saniye cinsinden belirtebilirsiniz. Zorunlu parametre
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre
wait_response ğer 1 ise isteğin cevabını çağrıyı biri açana kadar döndürmez, açarsada unique id ile beraber döndürür, 0 ise çağrıyı sisteme teslim edince hemen cevabı döndürür. Zorunlu parametre
originate_order Eğer “if” ise öncelikle “caller” çalar, “of” ise öncelikle “called” çalar. Zorunlu parametre
trunk Santral numaranız (8xxxxxxxxx). Zorunlu Parametre
call_time Saniye cinsinden süre verildiğinde, çağrı tetiklenme süresinden itibaren o kadar süre açık kalacağı anlamına gelir. Zorunlu olmayan parametre
caller_text çağrı bağlandığında caller parametresinde gönderilen numaraya text içeriği ses olarak dinletilebilir. Zorunlu olmayan parametre
called_text çağrı bağlandığında called parametresinde gönderilen numaraya text içeriği ses olarak dinletilebilir. Zorunlu olmayan parametre
caller_record çağrı bağlandığında caller parametresinde gönderilen numaraya Netsantral arayüzden daha öncesinde yüklenmiş ses dosyasını dinletilebilirsiniz. ( yalnızca dosya adı yazılır, .wav uzantısı yazılmamalıdır.) Zorunlu olmayan parametre
called_record originate_order if seçilmişse kullanılabilen bu parametre, çağrı başlatıldığında aranan dış numarayaetsantral arayüzden daha öncesinde yüklenmiş ses dosyasını dinletilebilirsiniz. ( yalnızca dosya adı yazılır, .wav uzantısı yazılmamalıdır.) Zorunlu olmayan parametre

Örnek

        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(   
            "caller"=>"553xxxxxx",
            "called"=>"553xxxxxx",
            "internal_num"=>"110",
            "ring_timeout"=>"20",
            "crm_id"=>"xxx",
            "wait_response"=>"1",
            "originate_order"=>"if",
            "trunk"=>"312xxxxxxx",
            "call_time"=>"49",
            // "caller_text"=>"merhaba bu bir test aramasıdır.",
            // "called_text"=>"merhaba bu bir test aramasıdır.",
            "called_record"=>"mesaidisistandart.wav"
        );
        $islem=new NetsantralPackage;
        $sonuc=$islem->cagribagla($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [unique_id] => sip3-16757xxxxx.xxxx
    [caller_num] => 553xxxxxxx
    [called_num] => 537xxxxxxx
    [crm_id] => xxx
    [response] => linkup
    [status] => Success
    [message] => Successfully
)
Başarısız istek örnek sonuç
Array
(
    [code] => 30
    [status] => Error
    [message] => Eksik yada yanlis parametre 2 
)

Çağrı Transfer

Değişken Anlamı
type=xfer parametresi ile devam eden çağrıya ait unique_id parametresi kullanılarak, exten ile belirtilen dahiliye kör transfer yapılır. Zorunlu parametre
type=atxfer parametresi ile devam eden çağrıya ait unique id parametresi kullanılarak, exten ile belirtilen dahiliye çağrıyı katılımlı olarak aktarır. Çağrı başlatılırken originate_order of olmalıdır. Zorunlu parametre
unique_id Transfer istenilen çağrıya ait ID Zorunlu parametre
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre
exten Çağrının aktarılacağı numaradır. Zorunlu parametre
        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(   
            "unique_id"=>"sip9-16xxxxxxxx.6541",
            "crm_id"=>"123456",
            "type"=>"xfer",
            "exten"=>"0544xxxxxxx"
        );
        $islem=new NetsantralPackage;
        $sonuc=$islem->cagritransfer($data);
        
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [crm_id] => 123456
    [response] => xfer
    [status] => Success
    [message] => Successful
)
Başarısız istek örnek sonuç
Array
(
    [status] => Error
    [message] => Hatali istek: URI hatali
)

Servisten message parametresiyle dönen değerler

message Anlamı
No registration Eğer dahili veya trunk register değilse
Get Busy Karşı taraf meşgule aldığında
No Answer Karşı telefon çaldı, fakat cevaplayan olmadığında
Busy Meşgul
Successfully Başarılı
Unknown reason Nedeni belli olmayan durum(Hata mesajıdır.)

Kuyruğa Dahili Ekleme

Değişken Anlamı
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre.Netsantral portaldan eklenecek departman nodur.
exten Eklenmesi istenen dahili bilgisini bu parametrede belirtiniz. Zorunlu parametre
queue İşlem yapılacak kuyruk adını bu parametrede belirtiniz. Zorunlu parametre. Netsantral portaldan eklenecek departman adıdır.
paused Molada baslangıç için 1, açık başlamak için 0 gönderilebilir. Zorunlu parametre
penalty Kuyruktaki dahililerinizin hangisine daha fazla çağrı verileceğini belirtir. 0-99 arasında değer alabilir. penalty değeri önceliğine göre sistem çağrıları dağıtır. Zorunlu parametre *
        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(
                "exten"=>"110",
                "queue"=>"muhasebe",
                "paused"=>"0",
                "crm_id"=>"345",
                "penalty"=>"0"
                );
         
        $islem=new NetsantralPackage;
        $sonuc=$islem->kuyrukEkle($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [crm_id] => 345
    [status] => Success
    [message] => Successful
)
Başarısız istek örnek sonuç
Array
(
    [status] => Error
    [message] => Bir veya birden fazla kuyrukta hata olustuUnable to add interface to queue: No such queue
)

Kuyruktan Dahili Çıkarma

Değişken Anlamı
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre.Netsantral portaldan eklenecek departman nodur.
exten Eklenmesi istenen dahili bilgisini bu parametrede belirtiniz. Zorunlu parametre
queue İşlem yapılacak kuyruk adını bu parametrede belirtiniz. Zorunlu parametre. Netsantral portaldan eklenecek departman adıdır.
        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(
                "exten"=>"101",
                "queue"=>"muhasebe",
                "crm_id"=>"345",
                );
         
        $islem=new NetsantralPackage;
        $sonuc=$islem->kuyrukCikar($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [crm_id] => 345
    [status] => Success
    [message] => Successful
)
Başarısız istek örnek sonuç
Array
(
    [status] => Error
    [message] => Bir veya birden fazla kuyrukta hata olustuUnable to remove interface from queue: No such queue
)

Kuyruk Durum Sorgula

Santralinizdeki kuyruklardaki olaylar anlık olarak izlenebilir.

Değişken Anlamı
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre.Netsantral portaldan eklenecek departman nodur.
queue İşlem yapılacak kuyruk adını bu parametrede belirtiniz. Zorunlu parametre. Netsantral portaldan eklenecek departman adıdır.
        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(
            "queue"=>"muhasebe",
            "crm_id"=>"345",
            );
     
        $islem=new NetsantralPackage;
        $sonuc=$islem->kuyrukSorgula($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [crm_id] => 345
    [pbx_num] => 312xxxxxxxx
    [queues] => Array
        (
            [0] => stdClass Object
                (
                    [queuename] => 312xxxxxxxx-queue-Operator
                    [callers] => stdClass Object
                        (
                        )

                    [agents] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [agent] => 101
                                    [status] => empty
                                    [membership] => static
                                    [paused] => false
                                    [reason] => 
                                )

                        )

                    [calls] => 0
                    [holdtime] => 0
                    [talktime] => 0
                    [completed] => 0
                    [abondaned] => 0
                    [max] => 0
                )

        )

)       
Başarısız istek örnek sonuç
(
    [code] => 70
    [status] => Error
    [message] => 312xxxxxxx isimli santrale ait boyle bir kuyruk yoktur
)

Servisten Alınan Cevap Parametreleri

Değişken Anlamı
queuename Santralde bulunan kuyruğun adı
pbx_num Santralinizin Netgsm ara yüzünde görünen adıdır.
talktime Kaç saniye konuşulduğu bilgisini tutar.
crm_id Tarafınızda belirleyeceğiniz, isteğe ait Id bilgisi
calls Kuyrukta aktif bekleyen çağrı adedi
max Kuyrukta maksimum bekleyen çağrı adedi
abondaned Kuyruğu terkeden kişi sayısı
callers Kuyrukta bekleyen kişi numarası : Beklediği saniye
completed Başarılı çağrı adedi
holdtime Bekleme süresi
agents Kuyruğun içindeki dahililer
agent Dahilin numarası
status Dahilinin çağrı durumu
unregister status parametresi alabilceği değer, dahili register degil
onhook status parametresi alabilceği değer, dahili su an konusuyor
empty status parametresi alabilceği değer, dahili boşta bekliyor
ringing status parametresi alabilceği değer, dahili çalıyor
membership dahilinin kuyruğa eklenme yöntemi, static ise arayüzden, dynamic ise apiden
paused dahili mola durumu (true,false)
reason dahili mola sebebi

Kuyruktaki Dahiliyi Molaya Alma//Çıkarma

Parametre Anlamı
exten Mola konumuna alınacak dahili numarası Zorunlu parametre
queue İşlem yapılacak kuyruk adı Zorunlu parametre
crm_id Login isteğinde tarafınızda oluşturup gönderdiğiniz ID Zorunlu parametre
paused Molaya almak için 1 değeri, moladan çıkmak için 0 gönderiniz. Zorunlu parametre
reason Molaya alma sebebini bu parametre ile gönderebilirsiniz, bu işleminize göre kuyruk izleme APIsinden tarafınıza bu reason bilgisi dönecektir. Zorunlu parametre
        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(
            "exten"=>"110",
            "queue"=>"muhasebe",
            "paused"=>"1",
            "crm_id"=>"345",
            "reason"=>"test"
            );
     
        $islem=new NetsantralPackage;
        $sonuc=$islem->mola($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [crm_id] => 345
    [status] => Success
    [message] => Successful
)
Başarısız istek örnek sonuç
Array
(
    [status] => Error
    [message] => Bir veya birden fazla kuyrukta hata olustuInterface not found
)

Kuyruğa Dış Numara Ekleme/Çıkarma

Netsantral'iniz üzerinde kuyruğa harici (dahili dışında) numara/ekleyip çıkarma işlemi gerçekleştirebilirsiniz. Gelen çağrıları karşılamasını istediğiniz, belirleyeceğiniz kuyruğa (departmana) harici numara eklemek ya da çıkarabilirsiniz.

Değişken Anlamı
command Numara ekleme işlemi için queueaddnumber , listeden numara çıkarmak için queuedelnumber gönderebilirsiniz. Zorunlu parametre
tenant Santral numarası. Zorunlu parametre
queue Santralinizde tanımlı olan kuyruk(departman) bilgisi. (85030XXXXX-queue-kuyrukismi formatında gönderilmeli) Zorunlu parametre
no Kuyruğa eklenecek ya da kuruktan çıkarılacak numara. 5xxxxxxxxx, 312xxxxxxx formatında gönderilmeli. Zorunlu parametre
penalty Çağrıların numaralara dağıtımı sırasındaki önceliği belirler.Düşük değerler yüksek önceliğe sahiptir.Birden fazla numara aynı önceliğe sahip olabilir.Dahili numaralarda ve harici numaralarda belirlemiş olduğunuz öncelikler birbirini etkilemektedir. 1-10 arası değer alabilir. Zorunlu parametre
use Netgsm\Netsantral\Package as NetsantralPackage;
$data=array(
            "command"=>"queuedelnumber",
            "tenant"=>"312xxxxxxx",
            "queue"=>"muhasebe",
            "no"=>"553xxxxxxx",
            "penalty"=>"1"
            );
     
        $islem=new NetsantralPackage;
        $sonuc=$islem->kuyrukDisNum($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [code] => 200
    [message] => queuedelnumber islemi yapildi.
)
Başarısız istek örnek sonuç
Array
(
    [code] => 70
    [error] => gecersiz tenant
)
Hata Kodu Anlamı
30 Geçersiz kullanıcı adı , şifre veya kullanıcınızın API erişim izninin olmadığını gösterir.Ayrıca eğer API erişiminizde IP sınırlaması yaptıysanız ve sınırladığınız ip dışında gönderim sağlıyorsanız 30 hata kodunu alırsınız. API erişim izninizi veya IP sınırlamanızı , web arayüzümüzden; sağ üst köşede bulunan ayarlar> API işlemleri menüsünden kontrol edebilirsiniz.
40 Gecersiz Santral Bilgileri
70 Hatalı sorgulama.Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder.
80 Sorgulama sınır aşımı. (dakikada en fazla 2 kez sorgulanabilir, bir kuyruğa max. 5 numara eklenebilir, aynı anda max. 5 kuyruğa işlem sağlanabilir.)
100 Sistem hatası

Dinamik Yönlendirme

Linkup API'ye (Çağrı bağlama API) benzer mantıkta çalışan, called parametresinde belirtilen numarayı arar ve ardından tipi redirect_type, ismi redirect_menu de belirtilmiş menüye aktarır.

Örneğin, arama yapmak istediğiniz dış numara 05XXXXXXXXX olduğunu varsayalım, bu numarayı arayarak operator isimli kuyruğunuza bu çağrıyı API ile yönlendirebilirsiniz.

Parametre Anlamı
called Arama yapılacak numara bilgisi girilmelidir. Zorunlu parametre
ring_timeout Çağrının açılmadan önce çaldırma süresidir. Zorunlu parametre
crm_id Yapılan istegin IDsidir, yapılan isteklerin cevabı yine istekle beraber gönderilen "crm_id" ile döner. Zorunlu parametre
wait_response Eğer 1 ise isteğin cevabını çağrıyı biri açana kadar döndürmez, açarsada unique id ile beraber döndürür, 0 ise çağrıyı sisteme teslim edince hemen cevabı döndürür. Zorunlu parametre
trunk Santral numaranızdır. Zorunlu parametre
redirect_menu Aktarılcak menü ismi belirtilmelidir. Zorunlu parametre
redirect_type Yönlendirmenin yapılması için; queue , announcement , ivr herhagi biri belirtilir. Zorunlu parametre
call_time Saniye cinsinden süre verildiğinde, çağrı tetiklenme süresinden itibaren o kadar süre açık kalacağı anlamına gelir. Zorunlu olmayan parametre
prefix Gelen çağrıda aranan numaranın başına eklenecek karakterlerdir, maksimum 5 adet string karakter eklenebilir. Zorunlu olmayan parametre
        use Netgsm\Netsantral\Package as NetsantralPackage;
        $data=array(
            "called"=>"553xxxxxxx",
            "ring_timeout"=>"35",
            "crm_id"=>"1234",
            "wait_response"=>"1",
            "trunk"=>"850xxxxxxx",
            "redirect_menu"=>"muhasabe",
            "redirect_type"=>"queue",
            "call_time"=>"75",
            "prefix"=>"test",
            );
     
        $islem=new NetsantralPackage;
        $sonuc=$islem->dinamikyonlendirme($data);
        dd($sonuc);
	die;
    
Başarılı istek örnek sonuç
Array
(
 [unique_id] => sip3-xxxxxxxxxxxxx.108813
 [caller_num] => 3129xxxxxx
 [called_num] => 3129xxxxxx
 [crm_id] => 1234
 [response] => dynamic_redirect
 [status] => Success
 [message] => Successfully
)
Başarısız istek örnek sonuç
Array
(
 [caller_num] => caller
 [called_num] => 3129xxxxxx
 [crm_id] => 1234
 [response] => dynamic_redirect
 [status] => Error
 [message] => Unsuccessful
)

Otomatik Arama Nedir

Netsantral'iniz üzerinden otomatik arama yaparak müşterilere duyuru, onay alma, hatırlatma, borç bilgisi okutma gibi işlemleri yaptırabilirsiniz.

Neler Yapılabilir ?

  • Otomatik Arama listenizi oluşturabilirsiniz.
  • Tüm otomatik aramalarınızı listeleyebilirsiniz.
  • Serviste numara bazlı otomatik arama geçmişini görebilirsiniz.
  • Dinamik listenize yeni numaralar ekleyebilirsiniz.
  • Dinamik listenizi durdurup, başlatabilirsiniz.

Arama Listesi Oluştur

2 tür liste tipi oluşturabilirsiniz. Bitirmeli Sabit Liste ve Devamlı Dinamik Liste(interaktif).
Bitirmeli sabit listelerde düzenleme işlemi yapılamaz, numara ekleme-silme yapılamaz.
Verilen numara listesini belirlenen zaman içerisinde arar ve bir daha bu liste kullanılmaz. Örneğin; 3 günlük bir kampanya yaptınız. Girdiğiniz numaralara bu kampanyayı dinleten bir anons belirleyip tüm numaralar arandığında veya çalışma zamanı bittiğinde listenin tamamlanmasını sağlayabilirsiniz. Bu listeye daha sonradan numara eklemeye ihtiyaç yoktur.
Devamlı dinamik listede ise daha sonradan numara ekleyebilir, liste üzerinde belirli düzenlemeleri yapabilirsiniz.
Bazı entegrasyonlardan bu listeye numara ekletmesi yapabilirsiniz.

Değişken Anlamı
list_name Otomatik arama liste adı, maksimum 50 karakter olabilir. Zorunlu parametre
list_prefix Otomatik arama liste ön eki, otomatik aramanın dahilinize bağlandığında numaranın önünde görünecek kısa koddur. Maksimum 4 haneli olabilir. Zorunlu parametre
liste_type 1 değeri bitirmeli sabit liste, 2 değeri devamlı dinamik listeyi ifade eder. Zorunlu parametre
list_startdate Otomatik aramanın yapılacağı başlangıç tarihi (YYYY-MM-DD) Zorunlu parametre
list_stopdate Otomatik aramanın yapılacağı bitiş tarihi (YYYY-MM-DD) Zorunlu parametre
list_starttime Otomatik aramanın belirlenen günler arasında, her gün için kaçta başlayacağı. (HH:MM) Zorunlu parametre
list_stoptime Otomatik aramanın belirlenen günler arasında, her gün için kaçta biteceği. (HH:MM) Zorunlu parametre
retry_count Bir numaraya başlatılan otomatik aramanın başarısız olması durumunda kaç kere tekrar deneneceğidir. Arama başarılı olduktan sonra kalan tekrarlarda aranmaz. Aramanın başarılı olması çağrının açılması demektir. En fazla 3 kez tekrar edebilir. Zorunlu parametre
try_time Bir numaraya başlatılan Otomatik aramanın başarısız olması durumunda tekrarlanan aramalar arasında minimum kaç dakika olacağı bilgisidir. Varsayılan olarak 60 dakika, maksimum 1440 dk, minimum 0 dk.) Zorunlu parametre
department Otomatik aramadan sorumlu departmanın adıdır. Bu departmandaki boş dahili sayısınca arama başlatılacaktır. Zorunlu parametre
trunk Otomatik aramanın hangi giden hattınızdan yapılacağı bilgisidir. Zorunlu parametre
destination_type Alabileceği değerler : ivr,queue, announcement. Bir numaraya başlatılan otomatik aramanın başarılı olması durumunda santralin hangi hedefine gideceği bilgisidir. Zorunlu parametre
destination_name Bir numaraya başlatılan otomatik aramanın başarılı olması durumunda bağlanılacak hedefin adı. Zorunlu parametre
queue_limit_type Kuyruk Limit tipi default 1 tanımlı.
queue_limit Kuyrukta bekleyecek max. numara sayısı. Varsayılan olarak 1 değerini alır. *
url URL bilgisai göndermeniz halinde belirttiğiniz URLe otomatik arama durumuna ilişkin raporlama için veri POST edilir. Raporlama Servisinde detayını görebilirsiniz. Zorunlu parametre
groups Otomatik aramanın başlatılacağı Netgsm rehberinize ait grup isimleri. Array olarak gönderilir. Zorunlu olmayan parametre
numbers Otomatik aramanın başlatılacağı numaralar. Array olarak gönderilir. groups parametresi varsa, zorunlu olmayan parametre
number Otomatik aramanın başlatılacağı numaralarda numara bilgisi. 5xx....,312xxx.. formatında gönderiniz. numbers parametresi varsa, zorunlu parametre
callstop_type Otomatik arama görev durdurma limiti tipi.
callstop_limit Otomatik arama görev durdurma limiti değeri.
filter Ticari içerikli otomatik aramalarda kullanılır. Ticari içerikli bireysele başlatılacak aramalar için İYS kontrolünde "11" değerini, tacire başlatılacak aramalar için İYS kontrolünde "12" değerini almalıdır. null gönderildiği taktirde filtre uygulanmadan gönderilecektir.
		use Netgsm\Netsantral\Package as NetsantralPackage;

        $islem=new NetsantralPackage;
        $data=array(
            "list_name"       => "list_name",
            "list_prefix"     => "110",
            "liste_type"      => "2",
            "list_startdate"  => "2023-02-01",
            "list_stopdate"   => "2023-02-01",
            "list_starttime"  => "11:00",
            "list_stoptime"   => "11:15",
            "retry_count"     => "1",
            "try_time"        => "5",
            "department"      => "muhasebe",
            "trunk"           => "312xxxxxxx",
            "destination_type"=> "queue",
            "destination_name"=> "muhasebe",
            "queue_limit"     => "1",                                      
            "groups"          => ["otolist"],
            "callstop_type "    =>1,
            "numbers"         => [
				array( "number" => "553xxx","name" => "name1"),
			  ]
                
        ); 

	$sonuc=$islem->otoAramaListeOlustur($data);
        dd($sonuc);
	die;

queue_limit_type açıklamaları

Kod Anlamı
1 Sorumlu departmandaki boş temsilci + Kuyrukta bekleyecek numara sayısı : boş temsilci sayısı ve belirlediğiniz kuyrukta bekleyecek max. numara sayıları toplamı kadar arama başlatılır.
2 Sorumlu departmandaki boş temsilci X Kuyrukta bekleyecek numara sayısı : Boş temsilci başına başlatılacak numara sayısı verilebilir.
3 IVR araması: Aramalar bir IVR a yönlendirilecekse tercih edilebilir. Dakikada başlatılacak IVR arama sayısı verilebilir.

callstop_type açıklamaları

Kod Anlamı
0 Limit Yok.
1 Başarılı aramaya göre (adet)
2 Başarılı aramaya göre (yüzde)
3 Başarısız aramaya göre (adet)
4 Başarısız aramaya göre (yüzde)
5 Toplam aramaya göre (adet)
6 Toplam aramaya göre (yüzde)
Başarılı istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 
            [code] => 200
            [message] => Otomatik arama listesi başarıyla oluşturuldu.
        )

    [body] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 12504
                    [list_name] => list_name
                    [list_prefix] => 110
                    [list_type] => 2
                    [list_startdate] => 2023-02-01
                    [list_stopdate] => 2023-02-01
                    [list_starttime] => 11:00
                    [list_stoptime] => 11:15
                    [retry_count] => 1
                    [try_time] => 5
                    [department] => muhasebe
                    [trunk] => 312xxxxxxx
                    [destination_type] => queue
                    [destination_name] => muhasebe
                    [queue_limit] => 1
                    [groups] => Array
                        (
                        )

                )

        )
)
Başarısız istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 1
            [code] => 70
            [message] => Hatalı sorgulama. Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder. Departman adı belirtmek zorunludur.
        )

    [body] => Array
        (
        )

)

Otomatik Arama Listele

Değişken Anlamı
list_id Ulaşmak istediğiniz otomatik arama listesinin ID bilgisi, bu parametreyi göndermediğinizde tüm listelerinizi görüntüleyebilirsiniz. Zorunlu olmayan parametre
        use Netgsm\Netsantral\Package as NetsantralPackage;
        $islem=new NetsantralPackage;
        $data=array('list_id'=>"12406");
        $sonuc=$islem->otomatikAramaList($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 
            [code] => 200
            [message] => Otomatik arama listeleme başarılı.
        )

    [body] => Array
        (
            [0] => stdClass Object
                (
                    [list_id] => 12505
                    [list_name] => list_name
                    [list_status] => 0
                    [list_prefix] => 110
                    [list_type] => 2
                    [list_startdate] => 2023-02-01
                    [list_stopdate] => 2023-02-01
                    [list_starttime] => 11:00     
                    [list_stoptime] => 11:15     
                    [retry_count] => 1
                    [try_time] => 5
                    [department] => muhasebe
                    [destination_type] => queue
                    [destination_name] => muhasebe
                    [queue_limit] => 1
                    [groups] => Array
                        (
                        )

                )

        )

)
Başarısız istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 1
            [code] => 400
            [message] => HAtalı sorgulama. Bu id ye ait otomatik arama listesi yok yada yetkiniz yok.
        )

    [body] => Array
        (
        )

)

Otomatik Arama Listesini Durdur/Başlat

Değişken Anlamı
list_id Durumunu güncelleyeceğiniz otomatik arama liste ID bilgisi Zorunlu parametre
status Durum bilgisi bu parametrede gönderilir. 1: listeyi aktifleştirmek için , 2: listeyi pasifleştirmek için gönderilir. zorunlu parametre
       use Netgsm\Netsantral\Package as NetsantralPackage;
       $islem=new NetsantralPackage;
        $data=array(
            'list_id'=>"12430",
            'status'=>"1"
        );
        $sonuc=$islem->listChangeStatus($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 
            [code] => 200
            [message] => Otomatik arama listesi başarıyla aktifleştirildi.
        )

    [body] => Array
        (
            [0] => stdClass Object
                (
                    [list_id] => 12505
                    [status] => 1
                )

        )

)
Başarısız istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 1
            [code] => 70
            [message] => Hatalı sorgulama. Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder. Liste ID si yok.
        )

    [body] => Array
        (
        )

)

Otomatik Arama Raporlama

	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array('list_id'=>"12431");
        $sonuc=$islem->aramaRapor($data);
        dump($sonuc);
	die;
	
Başarılı istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 
            [code] => 200
            [message] => Raporlama basarili.
        )

    [body] => Array
        (
            [0] => stdClass Object
                (
                    [numbers_status] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [type] => Hiç aranmamış
                                    [count] => 0
                                )

                            [1] => stdClass Object
                                (
                                    [type] => Başarılı
                                    [count] => 0
                                )

                            [2] => stdClass Object
                                (
                                    [type] => Başarısız
                                    [count] => 0
                                )

                            [3] => stdClass Object
                                (
                                    [type] => Tekrar aranacak
                                    [count] => 0
                                )

                        )

                    [numbers] => Array
                        (
                        )

                )

        )

)
Başarısız istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 1
            [code] => 301
            [message] => Gönderilen ID değeri numerik ve sıfırdan büyük bir değer olmalıdır. 
        )

    [body] => Array
        (
        )

)

WebHook ile Raporlama

Bu yöntemi tercih ediyorsanız otomatik arama listesi oluştur eventında url paramretresini de POST etmeniz zorunludur. Parametrede göndereceğiniz URL bilgisine JSON tipinde POST edilecektir.

Değişken Anlamı
JobID Başlattığınız göreve ait ID.
crm_id Çağrıya ait otomatik arama IDsi
called Arama yapılacak numara bilgisi
redirect_menu Yönlendirilen menü ismi
trunk Aramanın çıktığı santral bilgisi
prefix Aramada kullanılan Ön ek
callerid Kişi abone rehberinde kayıtlıysa aradığında görünen isim bilgisi
unique_id Yapılmış aramaya ait CDR ID
status Mesaj durum bilgisi "success" ya da "error" dönmektedir
message Mesaj açıklamaları bu parametrede döner.
{
  "header": {
    "App": "AutomaticCall"
  },
  "body": {
    "JobID": 12651,
    "crm_id": "OtoArama-286481536",
    "called": "055xxxxxxxx",
    "redirect_menu": "muhasebe",
    "redirect_type": "queue",
    "trunk": "312xxxxxxx",
    "prefix": "101",
    "callerid": "name1",
    "filter": "sip3-xxxxxxxxx.4237",
    "pbxtype": "12",
    "Brandcode": null,
    "unique_id": null,
    "status": "Success",
    "message": "Successfully"
  }
}
laravelde gelen json datayı aşağıdaki örneklerdeki gibi parçalayabilirsiniz.
   use Illuminate\Http\Request;
   public function index(Request $request)
    {

   	 $data = json_decode($request->getContent(),false);
    	 $data->body->JobID;
      	 $data->body->callerid;
      
    }
symfonyde gelen json datayı aşağıdaki örneklerdeki gibi parçalayabilirsiniz.
    use Symfony\Component\HttpFoundation\Request;	
    public function index(Request $request)
    {
      $data = json_decode($request->getContent(),false);
      $data->body->JobID;
      $data->body->callerid;
    }
	

Webhook Santral Dinleme

  • Bu işlem ile ilgili ayarlarınızı Netsantral arayüzden Ayarlar / Genel Ayarlar menusünden API Talep Ayarları alanından gerçekleştirebilirsiniz,tıklayın
  • Kaydettiğiniz URL adresini aktif edebilir, pasife alabilirsiniz.
  • Belirttiğiniz URL adresine yönlendirilecek veri post ile gönderilir.
  • Bu yöntem ile santralinizi dinamik olarak dinleyebilirsiniz.
  • URLnize gönderilen örnek post değerleri aşağıdaki gibidir.
Parametre Anlamı
pbx_num Santralinizin Netgsm ara yüzünde görünen adıdır.
unique_id Çağrıya ait ID bilgisidir.
internal_num Çağrının başlatılıdğı iç dahilinin numarasıdır.
customer_num Gelen veya giden aramalardaki dış numara bilgisidir..
scenario Dinlenmek istenen çağrının durumudur.
Context Çağrının hangi aşamasında (contexinde) tuşlamaya basıldığı bilgisidir.
context_name Çağrının düştüğü contextin adıdır.
Digit Yapılmış olan tuşlama bilgisidir.
type Çağrının düştüğü contextin tipidir.
queue_name Çağrının düştüğü kuyruğun adıdır.
talktime Kaç saniye konuşulduğu bilgisini tutar.
holdtime Çağrı kuyruktan geldiyse arayan abonenin kuyrukta kaç saniye bekleyip çağrı karşıladığı bilgisini tutar.(Scenario : Hangup)
holdtime Çağrı kuyrukta kaç saniye bekledikten sonra cevaplandığı bilgisini tutar. (Scenario : Answer)
incoming_number Santralinizde kayıtlı olan müşterinin aradığı numara bilgisidir.
timestamp Milisaniye cinsinden Unix timestamp.
Servisten Alınan Örnek Cevap
{  "response" : "login",  "crm_id" : "XXX",  "status" : "success",  "message" : "açıklama" }

Servisten Alınan Örnek Cevap : Outbound Çağrılar
{"pbx_num":"850304XXXX","unique_id":"1428481945.3543","internal_num":"101","scenario":"Outbound_call","customer_num":"05XXXXXXXXX","timestamp":"1652080580926"}

Servisten Alınan Örnek Cevap : Inbound Çağrılar
{"pbx_num":"101","unique_id":"1428481992.3556","scenario":"Inbound_call","customer_num":"90312911XXXX","timestamp":"1652080580926"}

Servisten Alınan Örnek Cevap : Scenario : DTMF
{"Context":"XX.XX","pbx_num":"212XXXXXXX","unique_id":"XXX.XXX","scenario":"DTMF","digit":"0","timestamp":"1652080580926"}

Servisten Alınan Örnek Cevap : Scenario : Context
{"pbx_num":"212XXXXXXX","customer_num":"05XXXXXXXXX","unique_id":"XXX.XXX","context_name":"XXX-212XXXXXXX","type":"ivr","scenario":"Context","timestamp":"1652080580926"}

Servisten Alınan Örnek Cevap : Scenario : Queue
{"queue_name":"850XXXXXXX-queue-Destek","pbx_num":"850XXXXXXX","unique_id":"","scenario":"Queue","timestamp":"1652080580926"}

Servisten Alınan Örnek Cevap :  Scenario : Cdr
{"bas":"2021-01-27 16:05:38","kimlik":18664xxxxx,"ortakkimlik":18664xxxxx,"clid":"\"NECLA 561523\" <05xxxxxxxxx>","arayan":"05xxxxxxxxx","aranan":"85030xxxxx-queue-MusteriHizmetleri","sure":164,"sondurum":3,"santral":"85030xxxxx","yon":1,"seskaydi":"https://dosyaindir.netgsm.com.tr/upload.php?tip=1&q=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","asteriskId":"sip8-1611752738.106785","trunk":"312xxxxxxx","scenario":"cdr","timestamp":"1652080580926"}
laravelde gelen json datayı aşağıdaki örneklerdeki gibi parçalayabilirsiniz.
   use Illuminate\Http\Request;
   public function index(Request $request)
    {
        
        $data = json_decode($request->getContent(),false);
        echo $data->pbx_num;
        echo $data->scenario;
       
    }
symfonyde gelen json datayı aşağıdaki örneklerdeki gibi parçalayabilirsiniz.
    use Symfony\Component\HttpFoundation\Request;	
    public function index(Request $request)
    {
      $data = json_decode($request->getContent(),false);
        echo $data->pbx_num;
        echo $data->scenario;
      
    }
	

Listeye Numara Ekle

Değişken Anlamı
list_id Otomatik arama liste ID bilgisi Zorunlu parametre
name Listenize eklenecek numara için ad - soyad bilgisi. zorunlu parametre
nstatus Eklenecek numaranın durumunu ifade eder, 0 değeri gönderdiğinizde numaranın aranması pasif duruma geçer, 1 ile numaranın aranma durumunu aktif edebilrisiniz.
calltime Numaranın aranacağı zamanı ileri tarih olarak belirleyebilirsiniz, numara formatı ddMMYYHHmm (Örneğin 05.09.2020 15:00 için 050920201500)
trunk Aramanın yapılacağı dış numara seçilebilir.

Dinamik devam eden ya da durdurulmuş listenize numara ekleyebilirsiniz.

	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array(
            'list_id'=>"12431",
            'numbers'=>array( "number" => "542xxxxxxx","name" => "netgsm")
        );
        $sonuc=$islem->listeNumEkle($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 
            [code] => 200
            [message] => 12505 ID numaralı projeye 1 numara eklenemedi. 
        )

    [body] => Array
        (
            [0] => stdClass Object
                (
                    [list_id] => 12505
                    [list_name] => list_name
                    [numbers] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [number] => 542xxxxxxx
                                    [name] => netgsm
                                    [status] => error
                                )

                        )

                )

        )

)
Başarısız istek örnek sonuç
Array
(
    [header] => stdClass Object
        (
            [error] => 1
            [code] => 70
            [message] => Hatalı sorgulama. Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder. Numaraların ekleneceği proje ID si girilmelidir.
        )

    [body] => Array
        (
        )

)

Listeden Numara Çıkar

Değişken Anlamı
id Listeden çıkarılacak numara IDsi gönderilir. Numaraya ait ID bilgisini numara eklediğinizde ya da raporlama yaptığınızda alabilirsiniz. zorunlu parametre
	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array(
            'list_id'=>"12431",
            'id'=>'27229043'
        );
        $sonuc=$islem->listeNumCikar($data);
        dd($sonuc);
	die;

Numara Durum Güncelle

Listenizde bulunan bir numaranın aranma durumu, aranma tarihi, numaraya ait isim ya da numaranın aranacağı dış numara (trunk) bilgisi güncellenebilir.

Değişken Anlamı
list_id Otomatik arama liste ID bilgisi Zorunlu parametre
name Listenize eklenecek numara için ad - soyad bilgisi. zorunlu parametre
nstatus Eklenecek numaranın durumunu ifade eder, 0 değeri gönderdiğinizde numaranın aranması pasif duruma geçer, 1 ile numaranın aranma durumunu aktif edebilrisiniz.
calltime Numaranın aranacağı zamanı ileri tarih olarak belirleyebilirsiniz, numara formatı ddMMYYHHmm (Örneğin 05.09.2020 15:00 için 050920201500)
trunk Aramanın yapılacağı dış numara seçilebilir.
	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array('list_id'=>"12431",
                    'id'=>"12356",
                    'name'=>'test',
                    'calltime'=>'50',
                    'trunk'=>'312xxxxxxx',
                    'nstatus'=>'0'

            );
        $sonuc=$islem->listeNumGuncelle($data);
        dd($sonuc);
	die;

Görüşme Detay (CDR)

Netsantralinizdeki görüşme kayıtlarına (CDRlarınıza) bu servisten ulaşabilirsiniz.
Görüşme kayıtlarınızı, belirteceğiniz zaman aralığına göre, çağrıya ait uniqueid bilgisi ile, arayan - aranan numaraya göre sorgulayabilirsiniz.
Çağrı detayı ve ses kaydı linkine ulaşabilirsiniz, ses kaydı linki CDR detayını santral çağrı trafiği de izleyerek alabilirsiniz, cdr scenario bilgisi ile tarafınıza bildirilir.

Parametre Anlamı
startdate İki tarih arası sorgulamanızda başlangıç tarihi (ddMMyyyyHHmm)
stopdate İki tarih arası sorgulamanızda bitiş tarihi(ddMMyyyyHHmm)
uniqueid uniqueid bilgisi ile sorgulama yapabilirsiniz.(1234567890.123459)
querytype Aranan ya da arayan numara ile yapılan sorgulamalarda kullanmalısınız. 1 değeri aranan numara bilgisini, 2 değeri arayan numara bilgisini ifade eder.
no Aranan ya da arayan numara ile yapılan sorgulamalarda numara bilgisini ifade eder.

uniqueid ile cdr sorgulama

	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array(
            'uniqueid' =>"sip9-167524xxxx4.94499",
            );
        $sonuc=$islem->gorusmeDetay($data);
        dd($sonuc);
	die;

querytype ile cdr sorgulama

	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array(
            'querytype' =>"2",
            'startdate'=>'010220231000',
            'stopdate'=>'010220231400',
            'no'  =>"553xxxxxxx",
            );
        $sonuc=$islem->gorusmeDetay($data);
        dump($sonuc);
	die;

Tarih aralığı ile cdr sorgulama

	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array(
            'startdate'=>'010220231000',
            'stopdate'=>'010220231400',
            );
        $sonuc=$islem->gorusmeDetay($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [0] => stdClass Object
        (
            [uniqueid] => sip3-167xxxxx3.92222
            [values] => Array
                (
                    [0] => stdClass Object
                        (
                            [date] => 07.02.2023 13:50:33
                            [destination] => 553xxxxxxx
                            [source] => 102
                            [duration] => 54
                            [direction] => 0
                            [recording] => https://dosyaindir.netgsm.com.tr/upload.php?tip=1&a=8f344a1062ac54................
                            [line] => 312xxxxxxx
                            [directory] => "102" <102>
                            [commonID] => 36xxxxxx
                        )

                )

        )
)
Başarısız istek örnek sonuç
Array
(
    [code] => 40
    [error] => Kayit bulunamadi
)
SERVİSTEN GELEN CEVAP
Parametre Anlamı
uniqueid Çağrıya ait ID
values Çağrıya ait değerler, array şeklinde döner.
destination Aranan
source Arayan
duration Süre
direction Yön
recording Ses kaydı, varsa bu parametre döner.
line Santrale gelen yada giden çağrının hangi trunk üzerinden çıkış yaptığı bilgisidir.
directory Görüşme detayında yer alan rehber (ön ek bilgisi) bilgisi içerir.
YÖN AÇIKLAMALARI
Kod Anlamı
0 Giden Arama
1 Gelen Arama
2 Gelen Cevapsız Arama
3 Giden Cevapsız Arama
4 İç Arama
5 İç Cevapsız Arama

İstatistik(Gelen Çağrı)

Gelen çağrılarınızdan oluşan tarih bazlı istatistiğe bu servisle ulaşabilirsiniz.

	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array(
            'startdate' =>'310120231000',
            'stopdate'  =>'010220231600',
            );
        $sonuc=$islem->istatistikGelenCagri($data);
        dd($sonuc);
	die;
Kod Anlamı
date İstatistik alınan gün bilgisi
incoming_call Gelen çağrı sayısı
answered Cevaplanan çağrı sayısı
noanswer Cevapsız çağrı sayısı
abandoned Terkedilmiş çağrı sayısı
t_calltime Toplam konuşma süresi (sn)
t_waittime Toplam Bekleme süresi (sn)
max_waiting Maksimum Bekleme süresi (sn)
avr_waiting Ortalama bekleme süresi (sn)
avr_answered Ortalama Konuşma süresi (sn)
Başarılı istek örnek sonuç
Array
(
    [date] => 01.02.2023
    [answered] => 2
    [noanswer] => 0
    [t_calltime] => 39
    [t_waittime] => 42
    [max_waiting] => 16
    [avr_waiting] => 11
    [avr_answered] => 20
)
Başarısız istek örnek sonuç
Array
(
    [code] => 40
    [error] => Kayit Bulunamadi
)

Gün Detayı

Terkedilmiş, cevapsız, cevaplanan çağrı bilgisine ulaşılabilir.

	use Netgsm\Netsantral\Package as NetsantralPackage;
	$islem=new NetsantralPackage;
        $data=array(
            'date' =>'01022023',
            );
        $sonuc=$islem->istatistikGunDetay($data);
        dd($sonuc);
	die;
Başarılı istek örnek sonuç
Array
(
    [date] => 01.02.2023
    [answered] => 2
    [noanswer] => 0
    [t_calltime] => 39
    [t_waittime] => 42
    [max_waiting] => 16
    [avr_waiting] => 11
    [avr_answered] => 20
)
Başarısız istek örnek sonuç
Array
(
    [code] => 40
    [error] => Kayit Bulunamadi
)