Quick Start
Get up and running with Arky in 5 minutes
Get up and running with Arky in 5 minutes. This guide shows you how to initialize the SDK and start fetching data immediately.
Installation
npm install arky-sdkInitialize the SDK
Client-Side (Browser)
For client-side applications with automatic guest token handling:
import { createArkySDK } from 'arky-sdk';
const sdk = createArkySDK({
baseUrl: 'https://api.arky.io',
businessId: 'your-business-id',
market: 'us',
autoGuest: true, // Auto-create guest token
getToken: () => ({
accessToken: localStorage.getItem('accessToken') || '',
refreshToken: localStorage.getItem('refreshToken') || '',
provider: 'GUEST',
expiresAt: parseInt(localStorage.getItem('expiresAt') || '0'),
}),
setToken: (tokens) => {
localStorage.setItem('accessToken', tokens.accessToken);
if (tokens.refreshToken) localStorage.setItem('refreshToken', tokens.refreshToken);
if (tokens.expiresAt) localStorage.setItem('expiresAt', tokens.expiresAt.toString());
},
logout: () => {
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');
},
});Server-Side (SSR/API)
For server-side rendering or backend services:
import { createArkySDK } from 'arky-sdk';
const sdk = createArkySDK({
baseUrl: 'https://api.arky.io',
businessId: process.env.ARKY_BUSINESS_ID,
market: 'us',
autoGuest: false,
getToken: () => ({
accessToken: process.env.ARKY_API_KEY,
provider: 'API',
expiresAt: 0,
}),
setToken: () => {},
logout: () => {},
});Make Your First Request
Fetch Products
const { items: products } = await sdk.eshop.getProducts({
status: 'ACTIVE',
limit: 20,
});
products.forEach(product => {
console.log(product.name, product.variants[0].pricing);
});Fetch CMS Content
const node = await sdk.cms.getNode({ key: 'homepage' });
// Extract block values
const title = sdk.utils.getBlockTextValue(
node.blocks.find(b => b.key === 'title'),
'en'
);
console.log('Page title:', title);Fetch Services
const { items: services } = await sdk.reservation.getServices({
limit: 50,
});
const { items: providers } = await sdk.reservation.getProviders({
serviceId: services[0].id,
});
console.log('Service:', services[0].name);
console.log('Providers:', providers.length); Note
The SDK automatically handles token refresh when your access token expires. You don’t need to manually manage token expiration.
Next Steps
- Authentication - Learn about auth patterns
- Core Concepts - Understand key abstractions
- E-shop API - Build your storefront
- CMS API - Work with content