Sipariş Raporu API (get-report)
get-report endpoint'i, send-sms ile oluşturulan bir siparişin teslimat raporunu döner. Sipariş genel durumu, sayaçlar (toplam / teslim edilen / edilemeyen / bekleyen), zaman damgaları, sipariş bedeli ve her bir mesajın alıcı bazında durumu tek yanıtta gelir. Büyük siparişler page + rowCount ile sayfalanır.
Önemli ön koşul: Panel'de API erişimi
Bu endpoint'i çağırmadan önce panelinizde API kullanımına izin ver seçeneğinin aktif olması gerekir.
Ayar yeri:
panel.iletimerkezi.com→ Ayarlar → Güvenlik → Erişim İzinleriAktif değilse istek
401 — Üyelik bilgileri hatalıile döner. Detay: authentication.md
Endpoint
| Alan | Değer | |---|---| | Method | POST | | URL | https://api.iletimerkezi.com/v1/get-report/json | | Content-Type | application/json | | Auth | API Key + Hash (request.authentication) |
Request
Şema
request
├─ authentication
│ ├─ key (string, zorunlu)
│ └─ hash (string, zorunlu)
└─ order
├─ id (string, zorunlu) — send-sms yanıtından dönen orderId
├─ page (string, opsiyonel) — varsayılan "1"
└─ rowCount (string, opsiyonel) — bir sayfadaki mesaj adedi, varsayılan "1000", maks "1000"1000'in üzerinde mesaj içeren siparişlerde tüm raporu çekmek için
pagedeğerini arttırarak ardışık çağrı yapın.
Tam örnek
{
"request": {
"authentication": {
"key": "API_KEY",
"hash": "API_HASH"
},
"order": {
"id": "312891245",
"page": "1",
"rowCount": "1000"
}
}
}Response
Başarılı (200)
{
"response": {
"status": {
"code": 200,
"message": "İşlem başarılı"
},
"order": {
"id": "312891245",
"status": 114,
"total": 1,
"delivered": 1,
"undelivered": 0,
"waiting": 0,
"submitAt": "2026-04-29 04:32:24",
"sendAt": "2026-04-29 04:32:24",
"sender": "eMarka Test",
"price": 1,
"message": [
{
"number": "+905333128320",
"status": 111
}
]
}
}
}Alanlar:
response.order.id(string): Sipariş ID'si.response.order.status(integer): Sipariş genel durumu (aşağıdaki tabloya bakın).response.order.total(integer): Siparişteki toplam mesaj sayısı.response.order.delivered(integer): Operatör tarafından alıcıya teslim edilen mesaj sayısı.response.order.undelivered(integer): Teslim edilemeyen mesaj sayısı (kara liste, kapalı hat, yanlış numara vb.).response.order.waiting(integer): Hâlâ kuyrukta bekleyen mesaj sayısı.response.order.submitAt(string): API'ye istek geldiği zaman damgası, formatYYYY-MM-DD HH:MM:SS.response.order.sendAt(string): Operatöre verildiği zaman damgası. İleri tarihli sipariş değilsesubmitAtile aynıdır.response.order.sender(string): Sipariş için kullanılan sender ID.response.order.price(integer): Siparişin tükettiği toplam kontör adedi. Mesaj başına 1 ya da daha fazla olabilir (uzun mesaj, UCS-2 vb.).response.order.message[](array): Her bir alıcıya ait teslim durumu.number(string): Alıcı numara, dönüşte+90prefix'i ile gelir.status(integer): Mesaj durumu (aşağıdaki tabloya bakın).
total,delivered,undelivered,waiting,submitAt,sendAt,sender,pricealanları canlı API'de mevcuttur ve canlı testle doğrulanmıştır. Eski apidocs-website şartnamesinde bu alanlar listelenmemiş olabilir; canlı API ground truth alınır (drift:apidocs-website#3).
Sipariş durum kodları (order.status)
| Kod | Anlam | |---|---| | 113 | Sipariş gönderimi devam ediyor | | 114 | Sipariş gönderimi tamamlandı | | 115 | Sipariş gönderilemedi |
Mesaj durum kodları (message[].status)
| Kod | Anlam | |---|---| | 110 | Mesaj gönderiliyor | | 111 | Mesaj gönderildi | | 112 | Mesaj gönderilemedi |
Hata yanıtları
401 — Üyelik bilgileri hatalı
Detay: authentication.md.
455 — Sipariş bulunamadı
Verilen order.id bu hesaba ait değil veya silinmiş. ID'yi send-sms yanıtından kontrol edin.
Diğer hata kodları
400, 404, 456 için tablo: error-codes.md.
Kod örnekleri
cURL
curl -X POST 'https://api.iletimerkezi.com/v1/get-report/json' \
-H 'Content-Type: application/json' \
-d '{
"request": {
"authentication": {
"key": "'"$ILETIMERKEZI_API_KEY"'",
"hash": "'"$ILETIMERKEZI_API_HASH"'"
},
"order": { "id": "312891245", "page": "1", "rowCount": "1000" }
}
}'Common Pitfalls
- Numara format dönüşte değişir. Gönderirken
905XXXXXXXXXverseniz bile rapor yanıtında numara+905XXXXXXXXXolarak gelir. Numara karşılaştırma yapan kodlarda iki formatı da normalize edin. - Hemen sorgulamayın, kuyrukta bekleyebilir.
send-sms'in hemen ardından çağırırsanız siparişstatus: 113(devam) vewaiting > 0olabilir. Operatör onayları saniyeler içinde gelir; webhook tabanlı raporlama daha verimli. - Sayfalama 1000'le sınırlı.
rowCountüst sınır 1000. 1000'den fazla mesaj içeren siparişler içinpagearttırılarak ardışık çağrı yapılır. - Yanıt eski şartnameden zengin. Canlı API
total,delivered,undelivered,waiting,sender,price,submitAt,sendAtalanlarını da döner. Bunları dashboard ve analitik için kullanabilirsiniz; eski şartname temelli SDK'lar bu alanları parse etmiyor olabilir. order.status: 114"her şey teslim edildi" demek değil. Sadece "siparişin gönderim akışı tamamlandı" demek. Detaylı kontrol içindeliveredveundeliveredsayaçlarına bakın.
Related
- SMS gönderme (send-sms)
- Kimlik doğrulama (authentication)
- Bakiye sorgulama (get-balance)
- Webhook ile rapor (webhooks)
- Hata kodları tablosu
Son güncelleme: 2026-04-29 · English version