الأحداث
أسماء أحداث خطافات الويب، ومغلِّف التسليم، والتحقّق من التوقيع.
سجّل نقطة وصول من خطافات الويب
فيرسل إليها فيديوهاتي طلب POST في كل مرّة يقع فيها أحد أحداث النسخة الأولية.
أنت تستقبل عمليات التسليم هذه — ولا تستدعي نقطة التسليم بنفسك أبدًا. للإعداد
الكامل من أوّله لآخره — تسجيل نقطة وصول، والتحقّق من التوقيعات، ومعالجة إعادات
المحاولة في خادمك — راجع دليل Webhooks.
أسماء الأحداث
| الحدث | يقع عند |
|---|---|
video.upload.completed | اكتمال رفع مُجزّأ ووصول الكائن المصدر إلى التخزين. |
video.encoding.ready | اكتمال الترميز؛ يمكن تشغيل الفيديو. |
video.encoding.failed | فشل ترميز الفيديو. |
video.deleted | حذف فيديو حذفًا ناعمًا. |
playback.started | بدء تشغيل جلسة بثّ. |
playback.completed | بلوغ جلسة بثّ نهاية الفيديو. |
payment.succeeded | نجاح دفعة للحساب. |
payment.failed | فشل دفعة للحساب. |
المغلِّف
جسم كل تسليم كائن JSON بهذا الشكل:
{
"id": "01JZ9WV3N8GQ5T2M7K4C6XBARM",
"type": "video.encoding.ready",
"created_at": "2026-06-11T11:00:00.000Z",
"project_id": "01JZ9WV3N8GQ5T2M7K4C6XBARF",
"data": {
"videoId": "01JZ9WV3N8GQ5T2M7K4C6XBARH"
}
}id— مُعرّف ULID لهذا الحدث. استخدمه لإزالة تكرار إعادات المحاولة.type— أحد أسماء الأحداث أعلاه.created_at— طابع زمني بصيغة ISO-8601.project_id— المشروع الذي ينتمي إليه الحدث.data— حمولة خاصّة بالحدث.
التحقّق من التوقيع
يحمل كل تسليم الترويسة:
Videohati-Signature: t=<unix_ts>,v1=<hex_sha256>يغطّي HMAC-SHA256 السلسلة <unix_ts>.<raw_body> باستخدام سرّ التوقيع الخاصّ
بنقطة الوصول (يُعاد مرّة واحدة عند التسجيل أو التدوير). للتحقّق:
- اقرأ
tوv1من الترويسة. - ارفض إن كان
tقديمًا جدًّا (سماحية خمس دقائق تُبعد إعادات التشغيل). - احسب
HMAC_SHA256(secret, t + "." + rawBody)بصيغة hex بأحرف صغيرة. - قارن بـ
v1بمقارنة ثابتة الزمن.
تشحن حِزم التطوير الرسمية مساعِد webhooks.verify ينفّذ الخطوات الأربع كلها. تحقّق
دائمًا من جسم الطلب الخام — لا من كائن أُعيدت تهيئته.
الإقرار بالتسليم
أعِد أي رمز 2xx خلال 10 ثوانٍ للإقرار. تُعاد محاولة الاستجابات غير 2xx (أو
حالات انتهاء المهلة) وفق جدول التسليم.