Skip to main content

getcalllist

POST v1/reporting/getcalllist#

Bu API aracılığı ile iki tarih aralığında Diyalog üzerinden yapılan aramaların (görüntülü / sesli) listesine erişilebilir. API'ye çalışan sicili ve/veya müşteri numarası bilgileri de parametre olarak eklenebilir.

Her istekte maximum 20 adet bilgi tarihe göre yeniden eskiye doğru döner.

API'ye verilen iki tarih aralığında 20 adetten daha fazla öğe olabilir. Bu durumda en son yapılan 20 canlı yardım döner. İki tarih aralığında yapılan diğer öğeleride alabilmek için API cevabında dönen en eski tarihli (son öğe) öğenin tarihi alınmalı ve bu tarih kullanılarak API tekrar tekrar çağırılmalıdır.

API istekleri

  • HMAC Authentication ile doğrulanmalıdır. HMAC Authentication için Authentication dokümanına bakınız.
  • API URI : https://DIYALOG-SERVER-API-ENDPOINT/v1/reporting/getcalllist
  • HTTP İstek Türü POST
  • HTTP Content-Type application/json

Request Body#

Schema
json object
startDate (long)
Unix epoch timestamps (miliseconds). Aramaların sorgulanacağı başlangıç tarihidir.
endDate (long)
Unix epoch timestamps (miliseconds). Aramaların sorgulanacağı bitiş tarihidir.
callType (string)
Arama türüne göre sorgu yapabilenizi sağlar.
      Alabileceği değerler aşağıdaki gibidir :
          "all" : Görüntülü ve sesli görüşmelerin hepsini döner.
          "video" : Görüntülü görüşmeleri döner.
          "voice" : Sesli görüşmeleri döner.
staffId (string)
Opsiyoneldir.
Çalışan sicil numarası. Eğer bir çalışanın verilen iki tarih aralığındaki aramaları görüntülenmek isteniyorsa bu bilgi API'ye verilmelidir.
customerId (string)
Opsiyoneldir.
Müşteri numarası. Eğer bir müşterinin verilen iki tarih aralığındaki aramaları görüntülenmek isteniyorsa bu bilgi API'ye verilmelidir.
callUseType (integer)
Opsiyoneldir.
Arama Kullanım Türü. Aramaların canlı yarım içinde mi yoksa müşteri edinim gibi görüntülü yardım işlemlerine göre filtrelemeye yarar.
      Alabileceği değerler aşağıdaki gibidir :
          0 (UNKNOWN) : Sistemde ilgili veri tutulmadan önceki arama kullanım kodudur. Bu kod rama türü bilinmeyen aramaları filtreler.
          1 (DIYALOG_STANDART_CALL) : Şube uygulaması gibi ana kurum çalışanı ve müşterilerin direk yaptığı aramları filtreler.
          2 (VIDEO_HELP_CALL) : Müşteri edinim, anında şifre vs. gibi çağrı merkezi temsilcileri ile yapılan görüntülü görüşme aramalarını filtreler.
          3 (ONLINE_HELP_CALL) : Canlı Yardım içerisinden başlayan aramaları filtreler.
Not : Eğer iki tarih aralığında çalışan ve müşteri arasındaki aramalaar görüntülenmek isteniyorsa staffId ve customerId alanları API'ye verilmelidir.

Örnek Json Request Body :#

{
"startDate" : 1617278400000,
"endDate" : 1617969609000,
"callType" : "voice",
"staffId" : "45186",
"customerId" : "2337368",
"callUseType" : 3
}

Responses#

