Eğitim: Node.js için JavaScript SDK'sı kullanarak SP-API Çağrılarınızı otomatikleştirin
Amazon (LWA) token değişimi ve kimlik doğrulaması ile Oturum Açma ile SP-API çağrılarınızı otomatikleştirin.
Bu eğitim, uygulamanızı sorunsuz bir şekilde oluşturmak için Amazon (LWA) token değişimi ve kimlik doğrulaması ile Node.js için bir JavaScript SDK'sı oluşturmak için gerekli tüm ayrıntıları sağlar. Node.js için JavaScript SDK'sını oluşturmak için gereken ön koşulları öğrenir ve ayrıca Satıcılar için Satış Ortağı API'sini ve Swagger Kod Oluşturucusunu kullanarak bir örnek görüntüleyebilirsiniz.
Node.js için SP-API JavaScript SDK'sı, Amazon'un Satış Ortağı API'si ile sunucu tarafı entegrasyonu için tasarlanmıştır. Bu eğitim, API çağrılarını yürütebilmeniz ve Amazon'un pazar yetkinliklerini doğrudan sunucu tarafı süreçlerinize entegre edebilmeniz için pratik uygulamalara odaklanarak SP-API çağrılarını entegre etmeyi ve gerçekleştirmeyi kapsar.
Eğitim
Aşağıdaki eğitim, SP-API çağrılarını otomatikleştirmek için Node.js için kendi JavaScript SDK'ınızı kurmanıza yardımcı olacaktır.
Ön koşullar
Bu eğitimi tamamlamak için aşağıdaki ön koşullara ihtiyacınız vardır:
- Taslak veya yayınlanmış durumda bir hibrit veya SP-API uygulaması
- Entegre geliştirme ortamı (IDE) yazılımı
- Java sürüm 7 veya üstü
swagger-codegen-cli-2.4.29
- Node.js v18 veya üstü
Uyarı
Kullanmalısın
swagger-codegen-cli-2.4.29
. Eğer kullanırsanızswagger-codegen-cli
dışındaki versiyonlar 2.4.29, SDK'nın oluşturulması başarısız olur. Yanlış sürümün kullanılması, entegrasyon sürecinde daha büyük sorunlara neden olabilir.
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.
Ardından, eğitim için çalışma alanınızı ayarlayın.
Adım 1. Çalışma alanınızı ayarlayın
-
Yerel sürücünüzde, bu proje için bir dizin oluşturun, adlandırın SPAPI_JavaScript_SDKve yeni dizine gidin.
mkdir SPAPI_JavaScript_SDK cd SPAPI_JavaScript_SDK -
Aşağıdaki araçları indirin.
- IDE software (this walkthrough uses Visual Studio IDE on Windows OS)
- GNU Wget
- Java sürüm 7 veya üstü
-
Swagger Code Generator'ı indirmek için aşağıdaki komutu çalıştırın:
wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.29/swagger-codegen-cli-2.4.29.jar -
Dosyayı almak ve yürütülebilir hale getirmek için izinleri değiştirmek için aşağıdaki komutu kullanın.
chmod 744 swagger-codegen-cli-2.4.29.jar -
Kopyalama
swagger-codegen-cli.jar
yerel dizininizeC:\\SPAPI_JavaScript_SDK
. -
In GitHub, go to
https://github.com/amzn/selling-partner-api-models/tree/main/models
and use the following command to clone theselling-partner-api-models
repository to your local directoryC:\\SPAPI_JavaScript_SDK
.git clone https://github.com/amzn/selling-partner-api-modelsNow 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.
Adım 2. LWA belirteç değişimi ve kimlik doğrulaması ile Node.js için bir JavaScript SDK oluşturun
Şuraya git SellingPartnerAPISdkJavaScriptNode/src
dizin. İçinde src
dizini bul generate-js-sdk.sh shell
komut dosyası. Komut satırında aşağıdaki komut dosyasını çalıştırın:
cd SellingPartnerAPISdkJavaScriptNode/src
./generate-js-sdk.sh -j ../../swagger-codegen-cli-2.4.29.jar
Artık görüntüleyebilirsiniz models
ve sdk
paket kökünde sırasıyla API modellerini ve JavaScript SDK'sını içeren dizinler.
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.
Adım 3. Yerel bir npm paketi oluşturun
SDK'yı genel npm kayıt defterinde yayınlamadan birden çok yerel projede kullanmak üzere SDK'nızı paketleyin.
-
Açın
package.json
dosyalayın ve aşağıdakilerden emin olmak için aşağıdakileri ekleyinpackage.json
gerekli dizinleri içerecek şekilde ayarlanmıştır. :"files": [ "src/helper/", "sdk/" ]Bu adım, yalnızca belirtilen dizinlerin ve içeriklerinin olmasını sağlar (örneğin,
src/helper/
vesdk/
) pakete dahil edilir ve diğerleri göz ardı edilir. -
Şuraya git
SellingPartnerAPISdkJavaScriptNode
terminalinizdeki veya komut isteminizdeki dizin. -
Paketi oluşturmak için aşağıdaki komutu çalıştırın:
npm packBu komut, proje dizininizde isimli bir tarball (TGZ dosyası) oluşturur
amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz
veya benzer, paketinizin adına ve sürümüne göre. Projenizden gerekli tüm dosyaları içerir ve tıpkı yayınlanmış herhangi bir npm paketi gibi kurulabilen yerel bir paket etkili bir şekilde oluşturur.
Adım 4. Yerel npm paketini kullanarak yeni bir proje oluşturun
Artık yerel npm paketini kullanan yeni bir proje oluşturabilirsiniz. Bu yaklaşımla, SDK'yı son geliştiricilerin karşılaşacağı gibi bir ortamda test edebilirsiniz.
-
Yeni proje için yeni bir dizin oluşturmak için aşağıdaki komutu girin. Bu örnek, geçerli dizininizin olduğunu varsayar
SellingPartnerAPISdkJavaScriptNode/src
:cd ../../ mkdir MyNewSPAPIProject cd MyNewSPAPIProject -
Temiz bir ortam sağlamak için yeni bir Node.js projesi kurun.
npm init -y -
Yeni projenizi başlatmak için talimatları izleyin. Tercihlerinizle eşleşiyorsa varsayılan seçenekleri kabul edin.
-
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.tgzNot
Size giden yol
.tgz
dosya mevcut çalışma dizininize bağlı olarak mutlak veya göreceli olabilir. Örneğin, eğer.tgz
dosya içindeSellingPartnerAPISdkJavaScriptNode
dizin, komutunuznpm install ../SellingPartnerAPISdkJavaScriptNode/amzn-testsellingpartnerjavascriptapilwalib-1.0.0.tgz
.Bu adımları tamamladıktan sonra, paketiniz yeni projenizde bağımlılık olarak listelenecektir
package.json
, ve normalde yaptığınız gibi işlevleri içe aktarabilirsiniz.
Adım 5. Node.js için oluşturulan JavaScript SDK'sını kullanarak Satış Ortağı API'sine bağlanın
Kimlik doğrulama ayarlandığında artık SP-API uç noktalarıyla etkileşime girmeye hazırsınız.
-
LWA kimlik bilgilerinizi bir yerde saklayın
app.config.mjs
proje kökü içindeki dosya.touch app.config.mjs -
Kimlik bilgilerinizi içeride tanımlayın
app.config.mjs
aşağıdaki gibi:export const AppConfig = { lwaClientId: "< LWA client ID >", lwaClientSecret: "< LWA client secret >", lwaRefreshToken: "< LWA refresh token >", }Dikkat
Hassas bilgiler içerdiğinden bu dosyayı asla sürüm kontrol sisteminize teslim etmeyin. Lütfen bu LWA kimlik bilgilerinin şifreli bir biçimde güvenli bir şekilde saklandığından emin olun.
-
Adlı yeni bir dosya oluşturun
index.js
proje kök dizininizde ve belirli bir SP-API uç noktasına bir çağrı başlatan ve yanıtı konsola kaydeden aşağıdaki komut dosyasını ekleyin.touch index.js -
Aşağıdakileri kopyalayıp yapıştırın
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**********************************' ); })(); -
Komut dosyasını çalıştırın: Satıcılar API uç noktasına bir GET isteği başlatmak için terminalinizde veya komut isteminizde aşağıdaki komutu çalıştırın:
node index.jsBu komut, komut dosyanızı çalıştırır, API çağrısını başlatır ve sonuçları konsolunuzda görüntüler.
Beklenen Çıktı:
{ "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