@altazion/commerce-sdk-core 1.0.0 → 26.331.7501
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.
- package/README.md +90 -0
- 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": "
|
|
3
|
+
"version": "26.331.7501",
|
|
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": [
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
17
20
|
"scripts": {
|
|
18
21
|
"build": "vite build",
|
|
19
22
|
"dev": "vite build --watch",
|