Skip to content

Storefront SDK Methods Reference

Complete reference for the Commerce Engine Storefront SDK (@commercengine/storefront-sdk). This SDK provides comprehensive e-commerce functionality for building storefronts, customer portals, and shopping experiences.

SDK Setup

Installation

bash
npm install @commercengine/storefront-sdk

Basic Configuration

typescript
import StorefrontSDK, { Environment } from "@commercengine/storefront-sdk";

const sdk = new StorefrontSDK({
  storeId: "your-store-id",
  environment: Environment.Staging, // or Environment.Production
  apiKey: "your-api-key", // Required for authentication
});
typescript
import StorefrontSDK, { BrowserTokenStorage, Environment } from "@commercengine/storefront-sdk";

const sdk = new StorefrontSDK({
  storeId: "your-store-id",
  environment: Environment.Production,
  apiKey: "your-api-key",

  // Automatic token management (recommended)
  tokenStorage: new BrowserTokenStorage("myapp_"),
  
  // Optional: Default headers for all requests
  defaultHeaders: {
    customer_group_id: "01JHS28V83KDWTRBXXJQRTEKA0", // For pricing and promotions
  },
  
  // Optional: Debug mode for development
  debug: true,
  logger: console.log,
  
  // Optional: Token lifecycle callbacks
  onTokensUpdated: (accessToken, refreshToken) => {
    console.log("Tokens updated automatically!");
  },
  onTokensCleared: () => {
    console.log("User logged out");
  },
});

Available Token Storage Options

Choose the storage method that fits your environment:

typescript
// Browser localStorage (most common)
import { BrowserTokenStorage } from "@commercengine/storefront-sdk";
tokenStorage: new BrowserTokenStorage("myapp_")

// Cookies (for SSR or cross-tab sync)
import { CookieTokenStorage } from "@commercengine/storefront-sdk";
tokenStorage: new CookieTokenStorage({ prefix: "myapp_" })

// Memory (for server-side or temporary storage)
import { MemoryTokenStorage } from "@commercengine/storefront-sdk";
tokenStorage: new MemoryTokenStorage()

Total Storefront SDK Methods: 89

SDK Clients Overview

ClientSDK UsageDescriptionMethods
AuthClientsdk.auth.*Login, registration, OTP, password management25
CartClientsdk.cart.*Cart management, coupons, promotions21
CatalogClientsdk.catalog.*Products, categories, search, variants12
CustomerClientsdk.customer.*Customer profiles, addresses, preferences12
HelpersClientsdk.helpers.*Countries, currencies, utilities3
OrderClientsdk.order.*Order creation, tracking, history9
PaymentsClientsdk.payments.*API operations4
ShippingClientsdk.shipping.*Shipping methods, rates, tracking2
StoreConfigClientsdk.storeconfig.*Store configuration and settings1

AuthClient

SDK Instance: sdk.auth

Methods: 25

SDK MethodHTTP MethodAPI Path
getAnonymousTokenPOST/auth/anonymous
changePasswordPOST/auth/change-password
forgotPasswordPOST/auth/forgot-password
generateOtpPOST/auth/generate-otp
loginWithEmailPOST/auth/login/email
loginWithPasswordPOST/auth/login/password
loginWithPhonePOST/auth/login/phone
loginWithWhatsAppPOST/auth/login/whatsapp
logoutPOST/auth/logout
refreshTokenPOST/auth/refresh-token
registerWithEmailPOST/auth/register/email
registerWithPhonePOST/auth/register/phone
resetPasswordPOST/auth/reset-password
getUserDetailsGET/auth/user/{id}
updateUserDetailsPUT/auth/user/{id}
deactivateUserAccountPUT/auth/user/{id}/deactivate
getUserNotificationPreferencesGET/auth/user/{id}/notification-preferences
updateUserNotificationPreferencesPUT/auth/user/{id}/notification-preferences
createUserNotificationPreferencePOST/auth/user/{id}/notification-preferences
addProfileImagePOST/auth/user/{id}/profile-image
updateProfileImagePUT/auth/user/{id}/profile-image
deleteProfileImageDELETE/auth/user/{id}/profile-image
getProfileImageGET/auth/user/{id}/profile-image
checkEmailOrPhoneIsVerifiedPOST/auth/verified-email-phone
verifyOtpPOST/auth/verify-otp

CartClient

SDK Instance: sdk.cart

Methods: 21

