Skip to main content

notificationstatus

POST v1/simplepush/notificationstatus#

Bu API aracılığı ile daha önce gönderdiğiniz bildirimin durumunu sorgulayabilirsiniz. Bunun için gönderim zamanında Diyalog sisteminin ilgili isteğiniz için oluşturduğu pushId bilgisini biliyor olmalısınız.

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/simplepush/notificationstatus
  • HTTP Ä°stek Türü POST
  • HTTP Content-Type application/json

Request Body#

Schema
json object
     push_id (String)
      sendpush api isteğinde api response'unda gelen Diyalog sisteminde isteğinizle ilgili oluşturulan tekil id'dir.

Örnek Json Request Body :#

{
"push_id" : "043f3e42-75b1-41c2-8513-07efd4455e56"
}

Responses#

HTTP 200 Response
json object
API cevap olarak json objesi döner. İlgili pushId için istek detaylarınızı ve kaç kullanıcıya bildirim gönderildiğini, kaç kullanıcı için başarısız gönderim olduğu ve neden başarısız olduğu ile ilgili bilgileri içerir.
     pushId (String)
      Durumunu sorguladığınız isteğinizin id'si cevap olarak tekrar iletilir.
     requestAt (Unix epoch timestamps (miliseconds))
      Milisaniye cinsinden istek zamanını bildirir.
     requestDetail (json object))
      sendpus api'sini çağrıdığınız isteğin detaylarını döner. Objenin içeriği sendpush request objesi ile aynıdır.
     requestDetail (json object))
      sendpus api'sini çağrıdığınız isteğin detaylarını döner. Objenin içeriği sendpush request objesi ile aynıdır.
     info (json object)
      Detay bilgileri içeren objedir.
               devices (integer)
                Bildirim gönderme işleminin başarılı olduğu kullanıcı sayısını verir.
               failed (json object array)
                Bildirim gönderimi hata alan kullanıcıların bilgilerini içeren dizidir. İçerisinde kullanıcı numarası ve hata kodu bilgilerini içeren objeler taşır.
                    customerNo (String)
                     Bildirim gönderilemeyen kullanıcı numarası
                    errorCode (String)
                      Hata nedenini bildirir. Aşağıdaki değerleri alabilir.
                         USER_NOT_FOUND_IN_SYSTEM
                         USER_PUSH_TOKEN_NOT_FOUND
                         APNS rejection reason bilgisi içerebilir.
                         GOOGLE FCM hata durumları:
                               FCM_ERROR_INVALID_REGISTRATION : Cihaz token bilgisi doğru değil.
                               FCM_ERROR_NOT_REGISTERED : Cihaz token bilgisi doğru değil.
                               FCM_ERROR_XXX : Diğer hata durumları. XXX olarak belirtilen bölümde hata detayı verilir.
                               FCM_INTERNAL_ERROR_DESERIALIZATION_EXCEPTION : Diyalog uygulaması exception vermesi nedeniyle bildirim gönderilmemiştir.
                         Huawei HMS hata durumları:
                               HMS_ERROR_XXX : Diğer hata durumları. XXX olarak belirtilen bölümde hata detayı verilir. Detaylı hata kodları için Huawei HMS dökümanları incelenmelidir.
                                    "80100000" ⇒ "Some tokens are right, the others are illegal"
                                    "80100001" ⇒ "Parameters check error"
                                    "80100002" ⇒ "Token number should be one when send sys message"
                                    "80100003" ⇒ "Message structure error"
                                    "80100004" ⇒ "TTL is less than current time, please check"
                                    "80100013" ⇒ "Collapse_key is illegal, please check"
                                    "80100016" ⇒ "Message contians sensitive information, please check"
                                    "80200001" ⇒ "Oauth authentication error"
                                    "80200003" ⇒ "Oauth Token expired"
                                    "80300002" ⇒ "APP is forbidden to send"
                                    "80300007" ⇒ "Invalid Token"
                                    "80300008" ⇒ "The message body size exceeds the default value set by the system (4K)"
                                    "80300010" ⇒ "Tokens exceed the default value"
                                    "81000001" ⇒ "System inner error"
                                    "82000001" ⇒ "GroupKey or groupName error"
                                    "82000002" ⇒ "GroupKey and groupName do not match"
                                    "82000003" ⇒ "Token array is null"
                                    "82000004" ⇒ "Group do not exist"
                                    "82000005" ⇒ "Group do not belond to this app"
                                    "82000006" ⇒ "Token array or group number is transfinited"
                                    "82000007" ⇒ "Invalid topic"
                                    "82000008" ⇒ "Token array null or transfinited"
                                    "82000009" ⇒ "Topic num transfinited, at most 2000"
                                    "82000010" ⇒ "Some token is wrong"
                                    "82000011" ⇒ "Token is null"
                                    82000012" ⇒ "Data storage location is not selected"
                                    "82000013" ⇒ "Data storage location does not match the actual data"
                               HMS_INTERNAL_ERROR_DESERIALIZATION_EXCEPTION : Diyalog uygulaması exception vermesi nedeniyle bildirim gönderilmemiştir.

Örnek Response Body :#

{
"pushId": "043f3e42-75b1-41c2-8513-07efd4455e56",
"requestAt": 1700138786085,
"requestDetail": {
"content_available": false,
"data": "{'message':'deneme'}",
"ios_notification": {
"badge": 0,
"body": "Test",
"category": "",
"collapse_key": "",
"interruption_level": "",
"loc_args": [],
"loc_key": "",
"schedule": 0,
"sound": "dsd",
"thread_id": "",
"title": "Deneme",
"title_loc_args": [],
"title_loc_key": ""
},
"mutable_content": false,
"senderApp": "DevelopmentPostman",
"time_to_live": 0,
"to": [
"11",
"113",
"123",
"70021",
"70022",
"70024",
"70025"
]
},
"info": {
"devices": 4,
"failed": [
{
"customerNo": "11",
"errorCode": "USER_NOT_FOUND_IN_SYSTEM"
},
{
"customerNo": "113",
"errorCode": "USER_NOT_FOUND_IN_SYSTEM"
},
{
"customerNo": "123",
"errorCode": "USER_NOT_FOUND_IN_SYSTEM"
}
]
}
}
HTTP 500 Response
string
API genel bir 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.