Sandbox وLive (وضع الحساب)

لمصطلح «Sandbox» معنيان مختلفان في MorisBox:

المفهومالمعنى
مضيفات النشربيئة مشتركة (api.morisbox.com وPartner Hub وApplication Client)
Sandbox الحسابلكل شريك: تقتصر الرسائل الصادرة على هاتف اختبار واحد

تتناول هذه الصفحة وضع Sandbox / Live للحساب.


الوضع الافتراضي: Sandbox

يُنشأ كل شريك جديد في وضع Sandbox:

  • لا يمكنه الإرسال إلا إلى هاتف E.164 واحد مسموح به (sandbox_allowed_phone)
  • تكون عمليات البث محظورة
  • تستخدم دعوات التدفقات ودردشة الوكيل قيد الهاتف نفسه
  • يكون شريك المنصة seed360 دائمًا في وضع Live (OTP / النظام)

إعداد هاتف الاختبار

Partner Hub ← الإعدادات ← Sandbox / Live، أو:

PUT /api/v1/settings/sandbox
Authorization: Bearer sk_…
Content-Type: application/json

{
  "sandbox_allowed_phone": "+228XXXXXXXX"
}

ثم:

POST /api/v1/messages
Authorization: Bearer sk_…
Content-Type: application/json

{
  "phone": "+228XXXXXXXX",
  "body": "Hello sandbox"
}

يُرجع الإرسال إلى أي رقم آخر الحالة 403 مع error.code = sandbox_restricted.


طلب وضع Live

عندما تكون مستعدًا لحركة الإنتاج:

POST /api/v1/settings/sandbox/request-live
Authorization: Bearer sk_…
Content-Type: application/json

{
  "note": "Production launch for SEED notifications"
}

يجب أن يوافق مسؤول منصة MorisBox. وحتى ذلك الحين، تظل في Sandbox.

المركز: Sandbox / Live ← طلب Live.


الإدارة (شريك المنصة)

يمكن لمشغلي المنصة:

الإجراءالأثر
الموافقة على Livesandbox_mode=false
رفض الخروجالبقاء في Sandbox، وحالة الخروج rejected
إعادة ضبط Sandboxفرض Sandbox مجددًا (مثلًا بعد مشكلات KYC)؛ مع الاحتفاظ بهاتف الاختبار

API (مفتاح إدارة seed360):

GET  /api/v1/admin/sandbox
POST /api/v1/admin/sandbox/partners/{id}/approve-live
POST /api/v1/admin/sandbox/partners/{id}/reject-live
POST /api/v1/admin/sandbox/partners/{id}/reset

المركز: إدارة Sandbox (للمنصة فقط).


المضيفات (النشر)

الخدمةعنوان URL
Partner APIhttps://api.morisbox.com/api/v1
Partner Hubhttps://partner.morisbox.com
وثائق الشركاءhttps://docs.morisbox.com/partners
وثائق المطورينhttps://developers.morisbox.com/developers
Application Clienthttps://morisbox.com

لا يوجد مفتاح API عام مشترك. يستخدم كل شريك بيانات اعتماده الخاصة.


قائمة تحقق اختبارات الدخان (الشريك)

  1. شريك جديد ← Sandbox افتراضي
  2. POST /messages من دون هاتف مسموح ← 403 sandbox_restricted
  3. تعيين الهاتف المسموح ← الإرسال إلى ذلك الرقم ← 201
  4. الإرسال إلى رقم آخر ← 403
  5. POST /broadcasts في Sandbox ← 403
  6. طلب Live ← موافقة المسؤول ← الإرسال إلى أي هاتف

curl للشريك (Sandbox)

export SEED360_API_BASE="https://api.morisbox.com/api/v1"
export SEED360_API_KEY="sk_…"

curl -sS -X PUT "$SEED360_API_BASE/settings/sandbox" \
  -H "Authorization: Bearer $SEED360_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sandbox_allowed_phone":"+228XXXXXXXX"}'

curl -sS -X POST "$SEED360_API_BASE/messages" \
  -H "Authorization: Bearer $SEED360_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+228XXXXXXXX","body":"Hello MorisBox"}'