Ana içeriğe geç

Raporlama servisi

Göndermiş olduğunuz sesli mesajların iletim durumlarını sorgulayabilirsiniz. Burada iki yöntemden birini tercih edebilirsiniz; HTTP POST ya da URL'e yönlendirme metodu.

POST https://api.netgsm.com.tr/voicesms/report

Sesli Mesaj Raporlar​

  • HTTP POST yöntemini kullanarak; Sesli mesajlarınızı başlattıktan sonra tarafınıza dönen ID bilgisi bulkid ile göndereceğiniz ya da bastar- bittar parametreleri gibi sesli mesajlarınızı yaptığınız zaman aralığına göre sorgulayabilirsiniz.

Örnek İstek (Sample Request)​

https://api.netgsm.com.tr/voicesms/report/?usercode=850xxxxxxx&password=xxxxxxxx&bulkid=xxxxx&type=0&status=0&tus=1

Örnek type=0 ve status=0 Başarılı Cevap (Success Response)​

123456	05xxxxxxxxx	0	1

Açıklamalar:
123456 -> Sesli MesajID (bulkID)
05xxxxxxxxx,60 -> Numara Bilgisi (Kaydı olmayan bulkID sorgulamalarında 60 döner)
0 -> Çağrı (Cevap) Durumu (status) Kaydı olmayan bulkID sorgulamalarında bilgi dönmez
1 -> Tuşlanan Rakam (tus) Tuşlanmayan Sesli mesajlarda "-" döner Kaydı olmayan bulkID sorgulamalarında bilgi dönmez.

Örnek type=1 ve status=1 Başarılı Cevap (Success Response)​

123456	05xxxxxxxxx	1	1<br>53546	05xxxxxxxxx	2	-<br>53547	60<br>

Örnek Hata Cevabı (Error Response)​

HataKodu

** Tanımlar **

DeğişkenZorunluAnlamı
usercodeEvetNetgsm'den hizmet alınan abone numarası (Format: 850xxxxxxx, 312XXXXXXX vs.).
passwordEvetAlt kullanıcı şifresi. (Alt kullanıcı türü "API Kullanıcısı" olan alt kullanıcıya ait şifre.)
bulkidEvetAPI ile başarılı sesli mesaj gönderimlerinizde dönen görevid(bulkid) nizdir.
typeEvetSorgulama tipini belirlemek için kullanılır. 0: Tek bulkid'ye göre sorgulama yapar. 1: Birden çok bulkid'ye göre sorgulama yapar. (Not: Bu durumda bulkid parametresi 43234, 53453, 54332, ....gibi yazılır.) 2: Tarih aralığında sorgu yapabilmek için kullanılır. (Not: Parametrenin bu değerinde bulkid parametresine girilen değer dikkate alınmaz.)
bastarEvet/Opsiyonelİki tarih arası sorgulamanızda başlangıç tarihi. (Format: ddMMyyyyHHmm)
bittarEvet/Opsiyonelİki tarih arası sorgulamanızda bitiş tarihi. (Format: ddMMyyyyHHmm)
statusEvet/OpsiyonelMesajınızın durumunu sorgulamak için kullanılır. Status parametesi için açıklamaları aşağıdaki tabloda bulabilirsiniz.
tusOpsiyonelArama yapıldığında komut edilen tuş numarası. Tuşlanan rakam eğer 10 şeklinde gönderilirse hiçbir tuşa basmayanlar listelenir.
versionEvet/Opsiyonel1: Birden çok bulkid'ye göre sorgulama yapıldığında kullanılır.
Status ParametresiAçıklamalar
0Cevaplanmayı bekleyenler
1Cevaplananlar / Açan
2Cevaplanmayanlar
3Ulaşılamayan
4Ücretlendirelemeyen / Varlık Yetersiz
5İptal Edilen
6Başarısız: başlatılamayan çağrılar, durdurulan, hata alanlar
7Meşgule Alınan
8Numara Geçersiz
9Süresi Doldu
Tuş ParametresiAçıklamalar
-1Ses dosyası dinletilen numaranın çağrı esnasında kapatması ya da tuşlama yapmaması halinde terkedilmiş olarak raporlanır.

