user.created · updated · deleted ✓ Canlı PIIPersonel (staff) yaşam döngüsü: ekleme/düzenleme/silme. Async webhook. PII içerir — users:read + tenant consent gerektirir. actor.userId ile etkileşimi yapan kullanıcıyı personel kaydıyla eşleyebilirsin.
| Event | Tetik |
|---|---|
| user.created | Yeni personel eklendiğinde |
| user.updated | Personel düzenlendiğinde (güncel hâl) |
| user.deleted | Personel silindiğinde (tüm silme yollarını yakalar) |
Üçü de async webhook. Şekil aynı, yalnız type farklı.
events: ["user.created", "user.updated", "user.deleted"] + events:subscribe.data boş / name kırpılır.POST {webhookUrl}
Content-Type: application/json
X-Restomenum-Signature: t=<unixSec>,v1=<HMAC_SHA256(webhookSecret, "<t>.<rawBody>")>
X-Restomenum-Event: user.created | user.updated | user.deleted
X-Restomenum-Delivery: <deliveryId>"<t>.<rawBody>"), ±5 dk replay — bkz. imza şeması.X-Restomenum-Event: <type>, X-Restomenum-Delivery: <id>.id tekildir (at-least-once → dedup, 200 dön).2xx → işlendi. 5xx/timeout → retry → dead-letter.Tenant PII consent verdiyse name döner:
{
"id": "evt_<uuid>",
"type": "user.created",
"version": "1",
"tenantId": "<tenantId>",
"occurredAt": 1781000000000,
"data": { "id": "lZz6BqN46Og4HKrhjf6eflOgWnA2", "name": "Test User" }
}// PII consent YOKSA → name kırpılır
"data": { "id": "lZz6BqN46Og4HKrhjf6eflOgWnA2" }
// users:read scope YOKSA → data boş
"data": {}user.updated güncel personeli; user.deleted silinen personelin {id, name}'ini taşır — yalnız type farklı.
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| id | string | ✓ | Personel uid'si (her zaman) — hook/action actor.userId ve users/get id'si ile aynı. |
| name | string | – | Personel adı — yalnız PII consent verildiyse. |
pincode (POS kredisi), authority (iç yetki), email, mesai (isbasi/issonu/gunler), storages ASLA dönmez — yalnız { id, name }.name çalışan PII'si → users:read + consent ile; aksi halde kırpılır.data yalnız users:read onaylıysa dolu.user.deleted tüm silme yollarını yakalar (admin/sistem hesapları gönderilmez). id = hook/action actor.userId → etkileşimi yapan kullanıcıyı personel kaydıyla eşle. Tam liste için users/get (snapshot) + bu event'ler (delta).