この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
Salesforce Commerce SDK を使用して、B2C Commerce API への最初のリクエストを行います。
On-Demand Sandbox の操作については、On-Demand Sandbox を使用した開発を参照してください。
このデモでは、Shopper Search API を使用して、ストアフロントのサンプルカタログに掲載されているワンピースを検索します。
まず、テストプロジェクトを作成し、SDK をパッケージ依存としてインストールします。
ターミナルを開き、次のコマンドを実行します。
1mkdir test-commerce-sdk
2cd test-commerce-sdk
3npm init -y
4npm install commerce-sdkget-dresses.js という名前のファイルを作成し、テキストエディターで開きます。
以下のデモコードをコピーし、ファイルにペーストします。
1const { Search, Customer } = require("commerce-sdk");
2
3const SLAS_CLIENT_ID = "da422690-7800-41d1-8ee4-3ce983961078";
4// WARNING: Secret is provided here for convenience only. Do not include secrets in your code!
5const SLAS_CLIENT_SECRET = "D*HHUrgO2%qADp2JTIUi";
6// const SLAS_CLIENT_SECRET = process.env.SLAS_CLIENT_SECRET
7const ORG_ID = "f_ecom_zzte_053";
8const SHORT_CODE = "kv7kzm78";
9const SITE_ID = "RefArch";
10
11// Client configuration parameters
12const config = {
13 headers: {},
14 parameters: {
15 clientId: SLAS_CLIENT_ID,
16 organizationId: ORG_ID,
17 shortCode: SHORT_CODE,
18 siteId: SITE_ID,
19 },
20};
21
22/**
23 * Get the shopper or guest JWT/access token, along with a refresh token, using client credentials
24 *
25 * @returns guest user authorization token
26 */
27async function getGuestUserAuthToken() {
28 const base64Auth = Buffer.from(`${SLAS_CLIENT_ID}:${SLAS_CLIENT_SECRET}`).toString("base64");
29 const headers = { Authorization: `Basic ${base64Auth}` };
30 const loginClient = new Customer.ShopperLogin(config);
31 return await loginClient.getAccessToken({
32 headers,
33 body: { grant_type: "client_credentials", channel_id: "RefArch" },
34 });
35}
36
37// Get a JWT to use with Shopper API clients
38async function run() {
39 let tokenData;
40 try {
41 tokenData = await getGuestUserAuthToken();
42 } catch (e) {
43 console.error(e);
44 console.error(await e.response.text());
45 return;
46 }
47
48 // Add the token to the client configuration
49 config.headers["authorization"] = `Bearer ${tokenData.access_token}`;
50
51 // Search for dresses
52 const searchClient = new Search.ShopperSearch(config);
53 const limit = 3;
54 const searchResults = await searchClient.productSearch({
55 parameters: { q: "dress", limit: limit },
56 });
57
58 if (searchResults.total) {
59 for (i = 0; i < limit; i++) {
60 const result = searchResults.hits[i];
61 console.log(`💃 ${result.productId} ${result.productName}`);
62 }
63 } else {
64 console.log("No results for search");
65 }
66}
67
68run();ターミナルに戻り、次のデモコードを実行します。
1node get-dresses.jsget-dresses.js の出力は、次のようになります。
1💃 25592581M Floral Dress
2💃 25593727M V-Neck Dress
3💃 25589753M Pack-And-Go Dressその他のサンプルコードについては、Commerce SDK リポジトリの examples ディレクトリを参照してください。
このデモでは、以下の設定タスクをすでに完了しています。
API と SDK を 実際の B2C Commerce インスタンスで使用するには、これらの設定タスクを各自が完了する必要があります。これらのタスクについては、ベース URL とリクエストの作成と Shopper API の認可のガイドで説明しています。
設定タスクを完了したら、SDK の README と API 参照資料の API 仕様を確認してください。