Skip to main content

İptal Akışı

Sipariş iptali yalnızca üzerinde işlem yapılmamış (iade) siparişlere yapılabilir. Bu durumda entegrasyon kapsamında BiSU'da sipariş tamamlanana kadar iptal (iade yapılmamışsa) edilebilir.

Sipariş otomatik iptal (reject) veya Cockpit ile Partner Panel üzerinden iptal olabilir.

Bunun haricinde Yemeksepeti tarafından da iptal edilebilmektedir.

İptal edilen sipariş tekrar akışa sokulamaz.

Örnek bir iptal isteği için gövdesi için şuraya bakabilirsiniz.

Otomatik İptal

Reject işlemi sipariş YS tarafından webhook'a gönderildiğinde yapılan kontroller sonucu siparişteki ürünlerin hiçbirinin stoğu yoksa (Biri_Stock.quantity <= 0) siparişin iptal edilmesidir. Bu noktada sipariş BiSU tarafında oluşmadan entegrasyonda iptal sağlanır.

Operasyon İptalleri

Cockpit veya Partner Panel üzerinden yürütülen iptal işlemlerine operasyon iptali denilebilir. Müşteri Hizmetleri veya Depo teslimatın gerçekleştirilemeyeceğine karar verdiğinde arayüzler üzerinden iptal sağlayabilmektedir.

Yemeksepeti tarafında yapılacak iptallerde siparişin YS'deki durumu kontrol edilmektedir. Eğer iptal edilemeyecek bir statüde ise sipariş (DISPATCHED, DELIVERED, CANCELLED gibi) kullanıcıya hata dönülmektedir.

Teknik olarak iptal işlemi sipariş gövdesindeki ürünlerin, siparişin durumunu değiştirmek ve iptal nedenini (cancellation) ekleyip YS tarafına sipariş güncelleme isteğinin (PUT) çıkılmasından ibarettir.

Yemeksepeti Taraflı İptaller

Yemeksepeti tarafı siparişi iptal edebilmektedir. Bu durumda sipariş webhook'una sipariş gövdesini göndermektedir. Buradaki siparişin durumu kontrol edilip iptal akışına yönlendirilmektedir. Sipariş BiSU tarafında da iptal edilmektedir.

Tamamlanmış siparişlerin (ORDER_COMPLETED) iptali durumunda depoya bilgilendirme yapılmaktadır.

Tanımlı İptal Sebepleri

Sipariş gövdesi içindeki cancellation objesindeki reason değerleri şunlar olabilir:

    TEST_ORDER: Entegrasyon geliştirme sırasında test siparişleri için
CLOSED: Deponun kapalı olduğunu belirtir
ITEM_UNAVAILABLE: Siparişteki ürünler tedarik edilemediğinde
TOO_BUSY: Depo yoğun olduğunda
NEVER_DELIVERED: YS taraflı iptallerde siparişin teslim edilmediğini ifade eder
MISTAKE_ERROR: YS taraflı iptallerde gelmektedir
TECHNICAL_PROBLEM: YS taraflı iptallerde entegrasyon problemini ifade eder