فاحص تسليم رسائل SMS

بمساعدة الخادم جديد اختبار واجهات API

وجّه webhook الرسائل الواردة لرقمك الخاص إلى عنوان التقاط، أرسل رسالة إلى نفسك، وافحص التسليم الذي قام به مزوّدك فعلاً: الحمولة بعد تحليلها، والترويسات (تظهر ترويسات بيانات الاعتماد بالقيمة [redacted])، ونظام التوقيع المستخدم، وأمر curl قابل لإعادة التشغيل. صُمّم لتصحيح تكاملك أنت حين تصل الرسالة إلى المشغّل ولا تبلغ معالجك.

الخصوصية: تُحفظ الطلبات الملتقطة على خوادم متقن لمدة ساعتين ثم تُحذف، مع أن عنوان الالتقاط نفسه يبقى صالحاً ٢٤ ساعة. لا يُنشأ لك أي صندوق بريد أو عنوان بريدي. ولا تُخزَّن بيانات الاعتماد مثل ترويسات Authorization أبداً. لا توجّه إليه حركة إنتاجية تحتوي بيانات شخصية.
جارٍ تحميل الأداة…

ما هو الـ webhook؟

الـ webhook طلب HTTP ترسله خدمة ما إلى عنوان تسجّله عندما يحدث شيء — تسوية دفعة، أو تسليم رسالة، أو انتهاء بناء — فيتفاعل نظامك مع الأحداث بدلاً من الاستطلاع المتكرر. اختباره يعني التقاط ما يُرسَل فعلياً (الأسلوب والترويسات والجسم)، وفحص إعادة المحاولة والترتيب، والتحقق من التوقيع الذي يثبت أن النداء جاء من المرسِل.

ملاحظة أمنية: نقطة نهاية الـ webhook عنوان عام يمكن لأي شخص الإرسال إليه. تحقق من توقيع المرسِل (عادةً HMAC على الجسم الخام) بمقارنة ثابتة الزمن، وارفض الطوابع الزمنية القديمة، وتعامل مع الحمولة كمدخل غير موثوق.

اقرأ الدليل: ما هو اختبار API؟ وكيف تختبر REST API

كيفية استخدام فاحص تسليم رسائل SMS

  1. اضغط «إنشاء رابط التقاط» وانسخ العنوان الذي يظهر.
  2. في لوحة مزوّدك، اضبط ذلك العنوان كـ webhook الرسائل الواردة لرقم تملكه.
  3. أرسل رسالة نصية إلى رقمك أنت.
  4. يظهر التسليم هنا — افتحه لفحص الحمولة والترويسات والتوقيع.
  5. قارنه بما استقبله معالجك لتكتشف أين يفترق الاثنان.
رسالتك تذهب إلى رقمك أنت لدى مزوّدك؛ ولا يصل إلى عنوان الالتقاط إلا استدعاء HTTP الذي يرسله المزوّد، وهو ما تعرضه لك هذه الصفحة.
  • أنت رقم تملكه
  • مزوّد SMS لديك مثل Twilio
  • خدمة الالتقاط عنوان الالتقاط
  • هذه الصفحة
  1. 1 من هذه الصفحة إلى خدمة الالتقاط: إنشاء رابط التقاط
  2. 2 من خدمة الالتقاط إلى هذه الصفحة: عنوان الالتقاط لتنسخه ردّ https://www.mutqansoft.sa/hooks/AbC123xYz
  3. 3 من أنت إلى مزوّد SMS لديك: اضبطه كـ webhook الرسائل الواردة لرقمك في Twilio: الخيار A message comes in
  4. 4 من أنت إلى مزوّد SMS لديك: أرسل رسالة نصية إلى رقمك أنت
  5. 5 من مزوّد SMS لديك إلى خدمة الالتقاط: يرسل الرسالة الواردة بطلب POST مُرمَّزة كنموذج لا JSON، مع X-Twilio-Signature From=%2B966500000000&Body=test&MessageSid=SM…
  6. 6 من هذه الصفحة إلى خدمة الالتقاط: تستعلم عن عمليات التسليم الجديدة
  7. 7 من خدمة الالتقاط إلى هذه الصفحة: يظهر التسليم هنا ردّ الحمولة والترويسات والتوقيع، لتقارنها بما استقبله معالجك

النتيجة: لا يُخصَّص أي رقم ولا تُستقبل أي رسالة نيابةً عنك.

يُحذف كل تسليم ملتقط بعد ساعتين من وصوله، ويبقى عنوان الالتقاط صالحاً 24 ساعة.

مزايا فاحص تسليم رسائل SMS

  • عنوان التقاط تلصقه مباشرةً في حقل webhook الرسائل الواردة لدى مزوّدك
  • عرض كامل للطلب: الحمولة بعد التحليل، والترويسات (تظهر ترويسات بيانات الاعتماد بالقيمة [redacted] وتبقى ترويسات التوقيع كما هي)، وسلسلة الاستعلام، والطريقة، والحجم بالبايت
  • تحليل الحمولات المُرمَّزة كنموذج وبصيغة JSON معاً، فتُقرأ حمولات Twilio وحمولات JSON بوضوح
  • إظهار ترويسات التوقيع وتحديد النظام المستخدم لتعرف ما ينبغي لكودك التحقق منه
  • أمر curl قابل لإعادة التشغيل لنفس التسليم، لتجربته على نقطتك الخاصة
  • لا يُخصَّص أي رقم ولا تُستقبل أي رسالة نيابةً عنك — الأداة تفحص استدعاء مزوّدك أنت

