Skip to main content

getcustomermessaginglist

POST v1/reporting/getcustomermessaginglist#

Bu API aracılığı ile iki tarih aralığında bir müşterinin Diyalog üzerinden yapmış olduğu mesajlaşma listesine erişilebilir. API'ye sicil numarası bilgileri de parametre olarak eklenebilir. Sicil numarası eklenirse müşterinin o sicil ile yapmış olduğu mesajlaşmalar listelenir.

Bir müşterinin bir başka biri ile yaptığı mesajlaşmalar günlük bazda listelenir. API'den dönen liste çok fazla olabilir bu nedenle servis sayfalandırma yöntemi ile cevap döner. Bunun için API, sayfa numarası ve her sayfa için dönmesi beklenen adet bilgisini parametre olarak alır. Her sayfada gösterilecek olan adet bilgisi 20 adetten büyük olmamalıdır. Aksi durumda servis en fazla 20 adet veri döner.

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). Mesajlaşmaların sorgulanacağı başlangıç tarihidir.
endDate (long)
Unix epoch timestamps (miliseconds). Mesajlaşmaların sorgulanacağı bitiş tarihidir.
customerId (string)
Müşteri numarası. Mesajlaşma listesinin dönmesi istenen müşterinin numarasıdır.
staffId (string)
Opsiyoneldir.
Çalışan sicil numarası. Eğer sicil numarsı verilirse müşterinin verilen sicil numarası arasında olan mesajlaşma listesi döner.
isGroupMessaging (boolean)
Opsiyoneldir.
Bu parametre API'ye iletilmezse API grup ve özel yazışmaların hepsini cevap olarak döner. Eğer bu parametre isteğe eklenir ve değeri true olarak verilirse sadece grup mesajlaşmalar cevap olarak döner. Benzer şekilde bu parametrenin değeri false verilirse API sadece özel mesajlaşmaları döner.
pageNumber (int)
Sayfalandırma (pagination) için sayfa numarası indeksidir. Sonraki dataları almak için aynı sorgu parametreleri ile bu indeks arttırılarak istek yapılmadlır.
pageSize (int)
Sayfalandırma (pagination) için her sayfada gösterilecek olan maksimum bilgi adedidir. Bu adet 20'den fazla olmamalıdır. Eğer 20'den fazla olursa API maksimum 20 adet bilgi döner.

Örnek Json Request Body :#

{
"startDate" : 1610014524000,
"endDate" : 1617969609000,
"customerId" : "2337368",
"staffId" : "45186",
"isGroupMessaging" : true,
"pageNumber" : 1,
"pageSize" : 20
}

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 mesajlaşmanın detayları bulunur. API cevap olarak sayfalama yöntemi ile istekte verilen pageSize kadar 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
     senderId (string)
      Mesaj gönderen kişinin müşteri numarası döner.
     nameOfSender (string)
      Mesaj gönderen kişinin ad ve soyad bilgisidir.
     receiverId (string)
      Mesaj alan kişinin sicil veya müşteri numarasıdır.
     nameOfReceiver (string)
      Mesaj alan kişinin ad ve soyad bilgisidir.
     messagingDate (long)
      Unix epoch timestamps (miliseconds). Mesajlaşma yapılan günün bilgisini döner. Veriler günlük olarak tutulduğu için bu dönen bilginin tarih kısmını kullanabilirsiniz. Zaman her zaman 00:00 döner.
     sendMessageCount (int)
      Mesaj gönderen çalışanın ilgili kişiye o gün için kaç adet mesaj gönderdiği bilgisidir. Adet bilgisi maksimum 10 adete kadar hata payı içermektedir.
     isGroupMessaging (boolean)
      Yapılan mesajlaşma grup mesajlaşma olabilir. Eğer grup mesajlaşma ise bu alan "true" değilse "false" olarak döner.
     groupId (int)
      Yapılan mesajlaşma grup mesajlaşma ise bu alanda Diyalog platformu özelinde oluşturulan tekil grup id bilgisi döner.
     conversationDetailLink (string)
      İlgili mesajlaşmanın Diyalog platfromuna bağlanılarak görüntülenebileceği dinamik linktir. Bu link bir browser'da açıldığında, Diyalog uygulamasına bağlanılır ve mesajlaşma içerikleri Diyalog uygulaması üzerinden görüntülenebilir.

Örnek Response Body :#

[
{
"conversationDetailLink": "http://localhost:4000/views.html#/messaging...",
"groupId": 0,
"isGroupMessaging": false,
"messagingDate": 1617667200000,
"nameOfReceiver": "Agent 45153",
"nameOfSender": "Cust 113377",
"receiverId": "45188",
"sendMessageCount": 5,
"senderId": "113377"
},
{
"conversationDetailLink": "http://localhost:4000/views.html#/messaging?...",
"groupId": 909267850,
"isGroupMessaging": true,
"messagingDate": 1617580800000,
"nameOfReceiver": "Agent 45186",
"nameOfSender": "Cust 113377",
"receiverId": "45186",
"sendMessageCount": 7,
"senderId": "113377"
}
]
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.