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

  1. Sur votre disque local, créez un répertoire pour ce projet, nommez-le SPAPI_Python_SDK, et accédez au nouveau répertoire.

  2. Clonez le dépôt client.

  3. 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.
  4. 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`
  5. Copier swagger-codegen-cli.jar dans votre répertoire local C:\\SPAPI_Python_SDK.

  6. Exécutez la commande suivante dans votre terminal pour installer Python backoff bibliothèque dans votre environnement :

    pip install backoff
  7. Sur GitHub, rendez-vous sur https://github.com/amzn/selling-partner-api-models/tree/main/models et exécutez la commande suivante pour cloner le selling-partner-api-models référentiel dans votre répertoire local C:\\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

  1. 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.

  2. 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

  1. Localisez le auth et spapi dossiers de code client dans C:\\SPAPI_Python_SDK, le répertoire dans lequel le SDK a été téléchargé.
  2. Mettez à jour les chemins dans les fichiers Python suivants : spapiclient.py et LwaRequest.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

  1. Naviguez vers C:\\SPAPI_Python_SDK le répertoire dans lequel le SDK a été généré.
  2. 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.


Cette page vous a-t-elle été utile ?