JSON Post API
Belirttiğiniz tarih aralığına göre göndermiş olduğunuz SMS paketlerinin durumunu, HTTP protokolünün POST metodunu kullanarak, JSON formatında almak isterseniz aşağıdaki yönergeleri takip edebilirsiniz.
İstek yapılacak adres
POSThttps://api.iletimerkezi.com/v1/get-reports/json
İstek İçeriği (Body)
{
"request": {
"authentication": {
"key": "",
"hash": ""
},
"filter": {
"start": "",
"end": "",
"page": 1
}
}
}
Tanımlar
Sunucuya yapılacak olan istek request etiketi ile sarmalanmalıdır. Bu etiketin alt etiketlerinin tanımları aşağıdaki gibidir:
authentication
İstek yapılan işleme dair yetki alabilmek için gönderilmesi gereken kullanıcı bilgileridir. Alt etiketleri aşağıdaki gibidir:
key: iletimerkezi.com panelinize giriş yaptıktan sonra ayarlar bölümünden oluşturabileceğiniz API Anahtar bu alana yazılmalıdır. İstek yapılırken gönderilmesi zorunludur.
hash: iletimerkezi.com panelinize giriş yaptıktan sonra ayarlar bölümünden oluşturabileceğiniz API Anahtar ve Gizli Anahtar kullanılarak oluşturulmuş hash bu alana yazılmalıdır. İstek yapılırken gönderilmesi zorunludur.
filter
Arama sonuçlarını filtrelemek için kullanılır. Bu etiketin alt etiketleri aşağıdaki gibidir:
- start: Başlangıç tarihini ifade eder. İstek yapılırken gönderilmesi zorunludur. Y-m-d (2024-09-27) formatında olmalıdır.
- end: Bitiş tarihini ifade eder. İstek yapılırken gönderilmesi zorunludur. Y-m-d (2024-09-27) formatında olmalıdır.
- page: Rapor sayfasını ifade eder. İstek yapılırken gönderilmesi zorunlu değildir. Varsayılan değeri 1'dir.
Sunucu yanıtı
{
"response": {
"status": {
"code": 200,
"message": "İşlem başarılı"
},
"count": 2,
"orders": [
{
"id": 89,
"status": 113,
"total": 1,
"delivered": 0,
"undelivered": 0,
"waiting": 1,
"submitAt": "2024-11-12 02:04:08",
"sendAt": "2024-11-12 02:04:08",
"sender": "eMarka"
},
{
"id": 98,
"status": 113,
"total": 1,
"delivered": 0,
"undelivered": 0,
"waiting": 1,
"submitAt": "2024-11-13 19:04:08",
"sendAt": "2024-11-13 19:04:08",
"sender": "eMarka"
}
]
}
}
Tanımlar
Sunucudan gelen yanıt her zaman response etiketi ile sarmalanmıştır. Bu etiketin alt etiketlerinin tanımı aşağıdaki gibidir:
status
İşlem durumu ile ilgili bilgi içerir. Bu etiket ile döndürülen değerler aynı zamanda HTTP yanıtının başlık bilgisine bakılarak da elde edilebilir. Bu etiket, yapılan her istekte standart olarak döndürülür. Alt etiketleri aşağıdaki gibidir
- code: İşlem durumunu belirten numerik değerdir.
- message: İşlem durumu hakkında bilgi mesajı içerir.
count
Belirttiğiniz tarih aralığına göre toplamda kaç adet SMS paketi olduğunu ifade eder.
orders
İşlem başarılı olarak tamamlandıysa oluşturulan SMS paketi özet bilgisini içerir. İşlem başarısızsa bu etiket döndürülmez. Alt etiketleri aşağıdaki gibidir:
-
id: Siparişi ifade eden eşsiz numerik değerdir.
-
status: Siparişin genel gönderim durumunu belirten numerik değerdir. Aşağıdaki tabloda bu etiketin alabileceği değerler ve ifade ettikleri anlamlar listelenmiştir.
Durum Kodu Durum Mesajı 113 Siparişin gönderimi devam ediyor 114 Siparişin gönderimi tamamlandı 115 Sipariş gönderilemedi -
total: Paketin içerdiği toplam alıcı sayısını ifade eder.
-
delivered: Başarılı bir şekilde ulaşan alıcı sayısını ifade eder.
-
undelivered: İletilemeyen alıcı sayısını ifade eder.
-
waiting: Gönderimi bekleyen alıcı sayısını ifade eder.
-
submitAt: Paketin oluşturulma tarihini ifade eder.
-
sendAt: Paketin gönderim tarihini ifade eder.
-
sender: Paketin gönderiminde kullanılan başlık bilgisini içerir.
Hata Kodları
Eğer istek sonucu olumsuz ise sunucu tarafından size dönücek hata kodları ve mesajlar aşağıdaki gibidir.
Hata Kodu | Mesaj | Açıklama |
---|---|---|
400 | İstek çözümlenemedi | POST ettiğiniz JSON'in yapısındaki hatadan kaynaklanır. Bu hatalar genellikle, yanlış yazılan JSON etiketi, düzgün kapatılmayan XML etiketi veya CDATA kullanılmadan JSON'in yapısını bozabilecek bir karakterin kullanımından kaynaklanır. |
401 | Üyelik bilgileri hatalı | POST ettiğiniz JSON'in authentication etiketi içerisinde göndermiş olduğunuz bilgileri doğrulayamadığımızda bu hatayı veriyoruz, eğer hesabınızda sabit IP tanımladıysanız ve farklı bir IP üzerinden istek yapıyorsanız yine bu hatayı alırsınız. |
404 | API istek yapılan yönteme sahip değil | Eğer bu hatayı alıyorsanız istek yaptığınız adresi tekrar kontrol edin yanlış bir adrese istek yapıyor olabilirsiniz. |
458 | Tarih aralığı hatalı. | Gönderdiğiniz tarih formatı veya tarih aralığınız 10 günden daha fazla. |