** Hata Durumları **

Hata KoduAnlamı
30Geç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 Abonelik İşlemleri / API işlemleri menüsunden kontrol edebilirsiniz.
60Arama kriterlerinize göre listelenecek kayıt olmadığını ifade eder. (bastar ve bittar zaman farkı 24 saatten fazla olmamalıdır.)
80Sorgulama sınır aşımını ifade eder, dakikada 2 kez sorgulanabilir.
100Sistem hatası

Sesli Mesaj Webhook​

  • Başlattığınız Sesli mesajın durumunun (rapor olarak düşünebilirsiniz) belirleyeceğiniz bir URL'e post edilmesini isterseniz, bu yöntemi tercih edebilirsiniz.

  • Bu durumda Basit ya da Dinamik Sesli mesaj Oluşturma işleminde url paramretresini de POST etmeniz zorunludur.

Gönderilecek Örnek Veri (Sample Payload)​

{
"bulkid": ,
"caller": "",
"callee": "",
"state": ,
"type": ,
"name": "",
"creation_time": "",
"start_time": "",
"answer_time": "",
"hangup_time": "",
"bilsec": ,
"relationid": ,
"detail": {
"push_button": ,
"survey_push_button_desc": "",
"survey_taskid": ,
"record_link": ""
}
}

** Servisten Dönen Yanıt (Output) **

DeğişkenAnlamı
bulkidBaşlatılan sesli mesaj görevID.
callerArayanın numarası.
calleeArananın numarası.
stateÇağrının gerçekleşme durumudur. ( 1: Cevaplananlar, 2: Cevaplanmayan, 3: Ulaşılamayan, 7: Meşgule Alınan )
typeSesli Mesajın tipi (1: Sadece belirlenmiş ses kaydı dinlet, 2: Belirlenmiş ses kaydını dinlet ve sonrasından ses kaydı al, 3: Belirlenmiş ses kaydını dinlet ve tuş bilgisi al, 4: Belirlenmiş ses kaydını dinlet ve tuş bilgisi al).
nameArananın Adı Soyadı bilgisi.
creation_timeİşin oluşturulma zamanı. (Format: yyyy-MM-dd HH:mm:ss.SSS)
start_timeÇağrının başlatılma zamanı. (Format: yyyy-MM-dd HH:mm:ss.SSS)
answer_timeÇağrının cevaplanma zamanı. (Format: yyyy-MM-dd HH:mm:ss.SSS) "Açan" durumu için.
hangup_timeCevaplanan çağrının kapanma zamanı. (Format: yyyy-MM-dd HH:mm:ss.SSS) "Açan" durumu için.
bilsecGörüşme süresi, "Açan" durumu için.
relationidİşleri gruplandırmak için kullanılan değer.
detailÇağrılar hakkında tiplerine göre daha detaylı bilgi içeren objedir.
push_buttonTuşlamalı sesli mesajlarda tuşlama bilgisidir (NULL: sesi dinleyip tuşlamaya kalmadan ayrılanlar, -1: Sesi dinleyip tuşlamaya kalıp belirlenen sürede tuşlama yapmayanlar type: 4 olanlar için type: 3 veya type: 4 olan işlerde)
survey_push_button_descAnketlerde basılan tuşun açıklamasıdır. type = 3 olan işlerde
survey_taskidAnketlerde basılan tuş için belirlenmiş görev(0: Görev atanmamış, 1: Çağrı kapansın, 2: İlk dinletilen ses kaydını tekrar dinlet, 3: Yeni bir ses kaydı dinlet, 4: Yeni ses kaydını dinlet sonrasında ses kaydını al). type=3 olan işlerde.
record_linkAranandan ses kaydı alındığı durumlarda ses kaydını indiren link type = 3 ve taskid = 4 olanlar veya type = 2 olanlar.