BroadNet
الوثائق·/troubleshooting-egypt-delivery

لماذا تفشل رسائلي النصية القصيرة في مصر؟.

تفشل رسائل SMS إلى مصر في أغلب الأحيان لثلاثة أسباب: عدم تسجيل معرّف المُرسِل، أو تنسيق الرقم بشكل خاطئ، أو إرسال النص العربي بترميز خاطئ. تشترط الهيئة الوطنية لتنظيم الاتصالات في مصر (NTRA) تسجيل معرّفات مُرسِلي الرسائل النصية من التطبيقات إلى الأشخاص (A2P) مسبقًا عبر قناة محلية مرخصة، حيث يتم حظر المُرسِلين غير المُسجّلين أو استبدال معرّفاتهم. سجّل معرّف المُرسِل، وأرسل الأرقام على شكل 20XXXXXXXXXX بدون علامة + أو 00، واستخدم النوع 4 للرسائل العربية.

قراءة لمدة 5 دقائق·تم التحديث في مايو 2026مركز المطورين

Overview

تفشل رسائل SMS إلى مصر في أغلب الأحيان لثلاثة أسباب: عدم تسجيل معرّف المُرسِل، أو تنسيق الرقم بشكل خاطئ، أو إرسال النص العربي بترميز خاطئ. تشترط الهيئة الوطنية لتنظيم الاتصالات في مصر (NTRA) تسجيل معرّفات مُرسِلي الرسائل النصية من التطبيقات إلى الأشخاص (A2P) مسبقًا عبر قناة محلية مرخصة، حيث يتم حظر المُرسِلين غير المُسجّلين أو استبدال معرّفاتهم. سجّل معرّف المُرسِل، وأرسل الأرقام على شكل 20XXXXXXXXXX بدون علامة + أو 00، واستخدم النوع 4 للرسائل العربية.

لم يتم تسجيل معرّف المُرسِل (السبب المعتاد)

لا تُقدّم مصر سوى حركة رسائل A2P عبر مسارات مرخصة ومعتمدة من الهيئة الوطنية لتنظيم الاتصالات، ويجب تسجيل كل معرّف مُرسِل أبجدي رقمي مُسبقًا. في حال إرسال معرّف مُرسِل غير مُسجّل، ستُعيد البوابة رمز HTTP06 (معرّف مُرسِل غير صالح)، أو سيتم قبول الرسالة ولكن سيتم حظرها/استبدالها في المراحل اللاحقة، وبالتالي لن تصل أبدًا باسم علامتك التجارية. سجّل معرّف المُرسِل لدى BroadNet قبل الإرسال، ومرّره في مُعامل sid كما هو مُعتمد تمامًا. أسماء المعاملات (sid وmno وtype) ورموز الأخطاء HTTPxx في هذه الصفحة خاصة بواجهة HTTP القديمة (/websmpp)؛ أما في واجهة REST API المعتمدة على Bearer (POST /sms/sendSms) فالمقابلات هي senderId وdestinationNumber وmessageType (القيمة UNICODE للعربية).

  • لا تعمل خدمة A2P المصرية إلا على الطرق المرخصة من قبل الهيئة الوطنية لتنظيم الاتصالات.
  • معرّف المُرسِل غير المسجل ← HTTP06 أو حظر صامت في مراحل لاحقة من المسار.
  • سجّل معرّف المُرسِل أولاً؛ ثم اضبط sid على القيمة المعتمدة.
  • تحقق من الرمز المُعاد — يشير HTTP06 مباشرةً إلى معرّف المُرسِل.

تنسيق رقم خاطئ

يجب أن تكون أرقام الوجهة في mno بالصيغة الدولية الكاملة، أرقامًا فقط: رمز الدولة 20 لمصر متبوعًا بالرقم الوطني، بدون علامة + أو 00 أو صفر في بداية الرقم الوطني. سيتم رفض أي رقم غير صحيح أو غير قابل للتوجيه مع رمز HTTP09 (عنوان وجهة غير صالح). يرجى تصحيح البيانات قبل الإرسال.

  • التنسيق: 20 + الرقم الوطني، أرقام فقط (على سبيل المثال 201001234567).
  • احذف علامة + و00 والمسافات والصفر البادئ من الرقم الوطني.
  • الأرقام غير الصحيحة تُرجع HTTP09 (عنوان وجهة غير صالح).
  • يقبل طلب GET ما يصل إلى 100 مستلم، بينما يقبل طلب POST ما يصل إلى 10000.

إرسال النص العربي بترميز خاطئ

يجب إرسال الرسائل العربية بالنوع الصحيح. استخدم النوع 4 للرسائل العربية (حتى 70 حرفًا لكل مقطع) أو النوع 2 للترميز العام Unicode/UCS-2؛ إرسال الرسائل العربية بالنوع 1 (الإنجليزية GSM-7) يُشوّه النص إلى علامات استفهام أو رموز غير مفهومة. أرسل نص الرسالة مُرمّزًا بترميز UTF-8 ومُرمّزًا بترميز URL، وتذكّر أن مقاطع UCS-2/العربية تتكون من 70 حرفًا، لذا تُقسّم الرسائل الطويلة إلى أجزاء أكثر (قابلة للفوترة).

  • العربية: type=4 (70 حرفًا/مقطع)؛ Unicode عام: type=2.
  • type=1 (GSM-7) يُشوّه النص العربي.
  • أرسل النص بترميز UTF-8 وبترميز URL.
  • مقاطع مكونة من 70 حرفًا - الرسائل العربية الطويلة تكلف أجزاءً أكثر.

تأكد من خلال إيصال التسليم

قد تفشل على الشبكة رسالةٌ قُبلت عند الإرسال. هيّئ خطاف ويب (webhook) لتقارير DLR (أو اسحب الحالة عبر واجهة HTTP القديمة من /websmpp/websmsstatus) واقرأ الحالة: DELIVRD تعني وصول الرسالة إلى الهاتف، وUNDELIV تعني عدم وصولها. طابق التقارير حسب MessageId أو BatchId، وتحقق من HTTP18 (رصيد غير كافٍ) إذا توقفت دفعة كاملة.

  • القبول لا يعني التسليم — تحقق دائمًا من إيصال التسليم (DLR).
  • الحالة DELIVRD مقابل UNDELIV؛ طابِق حسب MessageId / BatchId.
  • اسحب الحالة عند الطلب (واجهة HTTP القديمة: /websmpp/websmsstatus).
  • قد يكون سبب توقف عملية الدفعة هو HTTP18 - رصيد غير كافٍ.
وصول تجريبي · نرد خلال يوم عمل واحد

اطلب وصولاً تجريبياً وابنِ بثقة.

سنرد عليك خلال يوم عمل واحد ببيانات اعتماد الاختبار. بعد ذلك، ثبّت TypeScript SDK أو استدعِ REST API من أي لغة، وأرسل رسالتك التجريبية الأولى إلى رقمك الخاص.

$npm install @broadnet/cpaas-sdk axiosready