SazitoSazito SDKv1.2.2
Getting Started

Configuration

Configure retries, timeout, cache policy, custom fetch, and debugging.

Client configuration

import { createSazitoClient } from '@sazito/client-sdk';

const client = createSazitoClient({
  domain: 'mystore.sazito.com',
  timeout: 30000,
  customFetchApi: fetch,
  debug: false,
  retry: {
    enabled: true,
    retries: 3,
    retryDelay: 1000,
  },
  cache: {
    products: { enabled: true, ttl: 600000 },
    categories: { enabled: true, ttl: 600000 },
    cart: { enabled: false },
    orders: { enabled: false },
    search: { enabled: true, ttl: 300000 },
    cms: { enabled: true, ttl: 600000 },
    tags: { enabled: true, ttl: 600000 },
    entityRoutes: { enabled: true, ttl: 600000 },
  },
});

Fields (all config keys)

FieldTypeRequiredNotes
domainstringYesStore domain without protocol
timeoutnumberNoGlobal request timeout in ms
customFetchApitypeof fetchNoOverride runtime fetch implementation
debugbooleanNoEnables request logging
retryRetryConfigNoRetry policy object
retry.enabledbooleanNoEnables/disables retry behavior
retry.retriesnumberNoMax retry attempts (0-3)
retry.retryDelaynumberNoBase delay in ms between retries
cacheCacheMapNoModule-level cache configuration
cache.productsCacheConfigNoCache config for products API
cache.categoriesCacheConfigNoCache config for categories API
cache.cartCacheConfigNoCache config for cart API
cache.ordersCacheConfigNoCache config for orders API
cache.searchCacheConfigNoCache config for search API
cache.cmsCacheConfigNoCache config for CMS API
cache.tagsCacheConfigNoCache config for tags API
cache.entityRoutesCacheConfigNoCache config for entity routes API
cache.*.enabledbooleanNoTurns cache on/off for that module
cache.*.ttlnumberNoTime-to-live in ms for cached GET data

CacheMap shape:

type CacheMap = {
  products?: CacheConfig;
  categories?: CacheConfig;
  cart?: CacheConfig;
  orders?: CacheConfig;
  search?: CacheConfig;
  cms?: CacheConfig;
  tags?: CacheConfig;
  entityRoutes?: CacheConfig;
};

type CacheConfig = {
  enabled: boolean;
  ttl?: number;
};

Defaults

If a field is omitted, SDK defaults are used:

FieldDefault
timeout30000
retry.enabledtrue
retry.retries3
retry.retryDelay1000
cache.products{ enabled: true, ttl: 600000 }
cache.categories{ enabled: true, ttl: 600000 }
cache.cart{ enabled: false }
cache.orders{ enabled: false }
cache.search{ enabled: true, ttl: 300000 }
cache.cms{ enabled: true, ttl: 600000 }
cache.tags{ enabled: true, ttl: 600000 }
cache.entityRoutes{ enabled: true, ttl: 600000 }
debugfalse

Per-request overrides

await client.products.get('/product/running-shoe-pro', {
  timeout: 5000,
  retries: 1,
  cache: false,
  headers: {
    'X-Request-ID': 'req-123',
  },
});

Supported override keys: timeout, retries, cache, headers, signal.

On this page