Tutoriel : Automatisez vos appels SP-API à l'aide d'un SDK JavaScript pour Node.js

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 JavaScript pour Node.js avec l'échange de jetons Login with Amazon (LWA) et l'authentification afin de créer votre application de manière fluide. Vous découvrez les prérequis requis pour créer le SDK JavaScript pour Node.js et vous pouvez également visualiser un exemple à l'aide de l'API Selling Partner pour les vendeurs et du générateur de code Swagger.

Le SDK JavaScript SP-API pour Node.js est conçu pour une intégration côté serveur avec l'API Selling Partner d'Amazon. Ce didacticiel couvre l'intégration et la réalisation d'appels SP-API en mettant l'accent sur les applications pratiques, afin que vous puissiez exécuter des appels d'API et intégrer les fonctionnalités de la place de marché d'Amazon directement dans vos processus côté serveur.

Didacticiel

Le didacticiel suivant vous aidera à configurer votre propre SDK JavaScript pour Node.js afin d'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)
  • Java version 7 ou supérieure
  • swagger-codegen-cli-2.4.29
  • Node.js v18 ou supérieur

❗️

Avertissement

Vous devez utiliser swagger-codegen-cli-2.4.29. Si vous utilisez swagger-codegen-cli versions autres que 2,4,29, la génération du SDK échouera. L'utilisation de la mauvaise version peut entraîner des problèmes plus importants lors du processus d'intégration.

Before your application can connect to the Selling Partner API, you must register it, and it must be authorized by a selling partner. If you do not have a hybrid or SP-API app, follow the steps to register as a developer, register your application, and Authorizing Selling Partner API applications. Then, return to this tutorial.

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_Javascript_SDK, et accédez au nouveau répertoire.

    mkdir SPAPI_JavaScript_SDK cd SPAPI_JavaScript_SDK
  2. Téléchargez les outils suivants.

  3. Exécutez la commande suivante pour télécharger le générateur de code Swagger :

    wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.29/swagger-codegen-cli-2.4.29.jar
  4. Utilisez la commande suivante pour obtenir le fichier et modifier les autorisations afin de le rendre exécutable.

    chmod 744 swagger-codegen-cli-2.4.29.jar
  5. Copier swagger-codegen-cli.jar dans votre répertoire local C:\\SPAPI_JavaScript_SDK.

  6. In GitHub, go to https://github.com/amzn/selling-partner-api-models/tree/main/models and use the following command to clone the selling-partner-api-models repository to your local directory C:\\SPAPI_JavaScript_SDK.

    git clone https://github.com/amzn/selling-partner-api-models

    Now that you have completed the required setup, the next step is to generate the JavaScript SDK for Node.js with the authentication and authorization classes provided in the sellingpartner-api-javascript folder.

Étape 2 Générez un SDK JavaScript pour Node.js avec échange de jetons LWA et authentification

Naviguez jusqu'au SellingPartnerAPISdkJavaScriptNode/src annuaire. Dans le src répertoire trouvez le generate-js-sdk.sh shell fichier de script. Exécutez le script suivant dans la ligne de commande :

cd SellingPartnerAPISdkJavaScriptNode/src ./generate-js-sdk.sh -j ../../swagger-codegen-cli-2.4.29.jar

Vous pouvez désormais consulter le models et sdk répertoires, qui contiennent respectivement les modèles d'API et le SDK JavaScript, à la racine de votre package.

This folder provides helper classes to generate an access token for Amazon Selling Partner APIs. It is intended for use with the Selling Partner API Client Libraries generated by Swagger Codegen using the RestSharp library. It can also be integrated into custom projects.

Étape 3 Créer un package npm local

Packagez votre SDK pour l'utiliser dans plusieurs projets locaux sans publier le SDK dans le registre public npm.

  1. Ouvrez votre package.json fichier et ajoutez ce qui suit pour vous assurer que package.json est correctement configuré pour inclure les répertoires nécessaires. :

    "files": [ "src/helper/", "sdk/" ]

    Cette étape garantit que seuls les répertoires spécifiés et leur contenu (par exemple, src/helper/ et sdk/) sont inclus dans le package et les autres sont ignorés.

  2. Naviguez jusqu'au SellingPartnerAPISdkJavaScriptNode répertoire de votre terminal ou de votre invite de commande.

  3. Exécutez la commande suivante pour créer le package :

    npm pack

    Cette commande crée une archive tar (fichier TGZ) dans le répertoire de votre projet, nommée amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz ou similaire, en fonction du nom et de la version de votre package. Il inclut tous les fichiers nécessaires à votre projet, créant ainsi un package local qui peut être installé comme n'importe quel package npm publié.

