Dokumentation
Entwickler-HubAPI-StatusUnterstützung

Tutorial: Automatisieren Sie Ihre SP-API-Aufrufe mithilfe eines JavaScript-SDK für Node.js

Automatisieren Sie Ihre SP-API-Aufrufe mit dem Tokenaustausch und der Authentifizierung von Login with Amazon (LWA).

Dieses Tutorial enthält alle erforderlichen Details, um ein JavaScript-SDK für Node.js mit Login with Amazon (LWA) -Tokenaustausch und Authentifizierung zu generieren, um Ihre Anwendung nahtlos zu erstellen. Sie lernen die Voraussetzungen kennen, die für die Erstellung des JavaScript-SDK für Node.js erforderlich sind, und sehen sich auch ein Beispiel an, das die Verkaufspartner-API für Verkäufer und den Swagger Code Generator verwendet.

Das SP-API-JavaScript-SDK für Node.js wurde für die serverseitige Integration mit der Vertriebspartner-API von Amazon entwickelt. Dieses Tutorial behandelt die Integration und Durchführung von SP-API-Aufrufen, wobei der Schwerpunkt auf der praktischen Anwendung liegt, sodass Sie API-Aufrufe ausführen und die Marketplace-Funktionen von Amazon direkt in Ihre serverseitigen Prozesse integrieren können.

Tutorial

Das folgende Tutorial hilft Ihnen dabei, Ihr eigenes JavaScript-SDK für Node.js zur Automatisierung von SP-API-Aufrufen einzurichten.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie die folgenden Voraussetzungen:

  • Eine Hybrid- oder SP-API-App im Entwurfs- oder Veröffentlichungsstatus
  • Software für integrierte Entwicklungsumgebungen (IDE)
  • Java Version 7 oder höher
  • swagger-codegen-cli-2.4.29
  • Node.js v18 oder höher

❗️

Warnung

Du musst verwenden swagger-codegen-cli-2.4.29. Wenn du verwendest swagger-codegen-cli andere Versionen als 2,4,29, das Generieren des SDK schlägt fehl. Die Verwendung der falschen Version kann zu größeren Problemen im Integrationsprozess führen.

Bevor Ihre Anwendung eine Verbindung zur Vertriebspartner-API herstellen kann, müssen Sie sie registrieren und sie muss von einem Vertriebspartner autorisiert werden. Wenn Sie keine Hybrid- oder SP-API-App haben, folgen Sie den Schritten registriere dich als Entwickler, registriere deine Bewerbung, und Autorisierung von API-Anwendungen für Vertriebspartner. Kehren Sie dann zu diesem Tutorial zurück.

Richten Sie als Nächstes Ihren Arbeitsbereich für das Tutorial ein.

Schritt 1. Richte deinen Workspace ein

  1. Erstellen Sie auf Ihrem lokalen Laufwerk ein Verzeichnis für dieses Projekt und benennen Sie es SPAPI_JavaScript_SDK, und navigiere zum neuen Verzeichnis.

    mkdir SPAPI_JavaScript_SDK cd SPAPI_JavaScript_SDK
  2. Laden Sie die folgenden Tools herunter.

  3. Führen Sie den folgenden Befehl aus, um den Swagger Code Generator herunterzuladen:

    wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.29/swagger-codegen-cli-2.4.29.jar
  4. Verwenden Sie den folgenden Befehl, um die Datei abzurufen und die Berechtigungen zu ändern, um sie ausführbar zu machen.

    chmod 744 swagger-codegen-cli-2.4.29.jar
  5. Kopieren swagger-codegen-cli.jar in dein lokales Verzeichnis C:\\SPAPI_JavaScript_SDK.

  6. Gehe in GitHub zu https://github.com/amzn/selling-partner-api-models/tree/main/models und verwende den folgenden Befehl, um das zu klonen selling-partner-api-models Repository in dein lokales Verzeichnis C:\\SPAPI_JavaScript_SDK.

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

    Nachdem Sie das erforderliche Setup abgeschlossen haben, besteht der nächste Schritt darin, das Java SDK mit den Authentifizierungs- und Autorisierungsklassen zu generieren, die im Ordner sellingpartner-api-javascript enthalten sind.

Schritt 2. Generieren Sie ein JavaScript-SDK für Node.js mit LWA-Token-Austausch und Authentifizierung

Navigiere zum SellingPartnerAPISdkJavaScriptNode/src Verzeichnis. In der src Verzeichnis finde das generate-js-sdk.sh shell Skriptdatei. Führen Sie das folgende Skript in der Befehlszeile aus:

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

Sie können sich jetzt die ansehen models und sdk Verzeichnisse, die die API-Modelle bzw. das JavaScript-SDK enthalten, in Ihrem Paketstamm.

Dieser Ordner enthält Hilfsklassen zum Generieren eines Zugriffstokens für Amazon-Verkaufspartner-APIs. Er ist für die Verwendung mit den Vertriebspartner-API-Clientbibliotheken vorgesehen, die von generiert wurden Swagger Codegen mit der RestSharp-Bibliothek. Es kann auch in benutzerdefinierte Projekte integriert werden.

