وب‌هوک‌ها

به‌جای polling، یک webhook ثبت کنید تا هنگام پایان کار به شما اطلاع داده شود.

ثبت

POST /v1/webhooks را با url و events (زیرمجموعه‌ای از job.completed و job.failed) فراخوانی کنید. کلید امضا (secret) فقط یک‌بار برگردانده می‌شود — آن را ذخیره کنید.

curl -X POST https://api.anahid.example/v1/webhooks \
-H 'Authorization: Bearer sk_live_...' \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com/hook","events":["job.completed","job.failed"]}'

اعتبارسنجی تحویل‌ها

هر تحویل یک POST به نشانی شماست با هدرهای X-Event و X-Signature: sha256=<hmac-sha256(secret, raw_body)>. مقدار HMAC را روی بدنهٔ خام درخواست دوباره محاسبه کنید و پیش از اعتماد به محتوا، به‌صورت زمان‌ثابت مقایسه کنید.

همیشه X-Signature را بررسی کنید. اگر با HMAC بدنهٔ خام و کلید ذخیره‌شدهٔ شما برابر نبود، درخواست را رد کنید.

بازبینی و تست

  • GET /v1/webhooks/{id}/deliveries — تلاش‌های اخیر (وضعیت، شماره، تلاش مجدد).
  • POST /v1/webhooks/{id}/test — ارسال یک رویداد test همین حالا.
  • DELETE /v1/webhooks/{id} — حذف webhook.