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ı
Dört 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ış.
- Sipariş daha önce iptal edilmiş (
cancel-orderikinci kez çağrıldı).
İ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. - State idempotent, response değil. Bir kez iptal edilen sipariş hala iptal durumundadır; aynı
order.idiçin ikincicancel-orderçağrısı sipariş state'ini değiştirmez ama yanıt455döner (İlk: 200, Sonra: 455). İstemci455'i "geçersiz ID + zaten gönderilmiş + tamamlanmış + zaten iptal edilmiş" durumlarının ortak yanıtı olarak ele almalıdır; 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