Étape 4 Créez un nouveau projet à l'aide du package npm local

Vous pouvez maintenant créer un nouveau projet qui utilise le package npm local. Avec cette approche, vous pouvez tester le SDK dans un environnement similaire à celui que rencontreront les développeurs finaux.

  1. Entrez la commande suivante pour créer un nouveau répertoire pour le nouveau projet. Cet exemple suppose que votre répertoire actuel est SellingPartnerAPISdkJavaScriptNode/src:

    cd ../../ mkdir MyNewSPAPIProject cd MyNewSPAPIProject
  2. Configurez un nouveau projet Node.js pour garantir un environnement propre.

    npm init -y
  3. Suivez les instructions pour initialiser votre nouveau projet. Acceptez les options par défaut si elles correspondent à vos préférences.

  4. Install the local npm package you created in Step 3. Create a local npm package into this new project. For the following command, replace the placeholder ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz with the actual path to your TGZ file. This step is crucial because it simulates how other developers will integrate your SDK into their projects.

    npm install ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz

    📘

    Remarque

    Le chemin qui mène à votre .tgz le fichier peut être absolu ou relatif, en fonction de votre répertoire de travail actuel. Par exemple, si votre .tgz le fichier se trouve dans SellingPartnerAPISdkJavaScriptNode répertoire, votre commande est npm install ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz.

    Une fois ces étapes terminées, votre package sera répertorié en tant que dépendance dans le dossier de votre nouveau projet package.json, et vous pouvez importer des fonctionnalités comme vous le feriez normalement.

Étape 5 Connectez-vous à l'API Selling Partner à l'aide du SDK JavaScript généré pour Node.js

Une fois l'authentification configurée, vous êtes maintenant prêt à interagir avec les points de terminaison SP-API.

  1. Stockez vos informations d'identification LWA dans un app.config.mjs fichier à la racine du projet.

    touch app.config.mjs
  2. Définissez vos informations d'identification à l'intérieur app.config.mjs comme suit :

    export const AppConfig = { lwaClientId: "< LWA client ID >", lwaClientSecret: "< LWA client secret >", lwaRefreshToken: "< LWA refresh token >", }

    🚧

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

  3. Créez un nouveau fichier nommé index.js dans le répertoire racine de votre projet et insérez le script suivant, qui lance un appel vers un point de terminaison SP-API spécifique et enregistre la réponse sur la console.

    touch index.js
  4. Copiez et collez ce qui suit dans index.js:

    import { AppConfig } from './app.config.mjs'; import { LwaAuthClient } from '@amzn/testsellingpartnerjavascriptapilwalib/src/helper/LwaAuthClient.mjs'; import { SellersApi, ApiClient as SellersApiClient, } from '@amzn/testsellingpartnerjavascriptapilwalib/sdk/src/sellers/index.js'; (async () => { const lwaClient = new LwaAuthClient( AppConfig.lwaClientId, AppConfig.lwaClientSecret, AppConfig.lwaRefreshToken ); const sellerApiClient = new SellersApiClient( 'https://sellingpartnerapi-fe.amazon.com' ); const sellerApi = new SellersApi(sellerApiClient); sellerApiClient.applyXAmzAccessTokenToRequest( await lwaClient.getAccessToken() ); const participations = await sellerApi.getMarketplaceParticipations(); console.log( JSON.stringify(participations, null, ' ') + '\n**********************************' ); })();
  5. Exécutez le script : exécutez la commande suivante dans votre terminal ou votre invite de commande pour lancer une requête GET vers le point de terminaison de l'API Sellers :

    node index.js

    Cette commande exécute votre script, lance l'appel d'API et affiche les résultats sur votre console.

    Résultat attendu :

    { "payload": [ { "marketplace": { "id": "xxxxx", "countryCode": "JP", "name": "Amazon.co.jp", "defaultCurrencyCode": "JPY", "defaultLanguageCode": "ja_JP", "domainName": "www.amazon.jp“ }, "participation": { "isParticipating": true, "hasSuspendedListings": false } } ] }

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