Ürün Yönetimi ve Güncelleme
Entegrasyon kapsamında ürün ekleme-silme işlemi yalnızca Yemeksepeti tarafından yapılabilmektedir. Katalog düzenleme tarafı manuel ilerlemektedir. Burada anlatılacak kısım ürün üzerinde yapılabilecek stok, fiyat, aktiflik ve maksimum alınabilecek adet değerlerini güncelleme işlemlerini kapsamaktadır.
Güncelleme işlemleri YS tarafındaki products-bulk endpointi kullanarak yapılmaktadır.
BiSU tarafındaki akış bir cronjob üzerinden kuyruk bazlı yapılmaktadır. Depo depo ürünler alınıp istek gövdesi oluşturularak YS'e istek atılmaktadır. Her bir depo için bir mesaj oluşturulup kuyruğa gönderilmektedir. İsteğin atılması kuyruğu dinleyen nodelar tarafından yapılmaktadır.
Bir ürün güncelleme isteğinde her bir ürünün aşağıdaki gibi değerleri güncellebilmektedir.
{
"sku": "1tfuocjayq",
"price": 131,
"quantity": 498,
"active": true
}
Burada görüldüğü üzere price, quantity, active ve burada olmayan maxQuantity
değerleri güncellebilmektedir. sku değeri BiSU tarafındaki productNumber ile aynı
yapılmıştır. Dolayısıyla barcode olarak tanımlanan değerler YS için productNumber
olmaktadır.
Bu akış api/v2/yemeksepeti/product/update-all endpointi ile sürdürülmektedir.
Cronjob AWS Lambda ve Eventbridge ile çalışmaktadır.
Yeni ürün açılışları diğer entegrasyonlar ile aynıdır. Fakat market ve su kategorileri için (Yemeksepeti Mahalle kategorileri) her bir BiSU deposuna iki tane kayıt gerekmektedir.