STORES API
L'API STORES permet à vos applications tierces d'accéder aux données que vous avez décidé d'exposer depuis votre compte VytarStores : stock en temps réel, liste des clients et sous-comptes, et toute ressource future que nous choisirons d'ouvrir. Elle est conçue pour une intégration simple — trois variables de configuration suffisent.
| Variable | Exemple | Description |
|---|---|---|
| STORES_BASE_URL | https://open.vytarsstores.com | URL de base de l'API publique |
| STORES_APPID | MonEntreprise | Nom d'utilisateur du compte grossiste ou client (champ nom du compte) |
| STORES_SECRET_KEY | aB3kXz9mRp… (50 car.) | Clé secrète permanente générée automatiquement à la création du compte |
| Méthode | Route | Description |
|---|---|---|
| GET | /api/stores/stock/ | Stock complet, groupé par entrepôt |
| GET | /api/stores/clients/ | Clients (si grossiste) ou sous-comptes (si client) |
Authentification
Chaque requête vers l'API STORES doit inclure deux en-têtes HTTP.
Ces valeurs correspondent aux variables STORES_APPID
et STORES_SECRET_KEY de votre compte.
| En-tête HTTP | Valeur | Description |
|---|---|---|
| X-Stores-AppId | = STORES_APPID | Nom d'utilisateur du compte (nom du grossiste ou client) |
| X-Stores-Key | = STORES_SECRET_KEY | Clé secrète permanente de 50 caractères |
Votre STORES_APPID est le nom d'utilisateur avec lequel vous vous connectez à VytarStores. Votre STORES_SECRET_KEY est générée automatiquement à la création de votre compte et est disponible dans votre profil administrateur.
Stock
Retourne l'ensemble du stock disponible, groupé par entrepôt.
Disponible pour les comptes grossiste et client.
Supporte le polling efficace via ?since=.
| Paramètre | Type | Description |
|---|---|---|
| since | ISO 8601 | Si fourni et qu'aucune mise à jour n'a eu lieu depuis cette date, retourne {"changed": false} sans données |
sinceClients
Retourne les entités liées au compte authentifié. Un grossiste obtient la liste de ses clients avec photos, localisation GPS et ristournes. Un client obtient la liste de ses sous-comptes (utilisateurs).
| Paramètre | Type | Description |
|---|---|---|
| since | ISO 8601 | Polling — retourne {"changed": false} si aucun changement depuis cette date |
Polling avec ?since=
Pour éviter de transférer des données inutiles à chaque appel, passez
la valeur data_at
de la dernière réponse en paramètre ?since=.
Si aucune mise à jour n'a eu lieu depuis cette date, le serveur répond instantanément sans données.
?since= accepte tout format ISO 8601 valide :
2024-01-15T10:30:00Z,
2024-01-15T10:30:00+01:00, etc.
Réponses d'erreur
Toutes les erreurs retournent un objet JSON avec un champ error
décrivant la cause.
| Code | Corps JSON | Cause |
|---|---|---|
| 400 | {"error": "Headers manquants..."} | En-tête X-Stores-AppId ou X-Stores-Key absent de la requête |
| 401 | {"error": "Identifiants invalides"} | Combinaison STORES_APPID / STORES_SECRET_KEY incorrecte |
| 405 | — | Méthode HTTP incorrecte (seul GET est accepté sur ces routes) |
| 500 | {"error": "..."} | Erreur serveur interne — contacter l'administrateur VytarStores |