ما هو Webhook؟
يتيح لك Webhook أن تُبلَّغ عند حدوث إجراءات نظام معينة عبر استدعاء لعنوان URL توفره أنت. تُعرف webhooks أيضًا باسم “URL Callbacks” أو “HTTP push calls”. يجب أن يستخدم عنوان URL الخاص بك SSL وأن يبدأ بـ HTTPS.Webhook Actions
اطلع على الإجراءات المتاحة لـ webhooks.
فهم Webhooks في Ayrshare
يتم تصنيف webhooks حسب الإجراء المحدد و_تُسجَّل على مستوى Primary Profile أو User Profile_. تُرسل أي تحديثات لـ Primary أو User Profiles أولاً إلى Webhook المُسجَّل لـ User Profile. إذا لم يكن لدى User Profile Webhook مُسجَّل، فسيتم إرسال التحديث إلى Webhook المُسجَّل لـ Primary Profile. على سبيل المثال:- إذا كان لدى User Profile Social Action Webhook مُسجَّل وقام بإلغاء ربط TikTok، فسيتم استدعاء عنوان URL الخاص بـ Social Action Webhook المُسجَّل لـ User Profile. لن يتم استدعاء webhook الخاص بـ Primary Profile.
- إذا قام User Profile بإلغاء ربط TikTok و_لم_ يكن لديه Social Action Webhook مُسجَّل، ولكن Primary Profile يمتلك Webhook مُسجَّلًا، فسيتم استدعاء عنوان URL الخاص بـ Social Action Webhook المُسجَّل لـ Primary Profile.
تسجيل Webhook
قم بتسجيل Webhook من خلال توفير عنوان URL لنقطة نهاية ونوع الإجراء لنقطة النهاية POST/hook/webhook. عندما يحدث الإجراء، سيتم إرسال رسالة HTTP POST إلى عنوان URL المُقدَّم.
مثال: تسجيل عنوان URL للحصول على إشعار بحالة منشور مجدول.
يجب ألا يستخدم عنوان URL لنقطة نهاية Webhook إعادة توجيه ويجب أن يكون عنوان URL الوجهة النهائي.
إذا قمت بتسجيل webhook لـ Primary Profile فقط، فستقوم User Profiles تلقائيًا بوراثة webhook الخاص بـ Primary Profile.
للحصول على webhook فريد لكل User Profile، يجب عليك تسجيل webhook لكل User Profile.
بعد أن يستقبل Webhook الخاص بك
HTTP POST، يجب أن يستجيب خادمك
بحالة HTTP 200 لوضع علامة على المكالمة كناجحة. إذا لم يستجب خادمك
خلال 10 ثوانٍ، فسيتم تسجيل استجابة 503.إعادة محاولات Webhook
إذا لم تكن استجابة HTTP من خادمك في نطاق النجاح200-299، فسيقوم النظام تلقائيًا بإعادة محاولة استدعاء Webhook مرتين إضافيتين. ستحدث المحاولة الأولى بعد 5 ثوانٍ وستحدث المحاولة الثانية بعد 30 ثانية. ستحمل المحاولات المُعادة نفس hookId وستُعلَّم كمحاولات معادة.
أمان Webhook
يمكنك اختيار إضافة أمان إضافي عن طريق تعيين مصادقة HMAC كطلب HTTP. يتم ذلك غالبًا لمنع هجمات replay. تستخدم Ayrshare HMAC-SHA256 لتجزئة نص الرسالة وتتضمنها والطابع الزمني UNIX في رأس POST.X-Authorization-Content-SHA256 مع HMAC-SHA256 لنص POST. المفتاح السري للتوقيع يعمل على مستوى الملف الشخصي — مفتاح سري واحد لكل User Profile، يُستخدم عبر جميع إجراءات webhook الخاصة بذلك الملف الشخصي، لذا فإن تعيينه لإجراء واحد يغيّره لجميع الإجراءات على هذا الملف الشخصي. تدير الحسابات متعددة الملفات الشخصية مفتاحًا سريًا منفصلًا لكل ملف شخصي (استهدف ملفًا شخصيًا باستخدام ترويسة Profile-Key).
تحمل ترويسة X-Authorization-Content-SHA256-V2 نفس التوقيع كقيمة مسبوقة بـ v1= (تشير v1= إلى مخطط HMAC-SHA256). عندما تدوّر مفتاحك السري للتوقيع، تُدرج هذه الترويسة كلا التوقيعين الحالي والسابق (v1=<current-sig>,v1=<previous-sig>) لنافذة سماح مدتها 24 ساعة، حتى تتمكن من تدوير مفتاحك السري دون إسقاط أو رفض أي تسليم. يجب على المستقبل أن يقبل التسليم إذا تطابق HMAC المحسوب لديه مع أي توقيع v1= مُدرج. راجع تدوير المفتاح السري للتوقيع للاطلاع على الإجراء الكامل ومثال على التحقق.
