Ana içeriğe geç

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)

Eğer API Anahtarı kullanılarak işlem yapıyorsanız isteğin içeriği:
<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 KoduDurum Mesajı
    113Siparişin gönderimi devam ediyor
    114Siparişin gönderimi tamamlandı
    115Sipariş 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 KoduDurum Mesajı
      110Mesaj gönderiliyor
      111Mesaj gönderildi
      112Mesaj 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.

codemessageAçıklama
400İstek çözümlenemediPOST 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.
404API istek yapılan yönteme sahip değilEğer bu hatayı alıyorsanız istek yaptığınız adresi tekrar kontrol edin yanlış bir adrese istek yapıyor olabilirsiniz.
455Sipariş 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.
456Sipariş 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>