Sipariş İptali API (cancel-order)
cancel-order endpoint'i, send-sms ile sendDateTime parametresi kullanılarak ileri bir tarihe planlanmış siparişi, operatöre teslim edilmeden önce iptal eder. Yalnızca henüz gönderim akışına girmemiş siparişler iptal edilebilir; gönderimi başlamış sipariş iptal edilmez ve 455 döner.
Ö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/cancel-order/json | | Content-Type | application/json | | Auth | API Key + Hash (request.authentication) |
Request
Şema
request
├─ authentication
│ ├─ key (string, zorunlu)
│ └─ hash (string, zorunlu)
└─ order
└─ id (string|integer, zorunlu) — send-sms yanıtından dönen orderIdTam örnek
{
"request": {
"authentication": {
"key": "API_KEY",
"hash": "API_HASH"
},
"order": {
"id": "312891245"
}
}
}Response
Başarılı (200)
{
"response": {
"status": {
"code": 200,
"message": "İşlem başarılı"
}
}
}İptal başarılı olduğunda gövdede yalnızca status döner; sipariş bilgisi tekrar yansıtılmaz. Aynı order.id için sonradan get-report çağırırsanız sipariş status: 115 (gönderilemedi) durumunda olabilir veya 455 — Sipariş bulunamadı döner.
Hata yanıtları
401 — Üyelik bilgileri hatalı
API Anahtar/Hash doğrulanamadı veya panel toggle kapalı. Detay: authentication.md.
455 — Sipariş bulunamadı
Üç olası neden:
- Verilen
order.idbu hesaba ait değil veya silinmiş. - Sipariş zaten gönderim akışına girmiş (operatör kuyruğunda) — bu durumda iptal edilemez.
- Sipariş çoktan tamamlanmış.
İptal etmeden önce siparişin durumunu get-report ile kontrol edin: order.status: 113 (devam ediyor) veya 114 (tamamlandı) ise iptal pencereniz kapanmış demektir.
Diğer hata kodları
400, 404 için tablo: error-codes.md.
Kod örnekleri
cURL
curl -X POST 'https://api.iletimerkezi.com/v1/cancel-order/json' \
-H 'Content-Type: application/json' \
-d '{
"request": {
"authentication": {
"key": "'"$ILETIMERKEZI_API_KEY"'",
"hash": "'"$ILETIMERKEZI_API_HASH"'"
},
"order": { "id": "312891245" }
}
}'Common Pitfalls
- İptal penceresi dar.
sendDateTimeile ileri tarihli planlanmış sipariş, planlanan tarihe yaklaştıkça operatör kuyruğuna alınır. Operatöre verildikten sonra geri alınamaz; iptal isteği455döner. 455her zaman "yok" demek değildir. "Bulunamadı" mesajı hem geçersiz ID hem de "geçerli ama artık iptal edilemez" durumunu kapsar. Belirsizlikten kaçınmak için iptal denemesinden önceget-reportçağırıporder.status'u kontrol edin:113veya114ise iptal mümkün değil.- Yanıt minimaldir. Başarılı iptalde
response.orderdöndürülmez; yalnızcaresponse.statusgelir. Tekrar doğrulama gerekiyorsaget-reportile sipariş durumunu yeniden çekin. - Idempotent değil. Aynı
order.idiçin iki kez iptal çağrısı atılırsa ikincisi455ile döner. İstemci kodunda iptal başarısını local state'e yazıp tekrar denemeyi engelleyin. - Anlık (immediate) gönderim iptali yok.
sendDateTimeparametresi olmadan gönderilmiş bir sipariş zaten kuyruğa hemen düşer; pratik olarak iptal penceresi yoktur. Bu endpoint sadece ileri tarihli siparişler için anlamlıdır.
Related
- SMS gönderme (send-sms) — sipariş oluştur,
sendDateTimeile planla - Sipariş raporu (get-report) — iptal öncesi sipariş durum kontrolü
- Kimlik doğrulama (authentication)
- Hata kodları tablosu
Son güncelleme: 2026-04-30 · English version