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 BodySchema |
---|
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 :#
ResponsesHTTP 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 :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 Code | Mesaj | Açıklama |
---|---|---|
400 | Required headers not found | Date, X-Requester-UserId veya X-Authorization header alanlarından biri veya birkaçı eksik. |
400 | Authorization failed due to data format not valid | X-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. |
400 | Authorization failed due to date not valid | X-DLG-DATE tarih formatı "EEE, dd MMM yyyy HH:mm:ss Z" formatında değil. Kontrol edin.. |
401 | Authorization failed | İstek doğrulanamadı. İmza değeri doğru değil. |
403 | Request time may not be correct. | İstek header'ında gelen x-dlg-date ve sunucu zamanı arasında +/- 15 dakikadan fazla fark var. |