SDK MethodHTTP MethodAPI Path
createCartPOST/carts
getAvailableCouponsGET/carts/available-coupons
getAvailablePromotionsGET/carts/available-promotions
getUserCartGET/carts/users/{user_id}
deleteUserCartDELETE/carts/users/{user_id}
getCartGET/carts/{id}
deleteCartDELETE/carts/{id}
updateCartAddressPOST/carts/{id}/address
applyCouponPOST/carts/{id}/coupon
removeCouponDELETE/carts/{id}/coupon
redeemCreditBalancePOST/carts/{id}/credit-balance
removeCreditBalanceDELETE/carts/{id}/credit-balance
evaluateCouponsGET/carts/{id}/evaluate-coupons
evaluatePromotionsGET/carts/{id}/evaluate-promotions
updateFulfillmentPreferencePOST/carts/{id}/fulfillment-preference
addDeleteCartItemPOST/carts/{id}/items
redeemLoyaltyPointsPOST/carts/{id}/loyalty-points
removeLoyaltyPointsDELETE/carts/{id}/loyalty-points
getWishlistGET/wishlist/{user_id}
addToWishlistPOST/wishlist/{user_id}
removeFromWishlistDELETE/wishlist/{user_id}

CatalogClient

SDK Instance: sdk.catalog

Methods: 12

SDK MethodHTTP MethodAPI Path
listCategoriesGET/catalog/categories
listProductsGET/catalog/products
listCrossSellProductsGET/catalog/products/cross-sell
searchProductsPOST/catalog/products/search
listSimilarProductsGET/catalog/products/similar
listUpSellProductsGET/catalog/products/up-sell
getProductDetailGET/catalog/products/{product_id_or_slug}
listProductReviewsGET/catalog/products/{product_id}/reviews
createProductReviewPOST/catalog/products/{product_id}/reviews
listProductVariantsGET/catalog/products/{product_id}/variants
getVariantDetailGET/catalog/products/{product_id}/variants/{variant_id}
listSkusGET/catalog/skus

CustomerClient

SDK Instance: sdk.customer

Methods: 12

SDK MethodHTTP MethodAPI Path
createCustomerPOST/customers
listSavedPaymentMethodsGET/customers/{customer_id}/payment-methods
getCustomerGET/customers/{id}
updateCustomerPUT/customers/{id}
listAddressesGET/customers/{user_id}/addresses
createAddressPOST/customers/{user_id}/addresses
getAddressGET/customers/{user_id}/addresses/{address_id}
updateAddressPUT/customers/{user_id}/addresses/{address_id}
deleteAddressDELETE/customers/{user_id}/addresses/{address_id}
getLoyaltyDetailsGET/customers/{user_id}/loyalty
listLoyaltyPointsActivityGET/customers/{user_id}/loyalty-points-activity
listCustomerReviewsGET/customers/{user_id}/reviews

HelpersClient

SDK Instance: sdk.helpers

Methods: 3

SDK MethodHTTP MethodAPI Path
listCountriesGET/common/countries
listCountryPincodesGET/common/countries/{country_iso_code}/pincodes
listCountryStatesGET/common/countries/{country_iso_code}/states

OrderClient

SDK Instance: sdk.order

Methods: 9

SDK MethodHTTP MethodAPI Path
createOrderPOST/orders
listOrdersGET/orders
getOrderDetailsGET/orders/{order_number}
cancelOrderPOST/orders/{order_number}/cancel
getPaymentStatusGET/orders/{order_number}/payment-status
listOrderPaymentsGET/orders/{order_number}/payments
listOrderRefundsGET/orders/{order_number}/refunds
retryOrderPaymentPOST/orders/{order_number}/retry-payment
listOrderShipmentsGET/orders/{order_number}/shipments

PaymentsClient

SDK Instance: sdk.payments

Methods: 4

SDK MethodHTTP MethodAPI Path
authenticateDirectOtpPOST/payments/authenticate-direct-otp
listPaymentMethodsGET/payments/payment-methods
resendDirectOtpPOST/payments/resend-direct-otp
verifyVpaGET/payments/verify-vpa

ShippingClient

SDK Instance: sdk.shipping

Methods: 2

SDK MethodHTTP MethodAPI Path
getFulfillmentOptionsPOST/shipping/fulfillment-options
checkPincodeDeliverabilityGET/shipping/serviceability/{pincode}

StoreConfigClient

SDK Instance: sdk.storeconfig

Methods: 1

SDK MethodHTTP MethodAPI Path
getStoreConfigGET/store/config

Auto-generated from SDK source code and OpenAPI specifications

Last updated: