Skip to main content

ما هو 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.
يمكنك أيضًا تسجيل webhooks في Developer Dashboard.

إعادة محاولات Webhook

إذا لم تكن استجابة HTTP من خادمك في نطاق النجاح 200-299، فسيقوم النظام تلقائيًا بإعادة محاولة استدعاء Webhook مرتين إضافيتين. ستحدث المحاولة الأولى بعد 5 ثوانٍ وستحدث المحاولة الثانية بعد 30 ثانية. ستحمل المحاولات المُعادة نفس hookId وستُعلَّم كمحاولات معادة.

أمان Webhook

يمكنك اختيار إضافة أمان إضافي عن طريق تعيين مصادقة HMAC كطلب HTTP. يتم ذلك غالبًا لمنع هجمات replay. تستخدم Ayrshare HMAC-SHA256 لتجزئة نص الرسالة وتتضمنها والطابع الزمني UNIX في رأس POST.
استنادًا إلى مفتاح سري تم تعيينه عند تسجيل webhook الخاص بك، يمكنك التحقق من صحة 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= مُدرج. راجع تدوير المفتاح السري للتوقيع للاطلاع على الإجراء الكامل ومثال على التحقق.

سجلات Webhook

في Ayrshare Dashboard، يمكنك عرض webhooks النشطة، والاطلاع على تفاصيل Webhook المُرسَل، وحالة استجابة خادمك، وإعادة إرسال Webhook إلى عنوان URL المُسجَّل. قم بالتبديل إلى User Profile معين لعرض سجلات Webhook الخاصة بهذا الملف.

رموز استجابة HTTP

يشير العمود الأول إلى استجابة HTTP ناجحة ✔️ (200, 300) من Webhook أو استجابة فاشلة ✖️ (400, 500). قم بالتبديل إلى user profile معين لعرض سجلات Webhook الخاصة بهذا الملف.

معدل الخطأ

يمكن عرض “Error Rate” لآخر 1,000 منشور في كل من صفحتي Actions و Webhook Logs داخل لوحة التحكم. تعتبر أي استجابة webhook من خادمك في نطاق 400-500 خطأً.