Alokai SDK is a framework-agnostic communication layer in Alokai Integrations. It communicates with Commerce Platforms and third-party services through the Server Middleware, which works as a proxy. Alokai SDK creates a contract between the storefront and the Server Middleware.
To learn more about the SDK, visit the SDK documentation.
To install the SDK, run the following command:
yarn add @vue-storefront/sdk
Before initializing the SDK, ensure you have also installed the desired SDK modules for your project. For instance, to use the SAP Commerce Cloud module, you'll need to install it as well:
yarn add @vsf-enterprise/sapcc-sdk
Warning! The installation process for each module varies and may necessitate additional package installations. Be sure to consult the installation guide for the specific module you intend to use.
The examples below use the SAP Commerce Cloud module. However, the same principles apply to all modules.
To initialize the SDK, begin by providing the sdkConfig
, which is an object containing the complete SDK configuration.
const sdkConfig = {};
Now, let's incorporate a module into the configuration. To accomplish this, you should:
- Import the desired module. By default, it exports a function that returns a collection of module methods. Alokai modules also export a type for these methods.
// SAPCC Example
import { sapccModule, SAPCCModuleType } from '@vsf-enterprise/sapcc-sdk';
- Import the
buildModule
helper from the@vue-storefront/sdk package
. This helper is used by the SDK core to properly type the module, enabling IDEs to display TSDocs when hovering over the module's methods.
// SAPCC Example
import { sapccModule, SAPCCModuleType } from '@vsf-enterprise/sapcc-sdk';
import { buildModule } from '@vue-storefront/sdk';
- Create a namespace for the module in the
sdkConfig
and usebuildModule
helper to build it.
// SAPCC Example
import { sapccModule, SAPCCModuleType } from '@vsf-enterprise/sapcc-sdk';
import { buildModule } from '@vue-storefront/sdk';
const sdkConfig = {
sapcc:
buildModule<SAPCCModuleType>(
sapccModule,
{
apiUrl: 'http://localhost:8181/sapcc',
ssrApiUrl: 'http://localhost:8181/sapcc'
}
)
};
Let's now learn about the buildModule
in detail.
The buildModule function is a generic function that expects both the module's methods type and the module's extension type.
This helper accepts 3 arguments:
- module init function (the default export of a module),
- module options,
- module extension.
- Now, when the
sdkConfig
is ready, you should importinitSDK
function from@vue-storefront/sdk
package and export it, as shown below.
// SAPCC Example
import { sapccModule, SAPCCModuleType } from '@vsf-enterprise/sapcc-sdk';
import { initSDK, buildModule } from '@vue-storefront/sdk';
const sdkConfig = {
sapcc:
buildModule<SAPCCModuleType>(
sapccModule,
{
apiUrl: 'http://localhost:8181/sapcc',
ssrApiUrl: 'http://localhost:8181/sapcc'
}
)
};
export const sdk = initSDK<typeof sdkConfig>(sdkConfig);
The initSDK
function is a generic function, that expects the type of the sdkConfig
.
It accepts the sdkConfig
as an argument and returns the sdk
client.