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 usiswagger-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
-
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 -
Scarica i seguenti strumenti.
- Software IDE (questa procedura dettagliata utilizza Visual Studio IDE su sistema operativo Windows)
- GNU Wget
- Java versione 7 o superiore
-
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 -
Usa il seguente comando per ottenere il file e modificare le autorizzazioni per renderlo eseguibile.
chmod 744 swagger-codegen-cli-2.4.29.jar -
Copia
swagger-codegen-cli.jar
nella tua rubrica localeC:\\SPAPI_JavaScript_SDK
. -
In GitHub, vai a
https://github.com/amzn/selling-partner-api-models/tree/main/models
e usa il seguente comando per clonareselling-partner-api-models
repository nella tua directory localeC:\\SPAPI_JavaScript_SDK
.git clone https://github.com/amzn/selling-partner-api-modelsOra 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.
-
Apri il tuo
package.json
archivia e aggiungi quanto segue per assicurarti chepackage.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/
esdk/
) sono inclusi nel pacchetto e gli altri vengono ignorati. -
Naviga fino alla
SellingPartnerAPISdkJavaScriptNode
directory nel terminale o nel prompt dei comandi. -
Esegui il comando seguente per creare il pacchetto:
npm packQuesto 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.
-
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 -
Configura un nuovo progetto Node.js per garantire un ambiente pulito.
npm init -y -
Segui le istruzioni per inizializzare il tuo nuovo progetto. Accetta le opzioni predefinite se corrispondono alle tue preferenze.
-
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.tgzNota
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 è inSellingPartnerAPISdkJavaScriptNode
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.json
e 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.
-
Memorizza le tue credenziali LWA in un
app.config.mjs
file all'interno della radice del progetto.touch app.config.mjs -
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.
-
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 -
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**********************************' ); })(); -
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.jsQuesto 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 } } ] }
Updated 23 days ago