product.statusChanged
Bu event, bir ürünün restorandaki satış durumu değiştiğinde tetiklenir.
Ürünün satışa açılması/kapatılması, sipariş tipi bazında (Masa / Paket / Gel-Al) açılıp kapatılması ve ürünün şubeye atanması veya şubeden kaldırılması bu event'i tetikler.
Payload Yapısı
{
"eventId": "9c1f0a2d-4b7e-4c1a-9f52-1d8e6b3a7c04",
"webhookEventType": "product.statusChanged",
"eventTimeUtc": "2025-10-21T11:59:50.1855135Z",
"data": {
"productId": 2230902,
"productName": "Sushi Set",
"productCode": "SUS-001",
"isProductSalable": true,
"orderTypes": [
{ "orderType": 1, "orderTypeName": "Masa siparişi", "isActive": false },
{ "orderType": 3, "orderTypeName": "Paket servis", "isActive": true },
{ "orderType": 5, "orderTypeName": "Gel-Al siparişi", "isActive": true }
]
},
"restaurantIdentity": "3edc2d46-bfc0-44d1-b701-f18e56306aed"
}Veri Alanları
| Alan | Tür | Açıklama |
|---|---|---|
productId | number | Ürün ID'si |
productName | string | Ürün adı |
productCode | string | Ürün kodu |
isProductSalable | boolean | Ürünün restoranda satışa açık olup olmadığı. false ise sipariş tipinden bağımsız olarak satılamaz |
orderTypes | array | Sipariş tipi bazında güncel durum |
orderTypes Alanları
| Alan | Tür | Açıklama |
|---|---|---|
orderType | number | Sipariş tipi. 1 Masa, 3 Paket, 5 Gel-Al |
orderTypeName | string | Sipariş tipinin adı |
isActive | boolean | Ürünün bu sipariş tipinde satışa açık olup olmadığı |
Kullanım Örneği
Payload, ürünün yalnızca değişen alanını değil, o andaki tam durumunu içerir. Bu sayede ek bir sorgu yapmadan ürünün güncel satış durumu doğrudan yansıtılabilir.
Ürün restorandan kaldırıldığında veya satışa kapatıldığında isProductSalable değeri false olur ve orderTypes listesindeki tüm sipariş tipleri isActive: false döner.