Schritt 3. Erstellen Sie ein lokales NPM-Paket

Verpacken Sie Ihr SDK, um es in mehreren lokalen Projekten zu verwenden, ohne das SDK in der öffentlichen npm-Registrierung zu veröffentlichen.

  1. Öffne dein package.json Datei und füge Folgendes hinzu, um sicherzustellen, dass package.json ist richtig eingerichtet, um die notwendigen Verzeichnisse einzuschließen. :

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

    Dieser Schritt stellt sicher, dass nur die angegebenen Verzeichnisse und deren Inhalt (z. B. src/helper/ und sdk/) sind im Paket enthalten und andere werden ignoriert.

  2. Navigiere zum SellingPartnerAPISdkJavaScriptNode Verzeichnis in Ihrem Terminal oder in der Befehlszeile.

  3. Führen Sie den folgenden Befehl aus, um das Paket zu erstellen:

    npm pack

    Dieser Befehl erstellt einen Tarball (TGZ-Datei) in Ihrem Projektverzeichnis mit dem Namen amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz oder ähnlich, basierend auf dem Namen und der Version Ihres Pakets. Es enthält alle notwendigen Dateien aus Ihrem Projekt und erstellt effektiv ein lokales Paket, das wie jedes veröffentlichte npm-Paket installiert werden kann.

Schritt 4. Erstellen Sie ein neues Projekt mit dem lokalen npm-Paket

Jetzt können Sie ein neues Projekt erstellen, das das lokale npm-Paket verwendet. Mit diesem Ansatz können Sie das SDK in einer Umgebung testen, die der Umgebung ähnelt, auf die Endentwickler stoßen werden.

  1. Geben Sie den folgenden Befehl ein, um ein neues Verzeichnis für das neue Projekt zu erstellen. In diesem Beispiel wird davon ausgegangen, dass Ihr aktuelles Verzeichnis SellingPartnerAPISdkJavaScriptNode/src:

    cd ../../ mkdir MyNewSPAPIProject cd MyNewSPAPIProject
  2. Richten Sie ein neues Node.js Projekt ein, um eine saubere Umgebung zu gewährleisten.

    npm init -y
  3. Folgen Sie den Anweisungen, um Ihr neues Projekt zu initialisieren. Akzeptieren Sie die Standardoptionen, wenn sie Ihren Einstellungen entsprechen.

  4. Installieren Sie das lokale npm-Paket, das Sie in erstellt haben Schritt 3. Erstellen Sie ein lokales NPM-Paket in dieses neue Projekt. Ersetzen Sie für den folgenden Befehl den Platzhalter ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz mit dem tatsächlichen Pfad zu Ihrer TGZ-Datei. Dieser Schritt ist entscheidend, da er simuliert, wie andere Entwickler Ihr SDK in ihre Projekte integrieren werden.

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

    📘

    Hinweis

    Der Weg zu deinem .tgz Die Datei kann absolut oder relativ sein, basierend auf Ihrem aktuellen Arbeitsverzeichnis. Zum Beispiel, wenn dein .tgz Datei befindet sich in der SellingPartnerAPISdkJavaScriptNode Verzeichnis, dein Befehl ist npm install ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz.

    Nach Abschluss dieser Schritte wird Ihr Paket als Abhängigkeit in Ihrem neuen Projekt aufgeführt package.json, und Sie können Funktionen wie gewohnt importieren.

Schritt 5. Stellen Sie mithilfe des generierten JavaScript-SDK für Node.js eine Verbindung zur Vertriebspartner-API her

Nachdem Sie die Authentifizierung eingerichtet haben, können Sie jetzt mit den SP-API-Endpunkten interagieren.

  1. Speichern Sie Ihre LWA-Anmeldeinformationen in einem app.config.mjs Datei im Stammverzeichnis des Projekts.

    touch app.config.mjs
  2. Definieren Sie Ihre Anmeldeinformationen darin app.config.mjs wie folgt:

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

    🚧

    Vorsicht

    Übergeben Sie diese Datei niemals an Ihr Versionskontrollsystem, da sie vertrauliche Informationen enthält. Bitte stellen Sie sicher, dass diese LWA-Anmeldeinformationen sicher in einem verschlüsselten Format gespeichert werden.

  3. Erstellen Sie eine neue Datei mit dem Namen index.js in Ihr Projektstammverzeichnis und fügen Sie das folgende Skript ein, das einen Aufruf an einen bestimmten SP-API-Endpunkt initiiert und die Antwort in der Konsole protokolliert.

    touch index.js
  4. Kopieren Sie Folgendes und fügen Sie es ein 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. Führen Sie das Skript aus: Führen Sie den folgenden Befehl in Ihrem Terminal oder in der Befehlszeile aus, um eine GET-Anfrage an den API-Endpunkt des Verkäufers zu initiieren:

    node index.js

    Dieser Befehl führt Ihr Skript aus, initiiert den API-Aufruf und zeigt die Ergebnisse in Ihrer Konsole an.

    Erwartete Leistung:

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

Hat Ihnen diese Seite weitergeholfen?