تقوم هذه الأحجار الكريمة ببناء تطبيقات القضبان التي يمكن تضمينها في مسؤول Shopify.
مقدمة | المتطلبات | الاستخدام | الوثائق | المساهمة | رخصة
تشتمل هذه الأحجار الكريمة على محرك Rails والمولدات والوحدات النمطية والمزيجات التي تساعد على إنشاء تطبيقات Rails التي تعمل مع Apis Shopify. يوفر محرك Shopify App Rails جميع الرمز المطلوب لتنفيذ OAuth مع Shopify. يقوم مولد تطبيق Shopify الافتراضي بإنشاء تطبيق يمكن تضمينه في مسؤول Shopify ويؤمنه برموز الجلسة.
لتصبح مطور تطبيقات Shopify ، ستحتاج إلى حساب Shopify Partners. استكشف مستندات dev Shopify لمعرفة المزيد حول بناء تطبيقات Shopify.
تتطلب هذه الأحجار الكريمة أن يكون لديك بيانات الاعتماد التالية:
rails new my_shopify_app
bundle add shopify_app
dotenv-rails
. قم بإنشاء ملف .env
في جذر تطبيق Rails الخاص بك لتحديد بيانات اعتماد API الكاملة ومضيف API: HOST=http://localhost:3000
SHOPIFY_API_KEY= < Your Shopify API key >
SHOPIFY_API_SECRET= < Your Shopify API secret >
rails generate shopify_app
rails db:migrate
rails server
قم بتثبيت التطبيق من خلال زيارة عنوان URL للخادم (على سبيل المثال http: // localhost: 3000) وتحديد المجال الفرعي للمتجر حيث تريد تثبيته.
بعد تثبيت التطبيق ، يتم إعادة توجيهك إلى التطبيق المدمج.
يطبق هذا التطبيق OAUTH 2.0 مع Shopify لمصادقة الطلبات المقدمة لتسوق واجهات برمجة التطبيقات. بشكل افتراضي ، تم تكوين هذا التطبيق لاستخدام الرموز المميزة للجلسة لمصادقة التجار عند تضمينها في مسؤول Shopify.
انظر المولدات للحصول على قائمة كاملة من المولدات المتاحة لتطبيق Shopify.
يمكنك العثور على وثائق حول استخدام الأحجار الكريمة ، والمفاهيم ، والمزيج ، والتركيب ، والمزيد في /docs
.
Quickstart
استكشاف الأخطاء وإصلاحها
الترقية
تطبيق Shopify
يوفر تركيب محرك Shopify App Rails الطرق التالية. تم تكوين هذه الطرق للمساعدة في تثبيت تطبيقك على المتاجر وتنفيذ OAUTH.
الفعل | طريق | فعل |
---|---|---|
GET | /login | تسجيل الدخول |
POST | /login | تسجيل الدخول |
GET | /auth/shopify/callback | OAuth إعادة توجيه URI |
GET | /logout | تسجيل الخروج |
POST | /webhooks/:type | Webhook Callback |
هذه الطرق قابلة للتكوين. راجع وثائق المحرك الأكثر تفصيلاً لمعرفة كيف يمكنك تخصيص عنوان URL لتسجيل الدخول أو تثبيت محرك Shopify App Rails في الطرق المتداخلة.
لمعرفة المزيد حول كيفية مصادقة هذه الأحجار الكريمة مع Shopify ، راجع المصادقة .
نصيحة
إذا كنت تقوم ببناء تطبيق مضمن ، فإننا نوصي بشدة باستخدام Shopify Managed Managed مع Token Exchange بدلاً من تدفق منحة رمز الترخيص القديم.
لقد قدمنا استراتيجية جديدة للتثبيت والترخيص للتطبيقات المدمجة التي تلغي عمليات إعادة التوجيه التي كانت ضرورية من قبل. يحل محل تدفق منحة رمز التثبيت والترخيص الحالي.
يتم تحقيق ذلك باستخدام التثبيت المدارة لـ Shopify للتعامل مع عمليات تثبيت التطبيقات التلقائية وتحديثات النطاق ، مع استخدام Token Exchange لاسترداد رمز الوصول للوصول إلى واجهة برمجة التطبيقات المصادقة.
ملحوظة
تأكد من عدم وجود use_legacy_install_flow = true
في ملف تكوين shopify.app.toml
. إذا كان use_legacy_install_flow
صحيحًا ، فلن يدير Shopify عملية التثبيت لتطبيقك. يجب عليك إزالة خط التكوين use_legacy_install_flow
من ملف التكوين الخاص بك shopify.app.toml
أو تعيينه على false
.
# config/initializers/shopify_app.rb
ShopifyApp . configure do | config |
#.....
config . embedded_app = true
config . new_embedded_auth_strategy = true
# If your app is configured to use online sessions, you can enable session expiry date check so a new access token
# is fetched automatically when the session expires.
# See expiry date check docs: https://github.com/Shopify/shopify_app/blob/main/docs/shopify_app/sessions.md#expiry-date
config . check_session_expiry_date = true
...
end
embedded_app
صحيح. إذا كان تطبيقك يحتوي على أي وحدة تحكم يتضمن ShopifyApp::EnsureInstalled
، فسيتضمن الآن أيضًا مخاوف ShopifyApp::EmbeddedApp
، التي تحدد layout 'embedded_app'
لوحدة التحكم الحالية افتراضيًا. في الحالات التي بحثت فيها وحدة التحكم في الأصل عن ملف تخطيط آخر ، يمكن أن يسبب هذا سلوكًا غير متوقع. راجع وثائق EmbeddedApp
Contros للحصول على مزيد من المعلومات حول آثار هذا القلق وكيفية تعطيل تغيير التصميم إذا لزم الأمر. تم إصدار API الخاص بـ Shopify. مع تطبيق Shopify v1.11.0
، يتيح GEM API المتدرج للمطورين تحديد وتحديث إصدار API Shopify الذي يريدون استخدامه أو خدمتهم. يسبق جوهرة API Shopify أيضًا تحذيرات إلى تطبيقات Rails حول نقاط النهاية التي تم إهمالها وحقول GraphQL والمزيد.
انظر Shopify API GEM README لمزيد من المعلومات.