@altazion/commerce-sdk-core 1.0.0 → 26.331.7500

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +90 -0
  2. package/package.json +5 -2
package/README.md ADDED
@@ -0,0 +1,90 @@
1
+ # @altazion/commerce-sdk-core
2
+
3
+ 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.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @altazion/commerce-sdk-core
9
+ ```
10
+
11
+ ## Utilisation rapide
12
+
13
+ ```ts
14
+ import { CommerceClient } from '@altazion/commerce-sdk-core'
15
+
16
+ const client = new CommerceClient({
17
+ baseUrl: 'https://votre-api.altazion.com',
18
+ siteUrl: 'https://votre-site.com',
19
+ })
20
+
21
+ // Récupérer la session courante
22
+ const session = await client.session.getSession()
23
+
24
+ // Récupérer le panier
25
+ const cart = await client.cart.getCart()
26
+
27
+ // Rechercher des produits
28
+ const results = await client.catalog.search({ q: 'chaussures', offset: 0, length: 20 })
29
+ ```
30
+
31
+ ## Modules disponibles
32
+
33
+ | Module | Description |
34
+ |---|---|
35
+ | `client.session` | Session utilisateur / kiosque |
36
+ | `client.cart` | Panier (ajout, modification, suppression, coupons) |
37
+ | `client.catalog` | Produits, catégories, recherche, suggestions |
38
+ | `client.shipping` | Modes de livraison, points relais |
39
+ | `client.stores` | Magasins physiques et horaires |
40
+ | `client.marketing` | Contenus marketing personnalisés |
41
+
42
+ ## Fonctionnalités
43
+
44
+ - **Cache SharedWorker + IndexedDB** — mise en cache des réponses, stratègies configurables (`cache-first`, `network-first`, `network-only`)
45
+ - **File offline** — les mutations (ajout panier, etc.) sont mises en file et rejouées dès le retour de la connexion
46
+ - **ConnectivityManager** — détection de connectivité en temps réel avec API d'abonnement
47
+ - **Dual session** — bascule automatiquement en mode kiosque si le user-agent est `Altazion Device Shell`
48
+ - **TypeScript** — types complets générés depuis la spécification OpenAPI
49
+
50
+ ## Options de configuration
51
+
52
+ ```ts
53
+ const client = new CommerceClient({
54
+ baseUrl: 'https://votre-api.altazion.com', // obligatoire
55
+ siteUrl: 'https://votre-site.com', // URL canonique du site
56
+ defaultCacheStrategy: 'cache-first', // stratégie de cache par défaut
57
+ offlineQueueMaxSize: 50, // taille max de la file offline
58
+ })
59
+ ```
60
+
61
+ ## Mode CDN (sans bundler)
62
+
63
+ ```html
64
+ <script src="https://cdn.jsdelivr.net/npm/@altazion/commerce-sdk-core/dist/index.iife.js"></script>
65
+ <script>
66
+ const client = new AltazionCommerceCore.CommerceClient({
67
+ baseUrl: 'https://votre-api.altazion.com'
68
+ })
69
+ </script>
70
+ ```
71
+
72
+ ## Gestion des erreurs
73
+
74
+ ```ts
75
+ import { AltazionApiError, OfflineError } from '@altazion/commerce-sdk-core'
76
+
77
+ try {
78
+ await client.cart.addItem('REF-001', 1)
79
+ } catch (err) {
80
+ if (err instanceof OfflineError) {
81
+ // Opération mise en file pour rejouer plus tard
82
+ } else if (err instanceof AltazionApiError) {
83
+ console.error(err.status, err.problem)
84
+ }
85
+ }
86
+ ```
87
+
88
+ ## Licence
89
+
90
+ Propriétaire — © Altazion SAS. Tous droits réservés.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@altazion/commerce-sdk-core",
3
- "version": "1.0.0",
3
+ "version": "26.331.7500",
4
4
  "description": "Altazion Commerce SDK — Core client (fetch natif, cache SharedWorker, offline queue)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -13,7 +13,10 @@
13
13
  "types": "./dist/index.d.ts"
14
14
  }
15
15
  },
16
- "files": ["dist"],
16
+ "files": [
17
+ "dist",
18
+ "README.md"
19
+ ],
17
20
  "scripts": {
18
21
  "build": "vite build",
19
22
  "dev": "vite build --watch",