الانتقال إلى المحتوى الرئيسي
تقوم الـ webhooks بتسليم طلبات HTTP POST إلى عنوان URL تتحكم فيه كلما حدث حدث محدد في مساحة العمل الخاصة بك. يرشدك هذا الدليل خلال إعداد نقطة نهاية webhook جديدة من البداية إلى النهاية.

الخطوات

1

إنشاء عنوان URL لنقطة النهاية الخاصة بك

يجب أن تكون نقطة النهاية الخاصة بك عنوان URL لـ HTTPS يمكن الوصول إليه بشكل عام ويعيد رمز حالة 2xx خلال 10 ثوانٍ من استلام الطلب. إذا كان خادمك يستغرق وقتًا أطول للمعالجة، فقم بالإقرار باستلام الـ webhook فورًا وتعامل مع المعالجة بشكل غير متزامن.توفر معظم أطر عمل مستقبل الـ webhook (على سبيل المثال، ngrok للاختبار المحلي، أو دوال السحابة للإنتاج) عناوين URL لـ HTTPS تلقائيًا.
2

تسجيل نقطة النهاية

  1. انتقل إلى Integrations → Webhooks → Add endpoint.
  2. أدخل عنوان URL لـ HTTPS الخاص بك.
  3. أضف وصفًا اختياريًا لتذكير نفسك بالغرض من نقطة النهاية هذه.
  4. انقر على Create.
3

حدد الأحداث

بعد إنشاء نقطة النهاية، افتحها وانقر على Add events. اختر أنواع الأحداث التي تريد أن تستقبلها نقطة النهاية هذه. يمكنك الاشتراك في جميع الأحداث أو تحديد أنواع فردية.تتوفر القائمة الكاملة لأنواع الأحداث ومخططات الحمولة في واجهة تكوين نقطة النهاية.
4

التحقق من رأس التوقيع

يتضمن كل طلب webhook رأس X-Signature-256 يحتوي على توقيع HMAC-SHA256 لجسم الطلب، موقع بالمفتاح السري لنقطة النهاية الخاصة بك.تحقق من هذا الرأس في المستقبل الخاص بك قبل معالجة الحمولة:
import hmac
import hashlib

def verify_signature(payload_body, secret, signature_header):
    expected = hmac.new(
        secret.encode(),
        payload_body,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature_header)
يتم عرض سر نقطة النهاية الخاصة بك مرة واحدة عند الإنشاء — احفظه بشكل آمن.
5

اختبر بحمولة عينة

من صفحة تفاصيل نقطة النهاية، انقر على Send test event. حدد نوع حدث وانقر على Send. تقوم المنصة بتسليم حمولة عينة إلى نقطة النهاية الخاصة بك وتعرض حالة الاستجابة والجسم في سجل الاختبار.
لا تكشف عن سر نقطة النهاية الخاصة بك في الكود من جانب العميل أو المستودعات العامة. قم بتدويره فورًا إذا تم اختراقه — انتقل إلى Integrations → Webhooks → [Endpoint] → Rotate secret.