Skip to main content
يتضمن كل طلب Webhook من RNTOR ترويسات يمكنك استخدامها للتحقق من الطلب.
  • svix-id: المعرّف الفريد لرسالة Webhook. يكون فريدًا بين الرسائل، لكنه يظل نفسه عند إعادة إرسال الرسالة ذاتها، مثل إعادة الإرسال بعد فشل سابق.
  • svix-timestamp: الطابع الزمني بالثواني منذ Epoch.
  • svix-signature: قائمة توقيعات مشفّرة بصيغة Base64 ومفصولة بمسافات.
تُستخدم أسرار توقيع Webhook للتحقق من صحة البيانات التي يرسلها RNTOR إلى تطبيقك. يمكنك العثور على سر التوقيع في صفحة إدارة Webhooks. هناك طريقتان للتحقق من طلبات Webhook:

1. استخدام مكتبة Svix

ثبّت أولًا مكتبة Svix للغة التي تستخدمها، ثم استخدم الكود التالي للتحقق من الطلب، والمثال هنا بلغة JavaScript:
يجب أن تكون payload هي نص جسم الطلب الخام، وأن تكون الترويسات هي نفسها المرسلة مع الطلب.

2. التحقق من التوقيع يدويًا

إنشاء المحتوى الموقّع

أنشئ المحتوى الموقّع بضم المعرّف والطابع الزمني والحمولة، مع الفصل بينها بنقطة (.):

تحديد التوقيع المتوقع

يستخدم RNTOR خوارزمية HMAC مع SHA-256 لتوقيع Webhooks. احسب التوقيع المتوقع باستخدام signedContent والجزء المشفّر بصيغة Base64 من سر التوقيع، أي الجزء الذي يلي whsec_. على سبيل المثال، عند استخدام السر whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw، استخدم MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw كمفتاح.
يجب أن يطابق التوقيع الناتج أحد التوقيعات المرسلة في ترويسة svix-signature. تحتوي الترويسة على قائمة توقيعات مفصولة بمسافات مع معرّفات إصداراتها. غالبًا تحتوي القائمة على توقيع واحد، لكنها قد تحتوي على أي عدد من التوقيعات.