Quick Start
Initialize Arky once, then use the backend modules your custom website needs.
Get Arky running under a custom website. Start with the storefront SDK helper: it wraps the SDK, manages contact/session context, loads the backend cart, and exposes the modules a frontend or implementation agent needs.
Installation
npm install arky-sdkInitialize Arky
import { initialize } from 'arky-sdk/storefront';
export const arky = initialize('arky_pk_...', {
locale: 'en',
market: 'us',
});
Use Modules
const website = await arky.cms.entry.get({
collection_id: 'pages',
key: 'website',
locale: 'en',
});
await arky.action.track({
key: 'page.view',
payload: { path: location.pathname },
});
const cart = await arky.eshop.cart.load();
initialize creates the storefront API once. The arky_pk_... value is a
public Store identifier, not a private credential. After that, call only the
modules the page needs. CMS content is loaded through collection entries,
action goes through Action, and carts go through Commerce.
Fetch Products
const { items: products } = await arky.eshop.product.list({
limit: 20,
});
const product = products[0];
const variant = product.variants[0];
await arky.eshop.cart.addProduct(product, variant, 1);
React To Cart State
const unsubscribe = arky.eshop.cart.snapshot.subscribe((snapshot) => {
console.log(snapshot.item_count);
console.log(snapshot.product_items);
});
await arky.eshop.cart.quote();
unsubscribe();
Fetch CMS Content
const website = await arky.cms.entry.get({
collection_id: "pages",
key: "website",
locale: 'en'
});
const hero = website.fields.find((field) => field.key === 'hero');
const title = arky.utils.getBlockTextValue(hero, 'en');
Fetch Services
const { items: services } = await arky.eshop.service.list({
limit: 50,
});
await arky.eshop.service.initialize();
await arky.eshop.service.select(services[0]);
await arky.eshop.service.findFirstAvailable();
Note
The lower-level client is still available as arky.client, but storefronts should usually use the storefront modules: cms, eshop, crm, action, automation, store, and utils.
Next Steps
- E-commerce Store - Build a cart-first storefront
- Scheduled Services - Schedule services through the cart
- Action Keys and Experiment Goals - Track outcomes and connect experiment goals
- Authentication - Learn about auth patterns
- E-shop API - Review lower-level e-shop methods