Lister ou rechercher des produits
Liste les produits, ou recherche avec q. La recherche prend en charge offset et limite la taille de page à 250. Sans q, seul limit s’applique.
GET
/productsAutorisation
AutorisationJeton Bearer (API key) · headerobligatoireClé API de l’organisation.
Paramètres de requête
qstringTexte de recherche. Active la pagination par `offset`.
limitintegerTaille de page (1–5000, défaut 100 ; max 250 avec `q`).
min 1 · max 5000 · default: 100
offsetintegerIgnorer des résultats de recherche. Uniquement avec `q`.
min 0 · max 10000 · default: 0
storestringFilter by store id. Works with and without `q`. When set, `meta.total` reflects the filtered page (not the unfiltered search estimate).
cursorstringIdentifiant opaque de document pour la page suivante. Uniquement sans `q` (fonctionne avec `store`). Ne pas analyser. Suivre `meta.nextCursor` jusqu'à son absence. Avec `store` ou soft-delete, `returned` peut être inférieur à `limit` alors que `nextCursor` est présent.
Réponses
200Liste de produits avec meta.
dataProduct[]obligatoireAfficher les propriétésMasquer les propriétés
Array of
ProductidstringId du document produit
externalIdstringIdentifiant externe optionnel
namestringpriceintegerPrix en centimes.
supplierstringId du fournisseur
taxCategorystringCode de catégorie TVA suisse
Autorisé:
8.12.63.80categorystringId de la catégorie
declarationsstringbarcodestringbarcodeAliasesobject[]Optional additional EANs. Absent when unused. Empty array is not persisted. Available when the barcode aliases feature is enabled for the organization.
Afficher les propriétésMasquer les propriétés
Array of
objectcodestringobligatoireAdditional EAN, lowercased like barcode
quantitynumberBase units represented by this code. Defaults to 1.
priceintegerOptional pack price in cents
labelstringexternalIdstringOptional external article ID
depositProductintegerConsigne en centimes.
depositProductLabelstringdescriptionstringsalePriceintegerPrix de vente promotionnel en centimes.
salePercentagenumbersalePriceDateFromstring<date-time>salePriceDateTostring<date-time>costPriceintegerPrix de revient en centimes.
marginnumbershowOnScreenbooleanageRestrictionbooleanshowOnScalebooleansaleStopbooleandeactivatedbooleanopenInputbooleanimageUrlstringURL de l’image. Définir via create/update produit ou POST /products/{productId}/image. Une chaîne vide à la mise à jour efface le champ et supprime le stockage de l’organisation.
indexintegerallowStorestring[]Ids de magasins autorisés (lecture seule).
hideStorestring[]Ids de magasins masqués (lecture seule).
deletedbooleanSupprimé logiquement lorsque true.
createdatestring<date-time>lastupdatestring<date-time>instancestringId de l’organisation lorsqu’il est présent
metaListMetaobligatoireMétadonnées de liste. `returned` est la longueur de `data`. Les entrées de catalogue supprimées (soft delete) sont exclues des listes — `returned` peut être inférieur à `limit` même s'il reste des entrées actives.
Afficher les propriétésMasquer les propriétés
totalintegerobligatoireAvec recherche produit (`q`) : nombre estimé de correspondances. Sinon égal à `returned`. Peut être inférieur à `limit` lorsque des entrées supprimées ont été filtrées de la page.
returnedintegerobligatoireNombre d'éléments actifs dans `data` (entrées supprimées exclues).
limitintegerobligatoireTaille de page appliquée.
offsetintegerUniquement pour la recherche produit avec `q`.
nextCursorstringCurseur opaque pour la page suivante. Présent lorsque d'autres résultats sont possibles. Ne pas analyser ; transmettre tel quel comme `cursor`. Avec filtre soft-delete ou `store`, `returned < limit` ne signifie pas la fin de la liste.
400Requête incorrecte
errorValidationErrorobligatoireDétails de validation.
Afficher les propriétésMasquer les propriétés
formErrorsstring[]obligatoirefieldErrorsobjectobligatoire403Non autorisé
statusCodeintegerobligatoireCode de statut HTTP
messagestringobligatoireMessage d’erreur lisible
timestampstring<date-time>obligatoirepathstringobligatoireChemin de la requête
503Recherche indisponible
errorstringobligatoireRequête
curl -X GET "https://dashboard.scango.ch/api/v1/products" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://dashboard.scango.ch/api/v1/products", {
method: "GET",
headers: {
"Autorisation": "Bearer YOUR_TOKEN"
}
});Réponse
{
"data": [
{
"id": "string",
"externalId": "string",
"name": "string",
"price": 0,
"supplier": "string",
"taxCategory": "8.1",
"category": "string",
"declarations": "string",
"barcode": "string",
"barcodeAliases": [
{
"code": "string",
"quantity": 0,
"price": 0,
"label": "string",
"externalId": "string"
}
],
"depositProduct": 0,
"depositProductLabel": "string",
"description": "string",
"salePrice": 0,
"salePercentage": 0,
"salePriceDateFrom": "2019-08-24T14:15:22Z",
"salePriceDateTo": "2019-08-24T14:15:22Z",
"costPrice": 0,
"margin": 0,
"showOnScreen": true,
"ageRestriction": true,
"showOnScale": true,
"saleStop": true,
"deactivated": true,
"openInput": true,
"imageUrl": "string",
"index": 0,
"allowStore": [
"string"
],
"hideStore": [
"string"
],
"deleted": true,
"createdate": "2019-08-24T14:15:22Z",
"lastupdate": "2019-08-24T14:15:22Z",
"instance": "string"
}
],
"meta": {
"total": 0,
"returned": 0,
"limit": 0,
"offset": 0,
"nextCursor": "string"
}
}{
"error": {
"formErrors": [
"string"
],
"fieldErrors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}
}{
"statusCode": 0,
"message": "string",
"timestamp": "2019-08-24T14:15:22Z",
"path": "string"
}{
"error": "string"
}