XML Post API
Göndermiş olduğunuz SMS paketinin durumunu, HTTP protokolünün POST metodunu kullanarak, XML formatında almak isterseniz aşağıdaki yönergeleri takip edebilirsiniz.
İstek yapılacak adres
POSThttps://api.iletimerkezi.com/v1/get-report
İstek İçeriği (Body)
<request>
<authentication>
<key></key>
<hash></hash>
</authentication>
<order>
<id></id>
<page></page>
<rowCount></rowCount>
</order>
</request>
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.
order
Raporu sorgulanacak olan siparişin bilgisini içerir. Alt etiketleri aşağıdaki gibidir.
id: Siparişi ifade eden eşsiz numerik değerdir. API üzerinden SMS gönderme isteği yaptığınızda size, sunucu tarafından dönen id değeridir. İstek yapılırken gönderilmesi zorunludur.
page: Rapor sayfasını ifade eder. İstek yapılırken gönderilmesi zorunlu değildir. Varsayılan değeri 1'dir.
rowCount: Bir rapor sayfasındaki mesaj adedini belirtir. İstek yapılırken gönderilmesi zorunlu değildir. Varsayılan değeri 1000'dir. Maksimum değeri 1000'dir. Bir siparişte 1000'den fazla mesaj gönderilmişse page etiketindeki değer arttırılarak yeni bir istek yapılmalıdır.
Sunucu yanıtı
<response>
<status>
<code></code>
<message></message>
</status>
<order>
<id></id>
<status></status>
<message>
<number></number>
<status></status>
</message>
<message>
<number></number>
<status></status>
</message>
</order>
</response>
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.
order
İşlem başarılı olarak tamamlandıysa oluşturulan sipariş 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 message
Raporlanan mesaj bilgilerini içerir. Sorgulanan sayfadaki mesaj sayısı kadar tekrarlanır. Alt etiketleri aşağıdaki gibidir:
number: Alıcının cep telefonu numarasını içerir.
status: Mesajın 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ı 110 Mesaj gönderiliyor 111 Mesaj gönderildi 112 Mesaj gönderilemedi
Hata Kodları
Eğer istek sonucu olumsuz ise sunucu tarafından size dönücek hata kodları ve mesajlar aşağıdaki gibidir.
code | message | Açıklama |
---|---|---|
400 | İstek çözümlenemedi | POST ettiğiniz XML'in yapısındaki hatadan kaynaklanır. Bu hatalar genellikle, yanlış yazılan XML etiketi, düzgün kapatılmayan XML etiketi veya CDATA kullanılmadan XML'in yapısını bozabilecek bir karakterin kullanımından kaynaklanır. |
401 | Üyelik bilgileri hatalı | POST ettiğiniz XML'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. |
455 | Sipariş bulunamadı | İstek içerisinde iletmiş olduğunuz id ile oluşturulmuş bir sipariş yoksa veya sipariş gönderimi bekliyor durumundan iletiliyor durumuna geçti ise bu hatayı alırsınız. |
456 | Sipariş gönderim tarihi henüz gelmedi | İstek içerisinde iletmiş olduğunuz id ile oluşturulmuş sipariş ileri tarihli bir gönderimse ve gönderim tarihi henüz gelmemiş ise bu hatayı alırsınız. |
Örnek İstek
<?xml version="1.0" encoding="UTF-8" ?>
<request>
<authentication>
<key>demo</key>
<hash>demo</hash>
</authentication>
<order>
<id>428</id>
<page>1</page>
<rowCount>5</rowCount>
</order>
</request>
Örnek Başarılı Yanıt
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<status>
<code>200</code>
<message>İşlem başarılı</message>
</status>
<order>
<id>428</id>
<status>113</status>
<message>
<number>5301234567</number>
<status>110</status>
</message>
<message>
<number>5301234568</number>
<status>111</status>
</message>
<message>
<number>5301234569</number>
<status>110</status>
</message>
<message>
<number>5301234560</number>
<status>111</status>
</message>
<message>
<number>5301234561</number>
<status>111</status>
</message>
</order>
</response>
Örnek Hatalı Yanıt
<?xml version="1.0" encoding="UTF-8"?>
<response>
<status>
<code>455</code>
<message>Sipariş bulunamadı</message>
</status>
</response>