HTTP 200 Response
json object array
API cevap olarak json array döner. Bu array içerisinde aşağıdaki alanlardan oluşan json objeleri döner. Her objenin içerisinde yapılan aramanın detayları bulunur. API cevap olarak maksimum 20 adet bilgi (json objesi) tarih sıralamasına göre yeniden eskiye doğru sıralı şekilde döner. Eğer herhangi bir arama bulunamaz ise array boş olarak döner.
     json object
     callId (long)
      Diyalog sisteminde arama için oluşturulan tekil id.
     initiatorId (string)
      Arayan kişinin sicil veya müşteri numarasıdır.
     nameOfInitiator (string)
      Arayan kişinin ad ve soyad bilgisidir.
     initiatorUserType (int)
      Aramayı yapan kullanıcının türünü verir.
      Kullanıcı türleri aşağıdaki gibidir :
          1 : Personel (Bu değer Diyalog sistem public kullanım için personel tipinde kullanıcıları gösterir.)
          2 : Business ( Bu değer Diyalog sistemi public kullanım için iş hesabını kullanan kullanıcıları gösterir.)
          3 : Enterprise (Bu değer Diyalog sistemi public kullanım için kurumsal hesabını kullanan kullanıcıları gösterir.)
          4 : DomainUser (Kurum içi kullanıcı çalışan)
          5 : DomainCustomer (Müşteri )
          6: Bot (Bot kullanıcıdır.)
          7 : AnonymousCustomer (Müşteri )
     initiatorAppName (string)
      Arayan kişinin hangi client'ı kullandığını gösterir.
     receiverId (string)
      Aranan kişinin sicil veya müşteri numarasıdır.
     nameOfReceiver (string)
      Aranan kişinin ad ve soyad bilgisidir.
     receiverUserType (int)
      Aranan kullanıcının türünü verir.
      Kullanıcı türleri aşağıdaki gibidir :
          1 : Personel (Bu değer Diyalog sistem public kullanım için personel tipinde kullanıcıları gösterir.)
          2 : Business ( Bu değer Diyalog sistemi public kullanım için iş hesabını kullanan kullanıcıları gösterir.)
          3 : Enterprise (Bu değer Diyalog sistemi public kullanım için kurumsal hesabını kullanan kullanıcıları gösterir.)
          4 : DomainUser (Kurum içi kullanıcı çalışan)
          5 : DomainCustomer (Müşteri )
          6: Bot (Bot kullanıcıdır.)
          7 : AnonymousCustomer (Müşteri )
     receiverAppName (string)
      Aranan kişinin hangi client'ı kullandığını gösterir.
     callStartedAt (long)
      Unix epoch timestamps (miliseconds). Aramanın başladığı tarih ve zaman bilgisidir.
     callEndedAt (long)
      Unix epoch timestamps (miliseconds). Aramanın sona erdiği tarih ve zaman bilgisidir.
     callTime (int)
      Arama süresini saniye cinsinden verir. Eğer arama başlamamış ise yani karşı taraf kabul etmemiş veya bağlantı kurulamamış ise bu değer 0 olarak döner.
     callType (string)
      Aramanın video veya sesli görüşme olup olmadığı bilgisini verir.
          "video" : Video görüşme
          "voice" : Sesli görüşme
          "" : Diyalog 1.6.2 versiyonu öncesinde sesli ve video görüşme ayrımı yapılmamaktaydı. Bu versiyon öncesindeki aramaları türü bilinememektedir. Bu nedenle boşluk olarak dönebilir.
     callState (string)
      Aramanın en son aldığı durum bilgisini döner.
      Durum değerleri aşağıdaki gibidir :
          "START" : Bir kişi tarafından arama başlatıldığında durum "START" olur. Bu durumun dönmesi beklenmemektedir.
          "ENDED" : Arama başlamış, görüşme başlamış ve sonlandırılmıştır.
          "MISSED" : Arama karşı tarafın kabul etmemesi veya açmaması nedeniyle sonlandırılmıştır.
     callViewUrl (string)
      Arama kaydının izlenebileceği dinamik link bu alanda döner. Eğer arama kaydı oluşmamış veya arama başlamamış ise bu boşluk olarak dönecektir. Arama bu link bir browserda açılarak izlenebilir. Bu link bir browser aracılığı ile açıldığında Diyalog platformuna bağlanılır ve arama kaydı Diyalog platformu üzerinden gösterilir.
     callUseType (string)
      Aramanın hangi kullanım için yapıldığını belirtir. Bu bilgi aramanın canlı yardım içinde mi yoksa Diyalog ekranlarından mı yoksa müşteri edinim gibi video ile yardım işlemleri sırasında mı yapıldığını ayırt etmek için kullanılır
      Alabileceği değerler aşağıdaki gibidir :
          "DIYALOG_STANDART_CALL" : Aramanın genel bir Diyalog araması olduğunu gösterir. Bu ne Canlı yardım ne de görüntülü görüşme ile müşteri ediniminden yapılmıştır. Örneğin şube uygulamasından yapılan armalar bu tür ile döner.
          "VIDEO_HELP_CALL" : Arama çağrı merkezi ile yapılan görüntülü görüşme ile müşteri edinim veya farklı bir işlem için yapılmış bir arama anlamına gelmektedir.
          "ONLINE_HELP_CALL" : Bu arama türü canlı yardım içinden başlatılan aramaları gösterir.
          "UNKOWN" : Kullanım durumuna göre arama türleri sistemde tutulmaya başlamadan önceki aramaların kullanım türü bilinmyen olarak döner.

Örnek Response Body :#

[
{
"callEndedAt": 1617111451686,
"callId": -1527120504243668640,
"callStartedAt": 1617111449440,
"callState": "MISSED",
"callTime": 0,
"callType": "video",
"callViewUrl": "",
"initiatorId": "45188",
"nameOfInitiator": "Agent 45153",
"initiatorUserType": 4,
"initiatorAppName": "Agent Web App",
"nameOfReceiver": "android 5667067",
"receiverId": "5667067",
"receiverUserType": 7,
"receiverAppName": "Diyalog Android",
"callUseType": "VIDEO_HELP_CALL"
},
{
"callEndedAt": 1617111385505,
"callId": 3387307531615898478,
"callStartedAt": 1617111363995,
"callState": "ENDED",
"callTime": 11,
"callType": "video",
"callViewUrl": "http://web.diyalog.im/v1/playrecords/3387307531615898478...",
"nameOfInitiator": "Agent 45153",
"initiatorUserType": 4,
"initiatorAppName": "Agent Web App",
"nameOfReceiver": "android 5667067",
"receiverId": "5667067",
"receiverUserType": 7,
"receiverAppName": "Diyalog Android",
"callUseType": "ONLINE_HELP_CALL"
}
]
HTTP 500 Response
string
API hata aldığında HTTP 500 status kodu ile cevap dönecektir. API'nin hata mesajı metin olarak döner.

API isteği doğrulama sırasında hata alırsa aşağıdaki hata kodlarını döner.#

Http Status CodeMesajAçıklama
400Required headers not foundDate, X-Requester-UserId veya X-Authorization header alanlarından biri veya birkaçı eksik.
400Authorization failed due to data format not validX-Authorization header alanındaki bilgiler doğru formatta değil. Alanın "DLGA " ile başlayıp accesKeyId ve imza değerleri arasına : olduğunu kontrol edin.
400Authorization failed due to date not validX-DLG-DATE tarih formatı "EEE, dd MMM yyyy HH:mm:ss Z" formatında değil. Kontrol edin..
401Authorization failedİstek doğrulanamadı. İmza değeri doğru değil.
403Request time may not be correct.İstek header'ında gelen x-dlg-date ve sunucu zamanı arasında +/- 15 dakikadan fazla fark var.