Hub per sviluppatoriStato dell'APISupporto

Tutorial: Automatizza le chiamate SP-API utilizzando un SDK JavaScript per Node.js

Automatizza le tue chiamate SP-API con lo scambio e l'autenticazione di token Login with Amazon (LWA).

Questo tutorial fornisce tutti i dettagli necessari per generare un SDK JavaScript per Node.js con lo scambio di token Login with Amazon (LWA) e l'autenticazione per creare la tua applicazione senza problemi. Scoprirai i prerequisiti necessari per creare l'SDK JavaScript per Node.js e visualizzerai anche un esempio utilizzando la Selling Partner API for Sellers e Swagger Code Generator.

L'SDK JavaScript SP-API per Node.js è progettato per l'integrazione lato server con l'API Selling Partner di Amazon. Questo tutorial illustra l'integrazione e l'esecuzione di chiamate SP-API con particolare attenzione all'applicazione pratica, in modo da poter eseguire chiamate API e integrare le funzionalità di Amazon Marketplace direttamente nei processi lato server.

Tutorial

Il seguente tutorial ti aiuterà a configurare il tuo SDK JavaScript per Node.js per automatizzare le chiamate SP-API.

Prerequisiti

Per completare questo tutorial, sono necessari i seguenti prerequisiti:

  • Un'app ibrida o SP-API in stato di bozza o pubblicata
  • Software per l'ambiente di sviluppo integrato (IDE)
  • Java versione 7 o superiore
  • swagger-codegen-cli-2.4.29
  • Node.js v18 o versioni successive

❗️

Avvertenza

È necessario utilizzare swagger-codegen-cli-2.4.29. Se usi swagger-codegen-cli versioni diverse da 2.4.29, la generazione dell'SDK fallirà. L'utilizzo della versione sbagliata potrebbe causare problemi più gravi nel processo di integrazione.

Prima che la tua applicazione possa connettersi all'API del partner di vendita, devi registrarla e deve essere autorizzata da un partner di vendita. Se non disponi di un'app ibrida o SP-API, segui i passaggi per registrati come sviluppatore, registra la tua candidatura, e Autorizzazione delle applicazioni Selling Partner API. Quindi, torna a questo tutorial.

Quindi, configura il tuo spazio di lavoro per il tutorial.

Fase 1. Configura il tuo spazio di lavoro

  1. Sul tuo disco locale, crea una directory per questo progetto, assegnagli un nome SPAPI_Javascript_SDKe vai alla nuova directory.

    mkdir SPAPI_JavaScript_SDK cd SPAPI_JavaScript_SDK
  2. Scarica i seguenti strumenti.

  3. Esegui il seguente comando per scaricare Swagger Code Generator:

    wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.29/swagger-codegen-cli-2.4.29.jar
  4. Usa il seguente comando per ottenere il file e modificare le autorizzazioni per renderlo eseguibile.

    chmod 744 swagger-codegen-cli-2.4.29.jar
  5. Copia swagger-codegen-cli.jar nella tua rubrica locale C:\\SPAPI_JavaScript_SDK.

  6. In GitHub, vai a https://github.com/amzn/selling-partner-api-models/tree/main/models e usa il seguente comando per clonare selling-partner-api-models repository nella tua directory locale C:\\SPAPI_JavaScript_SDK.

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

    Ora che hai completato la configurazione richiesta, il passaggio successivo consiste nel generare l'SDK Java con le classi di autenticazione e autorizzazione fornite nella cartella sellingpartner-api-javascript.

Fase 2. Genera un SDK JavaScript per Node.js con scambio di token LWA e autenticazione

Naviga fino alla SellingPartnerAPISdkJavaScriptNode/src elenco. Nel src trova la directory generate-js-sdk.sh shell file di script. Esegui il seguente script nella riga di comando:

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

È ora possibile visualizzare il models e sdk directory, che contengono rispettivamente i modelli API e l'SDK JavaScript, nella radice del pacchetto.

