تجربة BackendTransactional SMS gateway

بوابة SMS مضبوطة للتدفقات المعاملاتية.

ملاحظة هندسية لمفهوم بوابة SMS ذاتية الاستضافة: backend داخلي، جهاز Android أو gateway مضبوط، queue، retries، logs وحالة إرسال لرسائل معاملاتية بموافقة المستخدم.

تجربة داخلية

النطاق هو تجربة هندسية ورسائل معاملاتية، وليس منصة عامة للتسويق عبر SMS.

مسار إرسال موثوق

الـ queue وحدود retries وidempotency وحالة الجهاز والـ logs أهم من سرعة الإرسال الخام.

الموافقة والامتثال

الرسائل يجب أن تكون متوقعة ومصرحاً بها ومحدودة لتدفقات منتج أو حساب مشروعة.

طبقة case studyPrototype عام على GitHub

SmsService يحوّل هاتف Android إلى gateway SMS محلية مضبوطة.

تجربة gateway Android محلية للرسائل المعاملاتية بموافقة المستخدم: Backend API، شبكة Wi-Fi خاصة، جسر هاتف، إرسال عبر SIM وضوابط تشغيلية.

النطاق

تجارب معاملاتية داخلية

الشبكة

خاصة/محلية فقط

موقع التكلفة

No per-SMS provider bill when the SIM plan includes SMS.

مستودع SmsServiceSMS delivery path
مسار الإرسال

Backend API -> Local Wi-Fi -> Android phone -> SIM card -> Recipient

يبقى backend نقطة التحكم. SmsService هو جسر Android محلي، وليس API رسائل عامة.

1

Backend API

2

Local Wi-Fi

3

Android phone

4

SIM card

5

Recipient

مقارنة متوازنة

SmsService مقابل مزود SMS بنمط Twilio

الهدف ليس استبدال المزودين المدارين دائماً، بل توضيح متى تنفع gateway محلية وما المسؤوليات التي تضيفها.

مزود مدار

مزود بنمط Twilio

  • بنية إرسال مدارة وخيارات sender/channel.
  • نموذج pay-as-you-go حيث تزيد التكلفة مع حجم الرسائل.
  • الامتثال والتعامل مع المشغلين وتشغيل المنصة جزء من قيمة المزود.
  • دفع لكل رسالة أو channel أو sender أو قدرة مرتبطة حسب الإعداد.

Gateway Android محلية

SmsService

  • Gateway Android مضبوطة على شبكة خاصة/محلية فقط.
  • No per-SMS provider bill when the SIM plan includes SMS.
  • تستخدم هاتفاً وخطة SIM؛ الهاتف وSIM والكهرباء والصيانة ما زالت موجودة.
  • تحتاج monitoring وuptime للهاتف وfair-use checks وخطة fallback ومراجعة امتثال.
  • مناسبة لتجارب معاملاتية داخلية صغيرة، وليست للرسائل الجماعية العامة.
توضيح التكلفة

نموذجان للتكلفة ومسؤوليات مختلفة

هذه أمثلة ثابتة وليست أسعاراً مباشرة. تكاليف المزود المدار غالباً تزيد مع الحجم؛ SmsService ينقل التكلفة نحو الجهاز المحلي وخطة SIM والتشغيل.

الهاتف، خطة SIM، الكهرباء، الصيانة، fair-use limits والامتثال ما زالت موجودة.

نموذج مزود بنمط Twilio

تكلفة الاستخدام المتغيرة تزيد مع حجم الرسائل، بينما البنية والتعامل مع المشغلين عند المزود.

100 SMS
1,000 SMS
10,000 SMS

نموذج SmsService

التكلفة تتركز حول الهاتف + خطة SIM عندما تشمل الخطة SMS، لكن المسؤولية التشغيلية تزيد.

Phone + SIM plan
Operations
Compliance review
حدود الاستخدام

