Esta gema construye aplicaciones Rails que se pueden integrar en el administrador de Shopify.
Introducción | Requisitos | Uso | Documentación | Contribuyente | Licencia
Esta gema incluye un motor de rieles, generadores, módulos y mezclas que ayudan a crear aplicaciones de rieles que funcionan con las API de Shopify. El motor Shopify App Rails proporciona todo el código requerido para implementar OAuth con Shopify. El generador de aplicaciones de Shopify predeterminado crea una aplicación que puede integrarse en el administrador de Shopify y la asegura con tokens de sesión.
Para convertirse en un desarrollador de aplicaciones de Shopify, necesitará una cuenta de Shopify Partners. Explore los documentos de Shopify Dev para obtener más información sobre la construcción de aplicaciones Shopify.
Esta gema requiere que tenga las siguientes credenciales:
rails new my_shopify_app
bundle add shopify_app
dotenv-rails
. Cree un archivo .env
en la aplicación Root of Your Rails para especificar las credenciales completas de la API de host y Shopify: 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
Instale la aplicación visitando la URL del servidor (por ejemplo, http: // localhost: 3000) y especificando el subdominio de la tienda donde desea que se instale.
Después de instalar la aplicación, se redirige a la aplicación incrustada.
Esta aplicación implementa OAuth 2.0 con Shopify para autenticar las solicitudes hechas a las API de Shopify. De manera predeterminada, esta aplicación está configurada para usar tokens de sesión para autenticar a los comerciantes cuando se integran en el administrador de Shopify.
Consulte Generadores para obtener una lista completa de generadores disponibles para la aplicación Shopify.
Puede encontrar documentación sobre el uso de gemas, los conceptos, las mezclas, la instalación y más en /docs
.
Inicio rápido
Solución de problemas
Actualización
Aplicación Shopify
El montaje del motor Shopify App Rails proporciona las siguientes rutas. Estas rutas están configuradas para ayudar a instalar su aplicación en las tiendas e implementar OAuth.
Verbo | Ruta | Acción |
---|---|---|
GET | /login | Acceso |
POST | /login | Acceso |
GET | /auth/shopify/callback | Oauth redirige uri |
GET | /logout | Cierre de sesión |
POST | /webhooks/:type | Devolución de llamada de Webhook |
Estas rutas son configurables. Consulte la documentación del motor más detallada para saber cómo puede personalizar la URL de inicio de sesión o montar el motor de Rails de la aplicación Shopify en rutas anidadas.
Para obtener más información sobre cómo esta joya se autentica con Shopify, vea la autenticación .
Consejo
Si está creando una aplicación integrada, recomendamos que utilice la instalación administrada de Shopify con Exchange de token en lugar del flujo de subvención del código de autorización heredado.
Hemos introducido una nueva estrategia de instalación y autorización para aplicaciones integradas que eliminan las redirecciones que eran previamente necesarias. Reemplaza el flujo de subvención del código de instalación y autorización existente.
Esto se logra mediante el uso de la instalación administrada de Shopify para manejar las instalaciones automáticas de aplicaciones y las actualizaciones de alcance, mientras utilizan el intercambio de tokens para recuperar un token de acceso para el acceso de API autenticado.
Nota
Asegúrese de no tener use_legacy_install_flow = true
en su archivo de configuración shopify.app.toml
. Si use_legacy_install_flow
es verdadero, Shopify no administrará el proceso de instalación para su aplicación. Debe eliminar la línea use_legacy_install_flow
de su archivo de configuración shopify.app.toml
o establecerlo en 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
sea correcto. Si su aplicación tiene algún controlador que incluya ShopifyApp::EnsureInstalled
, ahora también incluirá la preocupación ShopifyApp::EmbeddedApp
, que establece layout 'embedded_app'
para el controlador actual de forma predeterminada. En los casos en que el controlador buscó originalmente otro archivo de diseño, esto puede causar un comportamiento inesperado. Consulte la documentación de EmbeddedApp
en preocupación para obtener más información sobre los efectos de esta preocupación y cómo deshabilitar el cambio de diseño si es necesario. La API de Shopify está versión. Con Shopify App v1.11.0
, la GEM API Shopify incluida permite a los desarrolladores especificar y actualizar la versión de la API de Shopify que desean que su aplicación o servicio use. La gema de la API de Shopify también superficie las advertencias de las aplicaciones de Rails sobre puntos finales desapercibidos, campos GraphQL y más.
Consulte el Readme de Gem Shopify API para obtener más información.