مثال على فاحص تسليم رسائل SMS

معرفة سبب عدم وصول رسالة واردة إلى المعالج

الإدخال:

webhook المزوّد ← https://www.mutqansoft.sa/hooks/AbC123xYz
أرسل رسالة SMS إلى رقمك

النتيجة:

POST /  application/x-www-form-urlencoded  ٤١٢ بايت
X-Twilio-Signature: q1VZ…
الحمولة: From=%2B966500000000&Body=test&MessageSid=SM…
← مُرمَّزة كنموذج لا JSON — ومعالج يتوقع JSON سيقرؤها فارغة

الأسئلة الشائعة حول فاحص تسليم رسائل SMS

هل تمنحني الأداة رقم هاتف؟

لا، وهذا مقصود. تفحص الأداة webhook الذي يرسله مزوّدك أنت لرقم تتحكم فيه بالفعل. ولا تُخصِّص رقماً ولا تستقبل رسالة نيابةً عن أحد.

كيف أوجّه مزوّدي إليها؟

أنشئ عنوان التقاط هنا، ثم الصقه في حقل webhook الرسائل الواردة لرقمك في لوحة مزوّدك — «A message comes in» في Twilio، واستدعاء الوارد في Vonage، وما يقابلهما لدى غيرهما. أرسل رسالة إلى نفسك فيظهر التسليم هنا.

أي المزوّدين تفهمهم الأداة؟

تُعرض الحمولة والترويسات لأي مُرسِل. وتُتعرَّف أنظمة التوقيع للمزوّدين الشائعين ومنهم Twilio، وتُعرض الترويسة الخام دائماً لتتحقق يدوياً عند الحاجة.

لماذا لم تصل رسالتي إلى نقطتي الخاصة؟

الأسباب المعتادة ظاهرة هنا: استجابة غير 2xx من معالجك، أو توقيع يرفضه كودك، أو حمولة مُرمَّزة كنموذج جرى تحليلها كـ JSON، أو عنوان لا يستطيع المزوّد الوصول إليه. قارن ما يصل إلى عنوان الالتقاط بما استقبله معالجك.

كم تُحفظ الطلبات الملتقطة؟

ساعتان. يبقى عنوان الالتقاط نفسه صالحاً ٢٤ ساعة حتى يستمر عمل الـ webhook الذي ضبطته لدى مزوّدك، لكن كل تسليم يلتقطه — وهو في حالة رسالة SMS واردة يحتوي رقم هاتف وغالباً رمز تحقق — يُحذف بعد ساعتين من وصوله. لا توجّه إليه حركة إنتاجية تحتوي بيانات شخصية.

ملاحظات تقنية

لا تملك هذه الأداة أي تكامل مع مزوّد، وذلك عن قصد. فهي لا تُخصِّص رقم هاتف ولا تحتفظ باعتماد مزوّد ولا تستقبل رسالة لأحد: إنما تلتقط استدعاء HTTP الذي يقوم به مزوّدك أنت لرقم تتحكم فيه أصلاً. وهذا يُبقيها أداة لتصحيح تكاملك لا وسيلة لاستقبال الرسائل بشكل مجهول.

يُحذف الطلب الملتقط بعد ساعتين من وصوله، ويُحتفظ بعدد محدود منها لكل عنوان. ويبقى العنوان نفسه أطول — 24 ساعة — حتى يستمر عمل الـ webhook الذي ضبطته لدى مزوّدك، أما الحمولات فلا، لأن جسم رسالة SMS واردة يحمل رقم هاتف وغالباً رمز تحقق ساري. ولأن كل ما يُرسل إلى عنوان الالتقاط يمكن لحامله قراءته، لا ينبغي توجيه حركة إنتاجية تحمل بيانات شخصية إليه.

المراجع

  • RFC 9421: HTTP Message SignaturesIETF · 2024طريقة قياسية لتوقيع رسائل HTTP بحيث يتحقق المستلم من مصدرها وسلامتها — أساس توقيعات webhook الحديثة.
  • RFC 2104: HMAC: Keyed-Hashing for Message AuthenticationIETF · 1997بناء HMAC: كيف يُنتج مفتاح سري ودالة تجزئة رمز مصادقة للرسالة.
  • OWASP Cheat Sheet Series: REST SecurityOWASP Foundationالقواعد الأمنية لواجهات REST: HTTPS، والتوثيق في كل طلب، والتحقق من المدخلات، واستجابات الخطأ الآمنة، وتحديد المعدل.
  • RFC 5322: Internet Message FormatIETF · 2008صياغة رسائل البريد الإلكتروني وعناوينه (local-part@domain) التي تُقاس المدقّقات وفقها.