product.priceChanged

product.priceChanged

Bu event, bir ürünün restorandaki satış fiyatı değiştiğinde tetiklenir.

Fiyat listesi üzerinden yapılan güncellemeler, ürün fiyatının doğrudan değiştirilmesi, şubeye özel fiyat tanımlanması/kaldırılması ve Excel ile toplu fiyat aktarımları bu event'i tetikler. Değişikliğin merkez uygulamasından mı yoksa şubenin kendi Adisyo uygulamasından mı yapıldığı fark etmez; her iki durumda da event gönderilir.

Fiyat gerçekten değişmediyse (aynı tutar tekrar kaydedildiyse) event üretilmez.

Payload Yapısı

Payload yalnızca fiyatı değişen ürünlerin kimliklerini taşır. Güncel fiyatları /Menu ucundan okuyabilirsiniz.

Tek bir kaydetme işlemi birden fazla ürünü etkileyebildiği için (fiyat listesi güncelleme, Excel ile toplu aktarım) ürünler productIds dizisinde listelenir. Tek ürün değiştiğinde de dizi tek elemanlı gelir.

{
  "eventId": "9c1f0a2d-4b7e-4c1a-9f52-1d8e6b3a7c04",
  "webhookEventType": "product.priceChanged",
  "eventTimeUtc": "2025-10-21T11:59:50.1855135Z",
  "data": {
    "productIds": [2230902, 2230903, 2230904]
  },
  "restaurantIdentity": "3edc2d46-bfc0-44d1-b701-f18e56306aed"
}

Veri Alanları

AlanTürAçıklama
productIdsarray(number)Fiyatı değişen ürünlerin ID'leri. /Menu yanıtındaki productId ile aynıdır

restaurantIdentity değişikliğin geçtiği şubeyi belirtir; event her zaman şube bazlıdır. Bir işlem birden fazla şubeyi etkiliyorsa (ör. merkezden fiyat listesi güncellemesi) her şube için ayrı event gönderilir.

Kullanım Örneği

Event'i aldığınızda ilgili şube için /Menu ucunu çağırıp productIds içindeki ürünlerin güncel fiyatlarını okuyun. Menüde şubeye özel fiyat tanımlıysa o fiyat, yoksa şubenin bağlı olduğu fiyat listesindeki fiyat döner; yani her zaman şubede geçerli olan güncel fiyatı alırsınız.

productIds dizisi tek ürün değişikliğinde de kullanılır; tekil ve toplu durumlar için ayrı bir işleme mantığı yazmanız gerekmez.

Ürünün satışa kapatılması fiyat event'i üretmez; bu durumda product.statusChanged event'i tetiklenir.