SDK Usage Examples (Fall ‘20 version)

This topic and the topics that follow illustrate several examples for instantiating and using the Digital Commerce SDK.

1// Instantiate DigitalCommerceConfig for anonymous user
2const digitalCommerceConfig = VlocitySDK.digitalcommerce.createConfigForAnonymousUser();
3
4// Instantiate the SDK itself
5const digitalCommerce = VlocitySDK.digitalcommerce.getInstance(digitalCommerceConfig);
6
7OR
8
9// Instantiate DigitalCommerceConfig for login user
10const digitalCommerceConfig = VlocitySDK.digitalcommerce.createConfigForLoginUser(salesforceUrl, sessionToken);
11
12// Instantiate DigitalCommerceConfig for login user with proxy server URL
13const digitalCommerceConfig = VlocitySDK.digitalcommerce.createConfigForLoginUser(salesforceUrl, sessionToken, proxyUrl);
14
15// Instantiate the SDK itself
16const digitalCommerce = VlocitySDK.digitalcommerce.getInstance(digitalCommerceConfig);
17
18// To override the default namespace with your custom namespace
19this.digitalCommerce.namespace = "vlocity_cmt"; // use your custom namespace
20
21// To override the default custom api URL with your custom api URL
22this.digitalCommerce.apiURL = "YOUR_CUSTOM_API_URL"; // use your custom URL
23
24// To override the default api URL authToken
25this.digitalCommerce.authToken = "YOUR_CUSTOM_AUTH_TOKEN"; // use your custom authToken
26
27Note:
28digitalCommerce is a Singleton object.  Calling getInstance(digitalCommerceConfig) repeatedly will return the same instance instantiated the first time when getInstance(digitalCommerceConfig) was called.
29
30// To instantiate a new instance of digitalCommerce, set create to true in the digitalCommerceConfig object:
31digitalCommerceConfig.create = true;
32digitalCommerce = VlocitySDK.digitalcommerce.getInstance(digitalCommerceConfig);

Possible error conditions:

  • “VlocityDigitalCommerce::getInstance: Config object must be given in argument to create an instance the first time.”

  • “VlocityDigitalCommerce::constructor: VlocityDigitalCommerce cannot be instantiated properly. Both datasource and user context objects have to be in Config object as argument.”