Webhook سازوکاری است که یک سرویس هنگام وقوع رویداد مشخص، درخواست HTTP به نشانی ثبت‌شده توسط سیستم دیگر می‌فرستد. به‌جای بررسی مداوم وضعیت، سیستم گیرنده رویداد را دریافت می‌کند.

نحوه استفاده در عمل

درگاه پرداخت می‌تواند پس از تغییر وضعیت تراکنش، Webhook به برنامه فروشگاه بفرستد تا سفارش به‌روزرسانی شود.

امضای درخواست را بررسی کنید، پیام‌های تکراری را Idempotent پردازش کنید و برای خطا و Retry برنامه داشته باشید.

ساختار پیام رویداد وب‌هوک

POST /webhooks/payment HTTP/1.1
Content-Type: application/json
X-Event-Id: evt_123

{"type":"payment.succeeded","order_id":42}

وب‌هوک ممکن است تکراری یا خارج از ترتیب برسد. امضای درخواست را طبق مستندات ارائه‌دهنده بررسی کنید، شناسه رویداد را ثبت و پردازش را آیدمپوتنت طراحی کنید.