أين تناسب هذه gateway وأين لا تناسب

أين تكون مناسبة

  • +OTP للنماذج الداخلية.
  • +أدوات خاصة صغيرة.
  • +تذكيرات مواعيد بموافقة.
  • +بيئات مختبر مضبوطة.
  • +عروض تكامل backend.

أين لا تنتمي

  • !Spam أو قوائم مسحوبة.
  • !Gateway عامة على الإنترنت.
  • !تسويق جماعي.
  • !رسائل إنتاج حرجة بدون fallback.
  • !استخدام إنتاج منظم بدون مراجعة.
Prototype عام

SmsService على GitHub

SmsService هو مستودع Android Kotlin prototype لتجربة gateway SMS محلية/خاصة.

فتح مستودع SmsService
أي secrets ظاهرة في الكود العام يجب تدويرها قبل الاستخدام الحقيقي.
يجب أن تبقى gateway خاصة/محلية ولا تُعرض للعامة.
التحقق في backend والموافقة وrate limits والمراقبة ومراجعة الامتثال مطلوبة قبل الاستخدام الحقيقي.
المعمارية

مفهوم gateway وحدوده

يجب التعامل مع gateway كخدمة داخلية محدودة، بحدود واضحة وlogs مفهومة وأنواع رسائل قليلة ومسموحة.

01

Backend API

يستقبل طلبات معاملاتية مقبولة، يتحقق من payloads، يطبق rate limits ويحفظ حالة الرسالة.

02

Android device or controlled gateway

يمكن لجهاز مدار أن يعمل كجسر إرسال إذا كان مراقباً ومؤمناً ومخصصاً لهذا الغرض.

03

Queue worker

يعالج الرسائل تدريجياً ويحترم سياسة retries ويتجنب إغراق الجهاز أو المشغل.

04

Delivery status

كل رسالة يجب أن تمر بحالات مثل queued وsent وdelivered وfailed وexpired.

Prototype عام

مستودع Android SmsService

SmsService هو prototype Android عام لتجربة gateway محلية لرسائل معاملاتية مضبوطة وبموافقة المستخدم.

01

المستودع العام

SmsService متاح على https://github.com/Stinger1369/SmsService كنموذج تقني لبوابة SMS محلية تعتمد على الهاتف.

02

خاص ومحلي بالتصميم

يجب أن تبقى gateway داخل شبكة خاصة موثوقة ولا يجب كشفها كـ API عامة على الإنترنت.

03

تدوير الأسرار الظاهرة

أي secret أو token أو credential ظاهر في كود عام يجب اعتباره مكشوفاً وتدويره قبل أي استخدام حقيقي.

04

تحكم backend مطلوب

يجب أن يتحقق backend من الموافقة والغرض وrate limits والقوالب قبل استدعاء SmsService.

الضوابط

Retries والامتثال والمراقبة

الموثوقية تأتي من الإرسال الصحيح ومن رفض الاستخدام غير الآمن في الوقت نفسه.

01

Per-recipient rate limits

تحديد الرسائل المتكررة لنفس الرقم لحماية المستخدمين.

02

Retry with backoff

إعادة المحاولة فقط للأخطاء المؤقتة المعروفة، مع تأخير وحد أقصى.

03

No mass campaigns

التسويق الجماعي والقوائم المسحوبة والتواصل غير المطلوب خارج النطاق.

04

Device heartbeat

إطلاق تنبيه إذا توقف الهاتف أو gateway عن الوصول إلى backend.

05

Has compliance been reviewed?

الموافقة والاحتفاظ والقوالب والقواعد المحلية تحتاج مراجعة قبل الاستخدام الحقيقي.

مجموعة أدوات حيّة

سيتم إثراء هذا القسم تدريجياً بأدوات حقيقية.

سيتم توثيق الحزم والسكربتات والتجارب مع استخدام عملي وحدود واضحة وسياق هندسي.