Aller au contenu
scango.ch
Esc
↑↓naviguer↵ouvrir⌘Japerçu
Sur cette page

Introduction

Reliez vos systèmes à scango.ch : produits, commandes, fournisseurs, catégories, magasins et journaux d’identité via une seule API REST.

L’API client de scango.ch permet à votre ERP, à votre comptabilité ou à votre gestion de stock de lire et de modifier les données de votre organisation : produits, commandes, fournisseurs, catégories, magasins et journaux d’identité.

URL de base

https://dashboard.scango.ch/api/v1

Authentification

Créez une clé API dans le dashboard sous Paramètres → Organisation → Clés API (rôle Admin requis) et envoyez-la avec chaque requête :

Authorization: Bearer <api-key>
Type de clé Autorise
Lecture Toutes les requêtes GET
Écriture Tout ce qu’autorise Lecture, plus la création, la modification et la suppression de produits et d’images produit, catégories, fournisseurs, magasins et identités bloquées

Tout problème d’authentification ou d’autorisation renvoie 403 : clé absente, inconnue ou inactive, ou clé Lecture sur une opération d’écriture.

Conventions

  • Les montants sont des entiers en centimes : 120 correspond à CHF 1.20.
  • Les dates dans les paramètres de requête sont en UTC au format ISO-8601 avec Z, p. ex. 2024-01-01T00:00:00.000Z. Les décalages comme +02:00 sont refusés.
  • Les corps de requête sont en JSON. Les mises à jour utilisent POST avec un corps partiel.
  • Les réponses des listes sont { data, meta }, les éléments seuls { data } ; les écritures renvoient { success: true } (avec le nouvel id à la création).
  • La suppression de produits, catégories, fournisseurs et magasins est logique : l’élément disparaît des listes, mais GET par id le renvoie toujours avec deleted: true.
  • Les erreurs sont en JSON : { statusCode, message, timestamp, path }. Les filtres de liste invalides renvoient { error: { formErrors, fieldErrors } }.

Pagination

limit définit la taille de page : 100 par défaut, 5000 au maximum.

Endpoint Pagination
Produits, commandes, journaux d’identité, identités bloquées Transmettre meta.nextCursor dans cursor jusqu’à l’absence de nextCursor
Recherche de produits (q) offset, 250 par page au maximum
Catégories, fournisseurs, magasins Sans pagination : une réponse avec jusqu’à limit éléments

Les éléments supprimés logiquement sont filtrés après lecture : une page peut donc être plus courte que limit alors que d’autres pages existent. Fiez-vous à nextCursor, pas à returned < limit.

Commandes

start et end sont obligatoires et inclus ; paymentState est facultatif. Les commandes arrivent de la plus récente à la plus ancienne. Les commandes supprimées sont exclues, sauf avec includeDeleted=true.

Il n’y a pas de webhooks : interrogez régulièrement les nouvelles commandes, par exemple toutes les quelques minutes avec une fenêtre qui chevauche la précédente.

Images produit

Définissez imageUrl à la création ou à la mise à jour d’un produit, ou téléversez un fichier avec POST /products/{productId}/image (champ multipart file, 10 Mio max.). Supprimez-la avec DELETE /products/{productId}/image.

Étapes suivantes

Tous les endpoints en un coup d’œil : référence de l’API.

Des questions ? Écrivez à support@scango.ch.

Cette page vous a-t-elle été utile ?