> ## Documentation Index
> Fetch the complete documentation index at: https://docs.architonx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# تكوين الـ webhooks

> سجّل نقطة نهاية webhook، واختر الأحداث المراد الاشتراك فيها، ووقّع الحمولات وتحقق منها، واختبر التسليم وعمليات إعادة المحاولة في Integrations.

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

## الخطوات

<Steps>
  <Step title="إنشاء عنوان URL لنقطة النهاية الخاصة بك">
    يجب أن تكون نقطة النهاية الخاصة بك عنوان URL لـ HTTPS يمكن الوصول إليه بشكل عام ويعيد رمز حالة `2xx` خلال 10 ثوانٍ من استلام الطلب. إذا كان خادمك يستغرق وقتًا أطول للمعالجة، فقم بالإقرار باستلام الـ webhook فورًا وتعامل مع المعالجة بشكل غير متزامن.

    توفر معظم أطر عمل مستقبل الـ webhook (على سبيل المثال، ngrok للاختبار المحلي، أو دوال السحابة للإنتاج) عناوين URL لـ HTTPS تلقائيًا.
  </Step>

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

  <Step title="حدد الأحداث">
    بعد إنشاء نقطة النهاية، افتحها وانقر على **Add events**. اختر أنواع الأحداث التي تريد أن تستقبلها نقطة النهاية هذه. يمكنك الاشتراك في جميع الأحداث أو تحديد أنواع فردية.

    تتوفر القائمة الكاملة لأنواع الأحداث ومخططات الحمولة في واجهة تكوين نقطة النهاية.
  </Step>

  <Step title="التحقق من رأس التوقيع">
    يتضمن كل طلب webhook رأس `X-Signature-256` يحتوي على توقيع HMAC-SHA256 لجسم الطلب، موقع بالمفتاح السري لنقطة النهاية الخاصة بك.

    تحقق من هذا الرأس في المستقبل الخاص بك قبل معالجة الحمولة:

    ```python theme={null}
    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)
    ```

    يتم عرض سر نقطة النهاية الخاصة بك مرة واحدة عند الإنشاء — احفظه بشكل آمن.
  </Step>

  <Step title="اختبر بحمولة عينة">
    من صفحة تفاصيل نقطة النهاية، انقر على **Send test event**. حدد نوع حدث وانقر على **Send**. تقوم المنصة بتسليم حمولة عينة إلى نقطة النهاية الخاصة بك وتعرض حالة الاستجابة والجسم في سجل الاختبار.
  </Step>
</Steps>

<Warning>
  لا تكشف عن سر نقطة النهاية الخاصة بك في الكود من جانب العميل أو المستودعات العامة. قم بتدويره فورًا إذا تم اختراقه — انتقل إلى **Integrations → Webhooks → \[Endpoint] → Rotate secret**.
</Warning>
