commerce-sdk-isomorphic
The Salesforce Commerce SDK Isomorphic allows easy interaction with the Salesforce B2C Commerce platform Shopper APIs through a lightweight SDK that works both on browsers and nodejs applications. For a more robust SDK, which includes our B2C Data APIS and Shopper APIs, see our Node.js Commerce SDK.
Building
To create the SDK package:
# Install dependencies needed to run generation
$ yarn install
# Parse API files, render templates to src/lib folder and copy static files to src/lib
$ yarn run renderTemplates
# Launch sample application
$ yarn start
# Transpile and minify
$ yarn build:lib
# Run tests
$ yarn test
Usage
An example React App is available at ./src/environment/App
directory. To use the sample application, configure these parameters in ./src/environment/config.js
file.
Note: These are required parameters.
Parameter | Description |
---|
clientId | ID of the client account created with Salesforce Commerce. |
organizationId | The unique identifier for your Salesforce identity. |
shortCode | Region specific merchant ID. |
siteId | A unique site ID (for example, RefArch or SiteGenesis). |
const config = {
proxy: 'https://localhost:3000',
headers: {},
parameters: {
clientId: '<your-client-id>',
organizationId: '<your-org-id>',
shortCode: '<your-short-code>',
siteId: '<your-site-id>'
}
}
Launch the sample application using yarn start
. Access the sample application using a new browser window at this url localhost:3000
.
Advanced options
Commerce SDK Isomorphic supports advanced Fetch API options by a simple configuration.
This sample code shows how to configure HTTP timeout and agent options in ./src/environment/config.js
file
const https = require("https");
const config = {
proxy: 'https://localhost:3000',
headers: {},
parameters: {
clientId: '<your-client-id>',
organizationId: '<your-org-id>',
shortCode: '<your-short-code>',
siteId: '<your-site-id>'
},
fetchOptions: {
timeout: 2000,
agent: new https.agent({
keepAlive: true
})
}
}
Testing
Two types of tests occur when running yarn test
. First, unit tests are executed with jest including an enforced coverage level. This is all tests not contained within the sample app path of src/environment
. If that passes, tests within the sample app path are executed using the react-scripts
configuration. These allow for testing of the SDK within a sample React application.
License Information
The Commerce SDK Isomorphic is licensed under BSD-3-Clause license. See the license for details.