Cette gemme construit des applications de rails qui peuvent être intégrées dans l'administrateur Shopify.
Introduction | Exigences | Utilisation | Documentation | Contribution | Licence
Ce joyau comprend un moteur de rails, des générateurs, des modules et des mixins qui aident à créer des applications rails qui fonctionnent avec des API Shopify. Le moteur Shopify App Rails fournit tout le code requis pour implémenter OAuth avec Shopify. Le générateur d'applications Shopify par défaut construit une application qui peut être intégrée dans l'administrateur Shopify et la sécurise avec des jetons de session.
Pour devenir un développeur d'applications Shopify, vous aurez besoin d'un compte Shopify Partners. Explorez les Docs Shopify pour en savoir plus sur la création d'applications Shopify.
Ce joyau nécessite que vous ayez les informations d'identification suivantes:
rails new my_shopify_app
bundle add shopify_app
dotenv-rails
. Créez un fichier .env
dans la racine de votre application Rails pour spécifier l'hôte complet et les informations d'identification 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
Installez l'application en visitant l'URL du serveur (par exemple http: // localhost: 3000) et spécifiant le sous-domaine de la boutique où vous souhaitez qu'il soit installé.
Une fois l'application installée, vous êtes redirigé vers l'application intégrée.
Cette application implémente OAuth 2.0 avec Shopify pour authentifier les demandes faites pour Shopify API. Par défaut, cette application est configurée pour utiliser les jetons de session pour authentifier les marchands lorsqu'il est intégré dans l'administrateur Shopify.
Voir les générateurs pour une liste complète des générateurs disponibles pour Shopify App.
Vous pouvez trouver une documentation sur l'utilisation des gemmes, les concepts, les mixins, l'installation et plus dans /docs
.
Start
Dépannage
Mise à niveau
Application Shopify
Le montage du moteur Shopify App Rails fournit les itinéraires suivants. Ces itinéraires sont configurés pour aider à installer votre application sur les magasins et à implémenter OAuth.
Verbe | Itinéraire | Action |
---|---|---|
GET | /login | Se connecter |
POST | /login | Se connecter |
GET | /auth/shopify/callback | Oauth rediriger uri |
GET | /logout | Déconnexion |
POST | /webhooks/:type | Rappel de webhook |
Ces itinéraires sont configurables. Voir la documentation plus détaillée du moteur pour savoir comment vous pouvez personnaliser l'URL de connexion ou monter le moteur des rails d'application Shopify sur les routes imbriquées.
Pour en savoir plus sur la façon dont ce joyau s'authentifie avec Shopify, voir l'authentification .
Conseil
Si vous créez une application intégrée, nous recommandons fortement d'utiliser l'installation gérée de Shopify avec un échange de jetons au lieu du flux de subvention du code d'autorisation hérité.
Nous avons introduit une nouvelle stratégie d'installation et d'autorisation pour les applications intégrées qui éliminent les redirections qui étaient auparavant nécessaires. Il remplace le flux de subvention de code d'installation et d'autorisation existant.
Ceci est réalisé en utilisant l'installation gérée de Shopify pour gérer les installations automatiques d'applications et les mises à jour de la portée, tout en utilisant l'échange de jetons pour récupérer un jeton d'accès pour un accès API authentifié.
Note
Assurez-vous que vous n'avez pas use_legacy_install_flow = true
dans votre fichier de configuration shopify.app.toml
. Si use_legacy_install_flow
est vrai, Shopify ne gérera pas le processus d'installation de votre application. Vous devez supprimer la ligne use_legacy_install_flow
de votre fichier de configuration shopify.app.toml
ou le définir sur 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
est correcte. Si votre application dispose d'un contrôleur qui comprend ShopifyApp::EnsureInstalled
, il inclura désormais également la préoccupation ShopifyApp::EmbeddedApp
, qui définit layout 'embedded_app'
pour le contrôleur actuel par défaut. Dans les cas où le contrôleur recherchait à l'origine un autre fichier de mise en page, cela peut provoquer un comportement inattendu. Voir la documentation de EmbeddedApp
Concern pour plus d'informations sur les effets de cette préoccupation et comment désactiver le changement de mise en page si nécessaire. L'API de Shopify est versée. Avec Shopify App v1.11.0
, le GEM API Shopify inclus permet aux développeurs de spécifier et de mettre à jour la version API Shopify qu'ils souhaitent que leur application ou leur service utilisent. Le gemme API Shopify fait également surface d'avertissements aux applications Rails sur les points de terminaison obsolètes, les champs GraphQL et plus encore.
Voir le Shopify API Gem Readme pour plus d'informations.