Yetkazish & callback
Xabar queue’ga qo’yiladi, dispatcher provider’ga yuboradi, provider callback (webhook) orqali
yetkazish holatini qaytaradi. Har urinish notification_delivery_attempts da, har callback
notification_callbacks da qayd etiladi.
Status lifecycle
heading.anchorLabelpending → queued → sending → sent → delivered → opened │ │ ├→ scheduled (kelajak) └→ failed / bounced └→ cancelled| Status | Ma’no |
|---|---|
pending |
Queue’da, dispatcher oladi |
scheduled |
scheduled_at kelguncha kutadi |
queued / sending |
Provider’ga yuborilmoqda |
sent |
Provider qabul qildi (ack) |
delivered |
Recipient qabul qildi (callback) |
opened |
Email/push ochildi |
failed |
Barcha retry tugadi (DLQ) |
bounced |
Email/SMS bounce (invalid manzil) |
cancelled |
Bekor qilindi |
Retry va idempotency
heading.anchorLabel- Retry — muvaffaqiyatsizlikda kvadratik backoff (30s, 120s, 270s…).
max_retriestugagachfailed. - Idempotency —
idempotency_keybir xil xabarni takror yubormaydi. - Webhook —
POST /webhooks/{provider};provider_message_idorqali xabar topiladi va status yangilanadi.