@altazion/commerce-sdk-core
v26.415.7675
Published
Altazion Commerce SDK — Core client (fetch natif, cache SharedWorker, offline queue)
Readme
@altazion/commerce-sdk-core
Client HTTP universel pour l'API Altazion Commerce. Fonctionne dans tous les environnements JavaScript (navigateur, Node.js, SSR) sans dépendances tierces — uniquement fetch natif.
Installation
npm install @altazion/commerce-sdk-coreUtilisation rapide
import { CommerceClient } from '@altazion/commerce-sdk-core'
const client = new CommerceClient({
baseUrl: 'https://votre-api.altazion.com',
siteUrl: 'https://votre-site.com',
})
// Récupérer la session courante
const session = await client.session.getSession()
// Récupérer le panier
const cart = await client.cart.getCart()
// Rechercher des produits
const results = await client.catalog.search({ q: 'chaussures', offset: 0, length: 20 })Modules disponibles
| Module | Description |
|---|---|
| client.session | Session utilisateur / kiosque |
| client.cart | Panier (ajout, modification, suppression, coupons) |
| client.catalog | Produits, catégories, recherche, suggestions |
| client.shipping | Modes de livraison, points relais |
| client.stores | Magasins physiques et horaires |
| client.marketing | Contenus marketing personnalisés |
Fonctionnalités
- Cache SharedWorker + IndexedDB — mise en cache des réponses, stratègies configurables (
cache-first,network-first,network-only) - ConnectivityManager — détection de connectivité en temps réel avec API d'abonnement
- Dual session — bascule automatiquement en mode kiosque si le user-agent est
Altazion Device Shell - TypeScript — types complets générés depuis la spécification OpenAPI
Options de configuration
const client = new CommerceClient({
baseUrl: 'https://votre-api.altazion.com', // obligatoire
siteUrl: 'https://votre-site.com', // URL canonique du site
defaultCacheStrategy: 'cache-first', // stratégie de cache par défaut
})Mode CDN (sans bundler)
<script src="https://cdn.jsdelivr.net/npm/@altazion/commerce-sdk-core/dist/index.iife.js"></script>
<script>
const client = new AltazionCommerceCore.CommerceClient({
baseUrl: 'https://votre-api.altazion.com'
})
</script>Gestion des erreurs
import { AltazionApiError, OfflineError } from '@altazion/commerce-sdk-core'
try {
await client.cart.addItem('REF-001', 1)
} catch (err) {
if (err instanceof OfflineError) {
// Le terminal est hors ligne : les mutations sont refusées immédiatement
} else if (err instanceof AltazionApiError) {
console.error(err.status, err.problem)
}
}Licence
Propriétaire — © Altazion SAS. Tous droits réservés.