Questa cartella fornisce classi di supporto per generare un token di accesso per le API Amazon Selling Partner. È destinata all'uso con le librerie client dell'API di Selling Partner generate da Codegen Swagger utilizzando la libreria RestSharp. Può anche essere integrato in progetti personalizzati.

Fase 3. Crea un pacchetto npm locale

Crea un pacchetto del tuo SDK per utilizzarlo su più progetti locali senza pubblicare l'SDK nel registro pubblico di npm.

  1. Apri il tuo package.json archivia e aggiungi quanto segue per assicurarti che package.json è impostato correttamente per includere le directory necessarie. :

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

    Questo passaggio garantisce che solo le directory specificate e il loro contenuto (ad esempio, src/helper/ e sdk/) sono inclusi nel pacchetto e gli altri vengono ignorati.

  2. Naviga fino alla SellingPartnerAPISdkJavaScriptNode directory nel terminale o nel prompt dei comandi.

  3. Esegui il comando seguente per creare il pacchetto:

    npm pack

    Questo comando crea un tarball (file TGZ) nella directory del progetto, denominato amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz o simile, in base al nome e alla versione del pacchetto. Include tutti i file necessari del progetto, creando efficacemente un pacchetto locale che può essere installato proprio come qualsiasi pacchetto npm pubblicato.

Fase 4. Crea un nuovo progetto usando il pacchetto npm locale

Ora puoi creare un nuovo progetto che utilizza il pacchetto npm locale. Con questo approccio, puoi testare l'SDK in un ambiente simile a quello che incontreranno gli sviluppatori finali.

  1. Immettete il seguente comando per creare una nuova cartella per il nuovo progetto. Questo esempio presuppone che la cartella corrente sia SellingPartnerAPISdkJavaScriptNode/src:

    cd ../../ mkdir MyNewSPAPIProject cd MyNewSPAPIProject
  2. Configura un nuovo progetto Node.js per garantire un ambiente pulito.

    npm init -y
  3. Segui le istruzioni per inizializzare il tuo nuovo progetto. Accetta le opzioni predefinite se corrispondono alle tue preferenze.

  4. Installa il pacchetto npm locale che hai creato Fase 3. Crea un pacchetto npm locale in questo nuovo progetto. Per il comando seguente, sostituisci il segnaposto ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz con il percorso effettivo del file TGZ. Questo passaggio è fondamentale perché simula il modo in cui altri sviluppatori integreranno il tuo SDK nei loro progetti.

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

    📘

    Nota

    Il percorso verso il tuo .tgz il file può essere assoluto o relativo, in base alla directory di lavoro corrente. Ad esempio, se il tuo .tgz il file è in SellingPartnerAPISdkJavaScriptNode directory, il tuo comando è npm install ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz.

    Dopo aver completato questi passaggi, il pacchetto verrà elencato come dipendenza nel nuovo progetto package.jsone puoi importare funzionalità come faresti normalmente.

Fase 5. Connettiti all'API Selling Partner utilizzando l'SDK JavaScript generato per Node.js

Con l'autenticazione impostata, ora sei pronto per interagire con gli endpoint SP-API.

  1. Memorizza le tue credenziali LWA in un app.config.mjs file all'interno della radice del progetto.

    touch app.config.mjs
  2. Definisci le tue credenziali all'interno app.config.mjs come segue:

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

    🚧

    Attenzione

    Non inviare mai questo file al tuo sistema di controllo della versione in quanto contiene informazioni sensibili. Assicurati che queste credenziali LWA siano archiviate in modo sicuro in un formato crittografato.

  3. Crea un nuovo file denominato index.js nella directory principale del progetto e inserite il seguente script, che avvia una chiamata a un endpoint SP-API specifico e registra la risposta nella console.

    touch index.js
  4. Copia e incolla quanto segue in 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. Esegui lo script: esegui il seguente comando nel tuo terminale o nel prompt dei comandi per avviare una richiesta GET all'endpoint API di Sellers:

    node index.js

    Questo comando esegue lo script, avvia la chiamata API e visualizza i risultati nella console.

    Produzione prevista:

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

Questa pagina ti è stata utile?