البدء
ابنِ أول تطبيق SaaS
دليل عملي للاعتماد وOAuth والطلبات وwebhook.
استخدم بيئة محلية أو اختبار مصرحًا بها وMarketplace مفعلة. الدليل لا يفتح بوابات Production.
- افتح
/ar/developers/applyوأكمل الطلب ووافق على الشروط. يراجع المسؤول الطلب؛ بعد القبول تصبح/ar/developers/dashboardمتاحة. - أنشئ تطبيقًا خارجيًا بمعرّف فريد ووصف باللغتين. احفظ Client ID وClient Secret الظاهر مرة واحدة في بيئة الخادم.
- شغّل
examples/apps/basic-orders-appوفق README. اضبطEXAMPLE_APP_ORIGINعلى أصل HTTPS للمثال وSAAS_PLATFORM_ORIGINعلى أصل المنصة. استخدم TLS reverse proxy محليًا ولا تضع الأسرار في JavaScript المتصفح. - أنشئ إصدار
1.0.0وسجّل${EXAMPLE_APP_ORIGIN}/callbackحرفيًا، معorders:readوwebhooks:manageوحدثorders.created. أكمل روابط التطبيق والدعم والخصوصية، ثم ارفع أيقونة التطبيق وصورة واحدة على الأقل من جهازك (JPG أو PNG أو WebP أو AVIF بحجم لا يتجاوز 10MB لكل صورة، وحتى 8 صور). أرسل الإصدار للمراجعة؛ يوافق المسؤول ثم ينشره. - ثبّت التطبيق من Marketplace التاجر، ثم افتح
/connectفي المثال. اختر المتجر ووافق على الصلاحيات. يربط المثال state بجلسة HttpOnly ويستهلك PKCE مرة واحدة ثم يتبادل code والسر من الخادم. - يفتح callback صفحة
/ordersويطلبGET /api/v1/orders?limit=10بالتوكن الخاص بالتثبيت. لا يؤخذ tenant من المتصفح كصلاحية. يدعم SDK pagination محدودة وآمنة. - ارجع إلى
/واضغط Register orders webhook. يسجّل الخادم عنوان/webhookالثابت لحدثorders.createdعبرPOST /api/v1/webhooksويحفظ السر المعاد مرة واحدة في الذاكرة. أنشئ طلبًا تجريبيًا من رحلة التاجر وراجع حالة التسليم الحقيقية في بوابة المطور. يتحقق المستقبل من البايتات وevent ID والتوقيت وHMAC قبل parsing ويمنع تكرار الحدث. - ألغِ التطبيق من
/ar/dashboard/apps. إعادة تحميل/ordersيجب أن تفشل. إعادة code أو access token الملغى يجب أن تفشل أيضًا.
المثال تعليمي ويستخدم الذاكرة للجلسات ومنع التكرار؛ إعادة التشغيل تفقدها. التطبيق الحقيقي يحتاج تخزين tokens مشفرًا ودائمًا ومعالجة أحداث idempotent. يحتاج استقبال webhook عنوان HTTPS عامًا مصرحًا؛ حماية SSRF ترفض localhost.
يمكن تنفيذ إنشاء التطبيق والإرسال عبر CLI باستخدام dev login ثم app create، وإضافة id المعاد باسم app_id إلى manifest، ثم app submit. الحقول المطلوبة موضحة في صفحة برنامج المطورين؛ أمر app validate يتحقق منها قبل أي إرسال، وapp status APP_UUID يعرض حالة المراجعة الفعلية.