Skip to main content

notificationstatusofuser

POST v1/simplepush/notificationstatusofuser#

Bu API aracılığı ile kullanıcı (müşteri) numarası özelinde 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. İstek içerisinde ilettiğiniz kullanıcıya (müşteriye) iletilen bildirimin başarılı olup olmadığı bilgisini alabilirsiniz.

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/notificationstatusofuser
  • 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.
     to (String)
      Kullanıcı (müşteri numarasıdır. Bu parametrede verilen kullanıcı (müşteri) numarasına ilgili bildirimin gönderilip gönderilmediği bilgisini API dönecektir.

Örnek Json Request Body :#

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

Responses#

HTTP 200 Response
json object
Belirtilen kullanıcı (müşteri) numarası için ilgili pushId'li bildirimin durumunu döner.
     pushId (String)
      Durumunu sorguladığınız bildirimin id'si cevap olarak tekrar iletilir.
     requestAt (Unix epoch timestamps (miliseconds))
      Milisaniye cinsinden istek zamanını bildirir.
     sendAt (Unix epoch timestamps (miliseconds))
      Opsiyoneldir.

      Milisaniye cinsinden Diyalog tarafınsa APNS, GOOGLE FCM veya HUAWEI HMS sistemine iletilme zamanını bildirir. İstek Diyalog sisteminden hiç çıkmamış ise bu bilgi dönmeyecektir.
     isSuccess (Boolean)

      İşlem başarılı ise true değilse false döner.
     error (String)
      Opsiyoneldir.

      Bildirim hata almışsa ve hata kodu üretilmişse bu bilgi döner ve içerisinde hata kodu döner. Aşağıdaki kodları dönebilir.
                         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 :#

{
"error": "USER_NOT_FOUND_IN_SYSTEM",
"isSuccess": false,
"pushId": "043f3e42-75b1-41c2-8513-07efd4455e56",
"requestAt": 1700138786085,
"sendAt": 1700138786142
}

API isteği eğer ilettiğinin push ID ve kullanıcı numarası ikilisi ile ilgili bir kayıt bulamazsa aşağıdaki hatayı döner.#

HTTP 400 Response
string
SPECIFIED_PUSH_NOT_FOUND_FOR_GIVEN_USER
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.