Orders

Sipariş entegrasyonu ile ilgili channel_app_template.app.tasks altında çalışan tasklar

  1. fetch_orders

Satış kanalı tarafından yeni oluşmuş siparişleri almak ve akinonda işlemek için channel.commands.orders.orders.GetOrders yer alan komut çalıştırılır ve Akinon’a istenilen formatta veri sağlar. Bu komut ile satış kanalına oluşmuş siparişler okunup Akinon uzerinde oluşturulması sağlanır.

OrderService içerisinde yer alan fetch_and_create_order fonksiyonu ile süreç işletilir.

Siparişleri satış kanalından almak ve istenlen formata çevirmek için aşağıda listesi verilen açıklamalara göre bu command hazırlanmalıdır.

  1. update_orders

Akinon’dan satış kanalı tarafına güncellenmesi gereken siparişleri alır ve bu verileri channel.commands.orders.orders.SendUpdatedOrders’da yer alan komut’a gönderir. Bu komut ile satış kanalına güncellenmiş sipariş bilgilerini iletir.

OrderService içerisinde yer alan update_orders fonksiyonuna ait süreçte kullanılacak olan bu command ile Akinon’da durumu güncellenmiş sipariş bilgileri bu command ile satış kanalına gönderilebillir.

Dikkat

Sipariş Servisi içerisinde yer alan update_orders fonksiyonuna ait parametreler

is_sync : Sipariş üzerindeki güncelleme satış kanalına yollandığında durumu hemen mi ediniliyor Senkron veya Asenkron Satış Kanalı Süreç yoksa asenkron bir şekilde mi ediniliyor olduğudur.
  1. check_orders

Akinon’da satış kanalı tarafına asenkron olarak iletilen Order güncellemelerinin BatchRequestlerini alır ve bu verileri channel.commands.orders.orders.CheckOrders’da yer alan komut’a gönderir. Bu komut ile satış kanalından güncelleme isteği atılmuş order’in güncel durum bilgisi satış kanalından okunur.

  1. fetch_and_create_cancel

Satış kanalı tarafında yeni oluşmuş iptal sipariş kayıtları channel.commands.orders.orders.GetCancelledOrders komutu aracılığı ile alınır ve akinon’da gönderilir. OrderService içerisinde yer alan fetch_and_create_cancel fonksiyonu ile kullanılır.

Aşağıda listesi verilen parametre değerleri ile Sipariş İptal Verisi çekilip istenilen formata getirilir.

  1. fetch_and_update_order_items

Satış kanalında güncellenmiş siparişleri almak ve Omnitron’a OrderItem bazında aktarmak için channel.commands.orders.orders.GetUpdatedOrderItems yer alan komut çalıştırılır ve Akinon’a istenilen formatta veri sağlar. (ChannelUpdateOrderItemDto). Bu komut ile satış kanalına güncellenmiş siparişlerin okunup Omnitron’a aktarılması sağlanır.

OrderService içerisinde yer alan fetch_and_update_order_items fonksiyonu ile süreç işletilir.

Güncellenmiş siparişleri satış kanalından almak ve istenilen formata çevirmek için aşağıda listesi verilen açıklamalara göre bu command hazırlanmalıdır.

  1. fetch_and_create_cancellation_requests

Satış kanalında iptal veya iade için açılmış talepleri almak ve Omnitron’a aktarmak için kullanılır.

Bu sürecin sağlıklı bir şekilde çalışabilmesi için update_channel_conf_schema içerisinde mutlaka “reason_mapping” ayarı json olarak eklenmesi gerekir. Bu değer doldurulurken key değeri satış kanalının iptal/iade nedeni, value değeri ise Akinon’daki iptal/iade nedenine ait pk değeri olmalıdır. Akinon’daki iptal iade nedenleri, omnitron -> ayarlar menüsünden ulaşılabilir.

app.tasks içerisinde yer alan fetch_and_create_cancellation_requests fonksiyonu ile süreç işletilir.

channel.commands.orders.orders.GetCancellationRequests yer alan komut çalıştırılır ve Akinon’a istenilen formatta veri sağlar. (CancellationRequestDto).

İptal veya iade taleplerini satış kanalından almak ve istenilen formata çevirmek için aşağıda listesi verilen açıklamalara göre bu command hazırlanmalıdır.

  1. update_cancellation_requests

Daha önce fetch_and_create_cancellation_requests fonksiyonu ile oluşturulan iptal veya iade taleplerinin güncellenmesi durumunda omnitrondan bu veri alınır ve satış kanalına gönderilebilmesi sağlanır.

Bu sürecin sağlıklı bir şekilde çalışabilmesi için update_channel_conf_schema içerisinde mutlaka “reason_mapping” ayarı json olarak eklenmesi gerekir. Bu değer doldurulurken key değeri satış kanalının iptal/iade nedeni, value değeri ise Akinon’daki iptal/iade nedenine ait pk değeri olmalıdır. Akinon’daki iptal iade nedenleri, omnitron -> ayarlar menüsünden ulaşılabilir.

app.tasks içerisinde yer alan update_cancellation_requests fonksiyonu ile süreç işletilir.

channel.commands.orders.orders.UpdateCancellationRequest yer alan komut çalıştırılır ve satış kanalına istenilen formatta veri sağlanmış olur.

İptal veya iade talepleri firmalar tarafından güncellendiğinde bu bilgi omnitronda işlenir. Omnitronda sadece daha önce fetch_and_create_cancellation_requests task’ı ile oluşturulmuş olan taleplere ait kayıtlar güncellendiğinde bu methoda bilgisi gelecektir.

Örneğin bir iade talebi açıldıktan sonra, firma bunu kabul etmiş veya reddetmiş olabilir. bu aksiyonu ilgili satış kanalına iletmek için bu methoddan yararlanılır.

Kodlanması gereken channel.commands.orders.orders.UpdateCancellationRequest class’ı aşağıda belirtilmiştir.