Tutoriel : Automatisez vos appels SP-API à l'aide d'un SDK Python
Automatisez vos appels SP-API grâce à l'échange de jetons et à l'authentification Login with Amazon (LWA).
Ce didacticiel vous fournit tous les détails nécessaires pour générer un SDK Python avec échange de jetons Login with Amazon (LWA) et authentification, afin de créer votre application de manière fluide. Vous découvrirez les prérequis requis pour créer le SDK Python et vous verrez également un exemple utilisant l'API Selling Partner pour les commandes et le générateur de code Swagger.
Vous pouvez utiliser ce SDK pour intégrer les fonctionnalités de la place de marché Amazon à vos applications, notamment l'accès aux informations sur les produits, la gestion des commandes, la gestion des expéditions, etc.
Didacticiel
Le didacticiel suivant vous aidera à configurer votre propre SDK Python pour automatiser les appels SP-API.
Conditions préalables
Pour terminer ce didacticiel, vous devez remplir les prérequis suivants :
- Une application hybride ou SP-API en état de brouillon ou de publication
- Logiciel d'environnement de développement intégré (IDE)
- Python (version 3.6 ou ultérieure)
swagger-codegen-cli-2.3
(ou version ultérieure) Cet outil est utilisé pour générer du code client Python à partir des définitions Swagger de la SP-API.
Avant que votre application puisse se connecter à l'API Selling Partner, vous devez l'enregistrer et elle doit être autorisée par un partenaire commercial. Si vous ne possédez pas d'application hybride ou SP-API, suivez les étapes s'inscrire en tant que développeur, enregistrez votre candidature, et Autorisation des applications d'API pour les partenaires de vente. Revenez ensuite à ce didacticiel.
Configurez ensuite votre espace de travail pour le didacticiel.
Étape 1 Configurez votre espace de travail
-
Sur votre disque local, créez un répertoire pour ce projet, nommez-le
SPAPI_Python_SDK
, et accédez au nouveau répertoire. -
Clonez le dépôt client.
-
Téléchargez les outils suivants.
- Logiciel IDE (cette procédure pas à pas utilise Visual Studio IDE (sur système d'exploitation Windows)
- Python (version 3.6 ou ultérieure). Vous pouvez télécharger ce logiciel sur python.org.
-
Exécutez la commande suivante dans votre terminal pour télécharger le fichier Swagger Code Jar :
`wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar` -
Copier
swagger-codegen-cli.jar
dans votre répertoire localC:\\SPAPI_Python_SDK
. -
Exécutez la commande suivante dans votre terminal pour installer Python
backoff
bibliothèque dans votre environnement :pip install backoff -
Sur GitHub, rendez-vous sur
https://github.com/amzn/selling-partner-api-models/tree/main/models
et exécutez la commande suivante pour cloner leselling-partner-api-models
référentiel dans votre répertoire localC:\\SPAPI_Python_SDK
.git clone https://github.com/amzn/selling-partner-api-models
Maintenant que vous avez terminé la configuration requise, l'étape suivante consiste à générer le SDK Python avec les classes d'authentification et d'autorisation téléchargées dans votre répertoire local. C:\\SPAPI_Python_SDK
.
Étape 2 Générer un client Python à partir des définitions Swagger
-
Localisez le fichier JSON Swagger pour Modèle d'API SP-API que vous souhaitez utiliser (par exemple, l'API Orders) depuis votre répertoire local
C:\\SPAPI_Python_SDK
. -
Exécutez la commande suivante dans votre terminal pour générer le code client. Assurez-vous de remplacer les chemins et le modèle d'API par vos paramètres.
java -jar /[path_to_swagger_jar]/swagger-codegen-cli.jar generate -l python -t /[path_to_mustach_resources]/resources/ -D packageName=swagger_client -o /[path_to_client_folder]/client/[SP-API_NAME] -i /[path_to_model_folder]/models/[SP-API_NAME]/SP-API.json
Maintenant que vous avez généré un client Python, vous devez intégrer le modèle d'authentification.
Étape 3 Intégrer le module d'authentification
- Localisez le
auth
etspapi
dossiers de code client dansC:\\SPAPI_Python_SDK
, le répertoire dans lequel le SDK a été téléchargé. - Mettez à jour les chemins dans les fichiers Python suivants :
spapiclient.py
etLwaRequest.py
. Chaque fichier contient des instructions sur les éléments à mettre à jour.
Une fois l'authentification configurée, vous êtes maintenant prêt à configurer le package Python SDK.
Étape 4 Configurer le package du SDK Python
- Naviguez vers
C:\\SPAPI_Python_SDK
le répertoire dans lequel le SDK a été généré. - Utilisez le code suivant pour créer un
setup.py
dossier. Ce fichier est requis pour empaqueter votre SDK. Assurez-vous de remplacer les informations de l'exemple par des informations relatives à votre package et à ses dépendances.
from setuptools import setup, find_packages
setup(
name='SellingPartnerAPIAuthAndAuthPython', # Replace with your package's name
version='1.0.0', # Replace with your package's version
package_dir={'': 'src'}, # Replace 'src' as necessary
packages=find_packages(where='src'),
install_requires=[line.strip() for line in open("requirements.txt", "r")],
description='A Python SDK for Amazon Selling Partner API',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
url='TBD'
)
Une fois le SDK Python configuré, vous êtes maintenant prêt à créer une instance de l'API Orders.
Étape 5 Créez une instance de l'API Orders et appelez une opération
Voici un exemple d'utilisation du SDK Python avec l'API Orders pour créer un getOrders
demande. Mettez à jour le code avec vos informations, puis exécutez-le dans votre terminal.
if __name__ == "__main__":
from auth.credentials import SPAPIConfig
config = SPAPIConfig(
client_id="Your client-id",
client_secret="Your client-secret",
refresh_token="Your refresh-token",
region="NA", # Possible values NA, EU, FE, and SANDBOX
scope = None # Required for grant_type='client_credentials' ; Possible values "sellingpartnerapi::notifications" and "sellingpartnerapi::migration"
)
from spapi.spapiclient import SPAPIClient
# Create the API Client
print("Config and client initialized...")
api_client = SPAPIClient(config)
marketplace_ids = ["ATVPDKIKX0DER"]
created_after = "2024-01-19T00:00:00"
orders_api = api_client.get_api_client('OrdersV0Api')
orders_response = orders_api.get_orders(marketplace_ids=marketplace_ids, created_after=created_after)
print("Orders API Response:")
print(orders_response)
Attention
Ne validez jamais ce fichier dans votre système de contrôle de version car il contient des informations sensibles. Assurez-vous que ces informations d'identification LWA sont stockées en toute sécurité dans un format crypté.
Un code d'état de 200 signifie que l'appel d'API a réussi.
Étape 6 Connectez-vous à l'API Selling Partner à l'aide du SDK Python généré
Exécutez les commandes suivantes dans votre terminal pour créer et installer votre SDK localement :
python3 setup.py sdist bdist_wheel
pip install dist/{YourPackageName}-1.0.0-py3-none-any.whl
Exécutez le script de test suivant dans votre terminal pour tester le SDK Python :
python test.py
Un code d'état de 200 signifie que l'appel d'API a réussi.
Conclusion
Dans ce didacticiel, vous avez appris à automatiser vos appels SP-API à l'aide d'un SDK SP-API pour Python. Au cours de cette procédure pas à pas, vous avez appris à configurer votre espace de travail, à générer un SDK Python pour l'API Selling Partner, à vous connecter à l'API Orders et à effectuer votre premier appel d'API.
Updated 23 days ago