Créer la destination
Dans Dashboard → Webhooks, indiquez une URL HTTPS et choisissez les événements. Le secret n’est montré qu’une fois.
Documentation fournisseur
Connectez votre ERP, site e-commerce, caisse ou logiciel métier à SellViaApp. Envoyez catégories, produits et tarifs, puis récupérez les commandes confirmées de votre boutique au format JSON.
https://api.sellviaapp.com/X-API-Key + BearerDémarrage rapide
Récupérez la X-API-Key et générez le Bearer dans Dashboard → API. Entrez-les ci-dessous, puis utilisez « Tester · Générer » sur un endpoint pour obtenir la réponse et le code cURL, PHP 8 ou JavaScript.
Accès conservés uniquement en mémoire pendant cette page. Pour une opération liée à un client, ajoutez customer_id.
Temps réel
Un webhook avertit votre ERP, CRM, automatisation ou logiciel dès qu’un produit, un client, un panier, une commande, un document ou un réglage important change. Utilisez ensuite l’API pour relire l’objet complet lorsque nécessaire.
Dans Dashboard → Webhooks, indiquez une URL HTTPS et choisissez les événements. Le secret n’est montré qu’une fois.
Calculez HMAC-SHA256 sur timestamp.delivery_id.corps_brut et comparez le résultat à X-SellViaApp-Signature.
Répondez en HTTP 2xx, dédupliquez avec X-SellViaApp-Event-Id puis traitez en arrière-plan.
payload = timestamp + "." + delivery_id + "." + raw_body
expected = "v1=" + HMAC_SHA256(payload, signing_secret)
Endpoints
Créer et gérer les comptes clients de chaque boutique.
/customer/add
Clé API
Créer un client et générer son login fournisseur.
nom
string
Obligatoire
Nom du client.
prenom
string
Obligatoire
Prénom du client.
email
email
Obligatoire
Adresse e-mail unique chez le fournisseur.
denomination
string
Facultatif
Société, facultative.
password
string
Obligatoire
Au moins huit caractères.
address
string
Facultatif
Adresse postale.
zipcode
string
Facultatif
Code postal.
city
string
Facultatif
Ville.
country
string
Facultatif
Pays.
phone
string
Facultatif
Téléphone.
cellphone
string
Facultatif
Téléphone mobile.
vat_number
string
Facultatif
Numéro de TVA.
language
string
Facultatif
Code ISO de langue sur deux caractères.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/customer/list
Clé + Bearer
Lister ou filtrer les informations client autorisées.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/customer/me
Clé + Bearer
Récupérer le profil du client connecté.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/customer/update
Clé + Bearer
Mettre à jour profil, langue, type, e-mail ou mot de passe.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
first_name
string
Facultatif
Prénom.
last_name
string
Facultatif
Nom.
company
string
Facultatif
Société.
email
email
Facultatif
Nouvelle adresse e-mail, unique dans la boutique.
address
string
Facultatif
Adresse postale.
zipcode
string
Facultatif
Code postal.
city
string
Facultatif
Ville.
country
string
Facultatif
Pays.
phone
string
Facultatif
Téléphone.
cellphone
string
Facultatif
Téléphone mobile.
vat_number
string
Facultatif
Numéro de TVA.
language
string
Facultatif
Code ISO de langue sur deux caractères.
account_type
enum
Facultatif
company | individual
notifications_enabled
boolean
Facultatif
Autoriser les notifications mobiles.
password
string
Facultatif
Nouveau mot de passe, au moins huit caractères.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/customer/deleteaccount
Clé + Bearer
Désactiver le compte client dans la boutique active.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}Endpoints
Familles, produits, photos, tarifs, stocks, promotions et favoris.
/fam1/list
Clé + Bearer
Lister les catégories principales.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/fam1/add
Clé + Bearer
Créer une catégorie principale.
name
string
Obligatoire
Nom visible de la catégorie.
external_key
string
Facultatif
Identifiant stable provenant de votre logiciel.
sort_order
integer
Facultatif
Ordre d’affichage, à partir de 1.
image_url
url
Facultatif
Adresse HTTPS de l’image.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/fam1/update
Clé + Bearer
Modifier une catégorie principale.
id
integer
Obligatoire
Identifiant de la catégorie à modifier.
name
string
Obligatoire
Nom visible de la catégorie.
external_key
string
Facultatif
Identifiant stable provenant de votre logiciel.
sort_order
integer
Facultatif
Ordre d’affichage, à partir de 1.
image_url
url
Facultatif
Adresse HTTPS de l’image.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/fam1/delete
Clé + Bearer
Masquer une catégorie principale.
id
integer
Obligatoire
Identifiant de la catégorie à masquer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/fam2/list
Clé + Bearer
Lister les sous-catégories.
category_id
integer
Facultatif
Limiter les résultats à une catégorie principale.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/fam2/add
Clé + Bearer
Créer une sous-catégorie.
category_id
integer
Obligatoire
Identifiant de la catégorie principale parente.
name
string
Obligatoire
Nom visible de la catégorie.
external_key
string
Facultatif
Identifiant stable provenant de votre logiciel.
sort_order
integer
Facultatif
Ordre d’affichage, à partir de 1.
image_url
url
Facultatif
Adresse HTTPS de l’image.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/fam2/update
Clé + Bearer
Modifier une sous-catégorie.
id
integer
Obligatoire
Identifiant de la sous-catégorie à modifier.
name
string
Obligatoire
Nom visible de la catégorie.
external_key
string
Facultatif
Identifiant stable provenant de votre logiciel.
sort_order
integer
Facultatif
Ordre d’affichage, à partir de 1.
image_url
url
Facultatif
Adresse HTTPS de l’image.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/fam2/delete
Clé + Bearer
Masquer une sous-catégorie.
id
integer
Obligatoire
Identifiant de la sous-catégorie à masquer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/list
Clé + Bearer
Lister et rechercher les produits avec pagination.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
search
string
Facultatif
Recherche par code, nom ou description.
category_id
integer
Facultatif
Filtre de catégorie principale.
subcategory_id
integer
Facultatif
Filtre de sous-catégorie.
price_group
string
Facultatif
Groupe tarifaire du client.
favorites
boolean
Facultatif
Afficher uniquement les favoris.
promotions
boolean
Facultatif
Afficher uniquement les promotions actives.
new
boolean
Facultatif
Afficher uniquement les nouveautés.
progressive
boolean
Facultatif
Pagination rapide sans calculer le nombre total.
group_variants
boolean
Facultatif
Regrouper les variantes sous leur produit principal et retourner les combinaisons. Les options sont aussi retournées.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/variants
Clé + Bearer
Lire les groupes et combinaisons de variantes d’un produit.
product_id
integer
Obligatoire
Identifiant du produit principal.
groups
array
Facultatif
POST uniquement : liste complète de 0 à 3 groupes {name, values[]}. Un tableau vide supprime les variantes.
combinations
array
Facultatif
POST uniquement : toutes les combinaisons dans l’ordre des groupes, chacune avec selections[], sku, price et stock. Maximum 100.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/variants
Clé + Bearer
Remplacer les groupes et combinaisons de variantes d’un produit.
product_id
integer
Obligatoire
Identifiant du produit principal.
groups
array
Facultatif
POST uniquement : liste complète de 0 à 3 groupes {name, values[]}. Un tableau vide supprime les variantes.
combinations
array
Facultatif
POST uniquement : toutes les combinaisons dans l’ordre des groupes, chacune avec selections[], sku, price et stock. Maximum 100.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/options
Clé + Bearer
Lire les groupes et suppléments facultatifs d’un produit.
product_id
integer
Obligatoire
Identifiant du produit principal.
groups
array
Facultatif
POST uniquement : liste complète de 0 à 10 groupes {id, name, selection_mode, options[]}. Un tableau vide supprime les options.
groups[].options[]
array
Facultatif
Chaque option : id existant ou 0, name, price, quantity_mode (single ou quantity), max_quantity (1 ou 2–50), unit_label facultatif ; image_base64 facultatif (JPEG/PNG/WebP, 1 Mo) ou remove_photo.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/options
Clé + Bearer
Remplacer les groupes et suppléments facultatifs d’un produit.
product_id
integer
Obligatoire
Identifiant du produit principal.
groups
array
Facultatif
POST uniquement : liste complète de 0 à 10 groupes {id, name, selection_mode, options[]}. Un tableau vide supprime les options.
groups[].options[]
array
Facultatif
Chaque option : id existant ou 0, name, price, quantity_mode (single ou quantity), max_quantity (1 ou 2–50), unit_label facultatif ; image_base64 facultatif (JPEG/PNG/WebP, 1 Mo) ou remove_photo.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/image
URL signée
Servir une photo produit signée, compressible et mise en cache.
supplier
string
Obligatoire
Suffixe public de la boutique.
id
integer
Obligatoire
Identifiant du produit.
slot
integer
Facultatif
Numéro de photo de 1 à 5.
signature
string
Obligatoire
Signature du lien fournie par product/list.
variant
enum
Facultatif
small | thumb | large
200 Le corps contient directement l’image binaire et l’en-tête Content-Type indique son format.
{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/add
Clé + Bearer
Créer un produit.
code
string
Obligatoire
Code article unique dans la boutique.
name
string
Obligatoire
Nom visible dans l’application.
description
string
Facultatif
Description détaillée du produit.
base_price
decimal
Facultatif
Prix de vente hors taxes selon votre configuration.
vat_rate
decimal
Facultatif
Taux de TVA, par exemple 21.
category_id
integer
Facultatif
Identifiant de la catégorie principale.
subcategory_id
integer
Facultatif
Identifiant de la sous-catégorie.
external_key
string
Facultatif
Identifiant stable provenant de votre ERP.
unit
string
Facultatif
Code de l’unité, par exemple pc.
unit_name
string
Facultatif
Nom lisible de l’unité.
image_url
url
Facultatif
Adresse HTTPS de la photo principale.
is_new
boolean
Facultatif
Mettre le produit en avant comme nouveauté.
active
boolean
Facultatif
Détermine la visibilité du produit.
action_type
enum
Facultatif
cart | auction | inquiry
auction.start_price
decimal
Facultatif
Prix de départ requis lorsque action_type vaut auction.
auction.buy_now_price
decimal
Facultatif
Prix d’achat immédiat facultatif.
auction.minimum_increment
decimal
Facultatif
Palier minimal de surenchère facultatif.
auction.starts_at
datetime
Facultatif
Début facultatif en ISO 8601 avec fuseau horaire.
auction.ends_at
datetime
Facultatif
Fin facultative en ISO 8601 avec fuseau horaire.
auction.hide_after_end
boolean
Facultatif
Masquer le produit après l’échéance ; nécessite ends_at.
auction.terms
string
Facultatif
Conditions propres à l’enchère, maximum 5 000 caractères.
inquiry.prompt
string
Facultatif
Texte d’invite de la demande d’informations, maximum 1 000 caractères.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/update
Clé + Bearer
Modifier un produit.
id
integer
Obligatoire
Identifiant du produit à modifier.
code
string
Obligatoire
Code article unique dans la boutique.
name
string
Obligatoire
Nom visible dans l’application.
description
string
Facultatif
Description détaillée du produit.
base_price
decimal
Facultatif
Prix de vente hors taxes selon votre configuration.
vat_rate
decimal
Facultatif
Taux de TVA, par exemple 21.
category_id
integer
Facultatif
Identifiant de la catégorie principale.
subcategory_id
integer
Facultatif
Identifiant de la sous-catégorie.
external_key
string
Facultatif
Identifiant stable provenant de votre ERP.
unit
string
Facultatif
Code de l’unité, par exemple pc.
unit_name
string
Facultatif
Nom lisible de l’unité.
image_url
url
Facultatif
Adresse HTTPS de la photo principale.
is_new
boolean
Facultatif
Mettre le produit en avant comme nouveauté.
active
boolean
Facultatif
Détermine la visibilité du produit.
action_type
enum
Facultatif
cart | auction | inquiry
auction.start_price
decimal
Facultatif
Prix de départ requis lorsque action_type vaut auction.
auction.buy_now_price
decimal
Facultatif
Prix d’achat immédiat facultatif.
auction.minimum_increment
decimal
Facultatif
Palier minimal de surenchère facultatif.
auction.starts_at
datetime
Facultatif
Début facultatif en ISO 8601 avec fuseau horaire.
auction.ends_at
datetime
Facultatif
Fin facultative en ISO 8601 avec fuseau horaire.
auction.hide_after_end
boolean
Facultatif
Masquer le produit après l’échéance ; nécessite ends_at.
auction.terms
string
Facultatif
Conditions propres à l’enchère, maximum 5 000 caractères.
inquiry.prompt
string
Facultatif
Texte d’invite de la demande d’informations, maximum 1 000 caractères.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/action
Clé + Bearer
Lire le type d’action et les paramètres d’un produit.
product_id
integer
Obligatoire
Identifiant du produit dont vous souhaitez lire l’action.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/action/configure
Clé + Bearer
Définir l’achat direct, l’enchère ou la demande d’informations et leurs paramètres.
product_id
integer
Obligatoire
Identifiant du produit à configurer.
action_type
enum
Obligatoire
cart | auction | inquiry
auction.start_price
decimal
Facultatif
Prix de départ requis pour auction.
auction.buy_now_price
decimal
Facultatif
Prix d’achat immédiat facultatif.
auction.minimum_increment
decimal
Facultatif
Palier minimal facultatif.
auction.starts_at
datetime
Facultatif
Début facultatif en ISO 8601 avec fuseau.
auction.ends_at
datetime
Facultatif
Fin facultative en ISO 8601 avec fuseau.
auction.hide_after_end
boolean
Facultatif
Masquer le produit après la date de fin.
auction.terms
string
Facultatif
Conditions, maximum 5 000 caractères.
inquiry.prompt
string
Facultatif
Texte d’invite facultatif, maximum 1 000 caractères.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/delete
Clé + Bearer
Masquer un produit.
id
integer
Obligatoire
Identifiant du produit à masquer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/favoris
Clé + Bearer
Ajouter ou retirer un produit des favoris.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
product_id
integer
Obligatoire
Identifiant du produit.
favorite
boolean
Facultatif
true pour ajouter, false pour retirer ; bascule l’état si absent.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/auction
Clé + Bearer
Consulter l’état et l’historique anonymisé d’une enchère.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
product_id
integer
Obligatoire
Identifiant du produit proposé aux enchères.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/auction/bid
Clé + Bearer
Placer une enchère avec contrôle atomique du montant minimum.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
product_id
integer
Obligatoire
Identifiant du produit proposé aux enchères.
amount
decimal
Obligatoire
Montant proposé, au moins égal à l’enchère minimale renvoyée par le serveur.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/auction/buy-now
Clé + Bearer
Acheter immédiatement et clôturer l’enchère de façon atomique.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
product_id
integer
Obligatoire
Identifiant du produit dont l’achat immédiat est configuré.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/product/inquiry
Clé + Bearer
Envoyer une demande d’informations liée à un produit.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
product_id
integer
Obligatoire
Identifiant du produit concerné.
message
string
Obligatoire
Question du client, de 5 à 5 000 caractères.
name
string
Facultatif
Nom de contact ; le profil connecté est utilisé par défaut.
email
email
Facultatif
E-mail de réponse ; e-mail ou téléphone obligatoire.
phone
string
Facultatif
Téléphone de réponse ; e-mail ou téléphone obligatoire.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/price/list
Clé + Bearer
Lister les tarifs applicables au groupe client, avec repli sur le prix de vente du produit.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
product_id
integer
Facultatif
Limiter le résultat à un produit.
price_group
string
Facultatif
Groupe tarifaire, 01 par défaut.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/mark/list
Clé + Bearer
Lister les marques disponibles.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/size/list
Clé + Bearer
Lister les tailles disponibles.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/libweb/list
Clé + Bearer
Lister les libellés web de référence, avec repli sur les libellés du catalogue.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}Endpoints
Gérer le panier puis confirmer une commande de manière atomique.
/order/list
Clé + Bearer
Lister toutes les commandes confirmées de la boutique avec pagination.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
guid
string
Facultatif
Filtrer une commande confirmée par son GUID.
from_date
date
Facultatif
Filtrer à partir de cette date au format YYYY-MM-DD.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/order/delete
Clé + Bearer
Vider et supprimer le panier courant.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/order/total
Clé + Bearer
Calculer sous-total, TVA et total du panier.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/promotion/validate
Clé + Bearer
Valider côté serveur un code promotionnel sur le panier courant et calculer la réduction nette, la TVA et le total.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
promotion_code
string
Obligatoire
Code de 3 à 64 lettres, chiffres, tirets ou underscores. Le serveur contrôle dates, quota et éligibilité.
{
"success": true,
"message": "Code promotionnel validé",
"data": {
"promotion": {
"id": 12,
"code": "WELCOME10",
"name": "Offre de bienvenue",
"discount_type": "percent",
"discount_value": 10,
"scope": "all",
"currency": "EUR",
"currency_symbol": "€",
"eligible_item_count": 2,
"original_product_total": 60.5,
"discount_net": 5,
"discount_tax": 1.05,
"discount_total": 6.05,
"subtotal": 45,
"vat_total": 9.45,
"product_total": 54.45
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/loyalty/summary
Clé + Bearer
Consulter le programme de fidélité, le solde du client et la valeur de remise disponible.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/loyalty/history
Clé + Bearer
Lister l’historique personnel des gains, utilisations, corrections et expirations.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/loyalty/quote
Clé + Bearer
Calculer côté serveur combien de points peuvent être utilisés sur le panier courant.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
loyalty_points
integer
Obligatoire
Nombre de points que le client souhaite utiliser.
delivery_mode
enum
Obligatoire
pickup | delivery
delivery_country
string
Facultatif
Pays utilisé pour recalculer les frais de livraison.
promotion_code
string
Facultatif
Code promotionnel facultatif appliqué avant la remise fidélité.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/order/shipping/quote
Clé + Bearer
Calculer les frais de livraison selon le panier, le mode de remise et le pays.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
delivery_mode
enum
Obligatoire
pickup | delivery
delivery_country
string
Facultatif
Code ISO à 2 lettres ou nom du pays de livraison.
promotion_code
string
Facultatif
Code facultatif ; le devis recalcule la remise avant les frais de livraison.
{
"success": true,
"message": "Frais de livraison calculés",
"data": {
"delivery_mode": "delivery",
"country_code": "BE",
"shipping_mode": "country_rules",
"shipping_fee": 6.9,
"free_shipping": false,
"free_shipping_from": 75,
"amount_until_free": 25,
"product_total": 50,
"total": 56.9,
"rule": "country:BE",
"currency": "EUR",
"currency_symbol": "€"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/order/count/line
Clé + Bearer
Compter les lignes présentes dans le panier.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/order/sendtomegawin
Clé + Bearer
Confirmer la commande, sa livraison et, en mode multi-site, le site de stock choisi.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
order_guid
uuid
Facultatif
GUID du panier à confirmer.
delivery_mode
enum
Obligatoire
pickup | delivery
delivery_address
string
Facultatif
Obligatoire pour une livraison.
stock_site_id
integer
Facultatif
Site choisi par le client en mode multi-site. Sans ce champ, le serveur attribue automatiquement un site capable de préparer tout le panier pour les anciennes apps.
delivery_country
string
Facultatif
Code ISO à 2 lettres ou nom du pays utilisé pour calculer le tarif.
delivery_date
date
Facultatif
YYYY-MM-DD
delivery_comment
string
Facultatif
Instruction de remise.
language
string
Facultatif
Langue des e-mails transactionnels.
promotion_code
string
Facultatif
Code facultatif, contrôlé à nouveau et enregistré atomiquement lors de la confirmation.
loyalty_points
integer
Facultatif
Points à utiliser ; le solde et les règles sont revérifiés et débités atomiquement.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/orderline/add
Clé + Bearer
Ajouter un produit et une quantité au panier.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
product_id
integer
Obligatoire
Identifiant du produit à ajouter.
quantity
decimal
Obligatoire
Quantité strictement supérieure à zéro.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/orderline/list
Clé + Bearer
Récupérer les lignes du panier.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/orderline/update
Clé + Bearer
Modifier la quantité d’une ligne.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
item_id
integer
Obligatoire
Identifiant de la ligne du panier.
quantity
decimal
Obligatoire
Quantité ; zéro retire la ligne.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/orderline/delete
Clé + Bearer
Retirer une ligne du panier.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
item_id
integer
Obligatoire
Identifiant de la ligne à retirer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}Endpoints
Choisir le paiement à la livraison ou ouvrir un paiement Stripe sécurisé, puis consulter son état vérifié côté serveur.
/payment/config
Clé + Bearer
Récupérer les modes de paiement Stripe activés et le fournisseur Stripe sélectionné pour l’app.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/payment/checkout/create
Clé + Bearer
Créer ou reprendre une page Stripe Checkout pour une commande ou réservation non payée appartenant au client connecté. Un choix de paiement à la livraison encore modifiable est remplacé en sécurité.
purpose_type
enum
Obligatoire
order | booking
purpose_id
integer
Obligatoire
Identifiant de la commande confirmée ou de la réservation confirmée par le client.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/payment/pay-later
Clé + Bearer
Enregistrer le paiement à la livraison ou remplacer un paiement Stripe encore ouvert après vérification et expiration sécurisée de sa session.
purpose_type
enum
Obligatoire
order | booking
purpose_id
integer
Obligatoire
Identifiant de la commande ou réservation autorisée.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/payment/status
Clé + Bearer
Consulter l’état d’un paiement ; seul le webhook Stripe signé peut confirmer le statut payé.
reference
string
Facultatif
Référence SellViaApp du paiement. Sinon, fournir purpose_type et purpose_id.
purpose_type
enum
Facultatif
order | booking
purpose_id
integer
Facultatif
Identifiant de l’objet payé.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}Endpoints
Factures, devis, bons et leurs lignes.
/document/add
Clé + Bearer
Créer un document lié au client.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
doc_type
string
Facultatif
invoice | estimate | purchase_order
doc_number
string
Facultatif
Numéro du document ; généré automatiquement si absent lors de la création.
doc_date
date
Facultatif
YYYY-MM-DD
due_date
date
Facultatif
YYYY-MM-DD
payment_method
string
Facultatif
Mode de paiement.
remark
string
Facultatif
Remarque libre.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/document/list
Clé + Bearer
Lister ou filtrer les documents.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
doc_type
string
Facultatif
Filtrer selon le type de document.
guid
uuid
Facultatif
Filtrer selon le GUID du document.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/document/update
Clé + Bearer
Mettre à jour un document identifié par son GUID.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
document_guid
uuid
Obligatoire
GUID du document à modifier.
doc_type
string
Facultatif
invoice | estimate | purchase_order
doc_number
string
Facultatif
Numéro du document ; généré automatiquement si absent lors de la création.
doc_date
date
Facultatif
YYYY-MM-DD
due_date
date
Facultatif
YYYY-MM-DD
payment_method
string
Facultatif
Mode de paiement.
remark
string
Facultatif
Remarque libre.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/document/delete
Clé + Bearer
Supprimer un document et ses lignes.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
document_guid
uuid
Obligatoire
GUID du document à supprimer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/documentline/add
Clé + Bearer
Ajouter une ligne et recalculer le document.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
document_guid
uuid
Obligatoire
GUID du document.
text
string
Facultatif
Description de la ligne.
quantity
decimal
Facultatif
Quantité, valeur initiale 1.
unit_price
decimal
Facultatif
Prix unitaire hors TVA.
vat_rate
decimal
Facultatif
Taux de TVA, valeur initiale 21.
discount_percentage
decimal
Facultatif
Remise en pourcentage.
product_code
string
Facultatif
Code article associé.
product_id
integer
Facultatif
Identifiant du produit associé.
packages
decimal
Facultatif
Nombre de colis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/documentline/list
Clé + Bearer
Récupérer le document avec toutes ses lignes.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
guid
uuid
Obligatoire
GUID du document dont les lignes doivent être récupérées.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/documentline/update
Clé + Bearer
Modifier une ligne identifiée par son GUID.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
document_guid
uuid
Obligatoire
GUID du document.
line_guid
uuid
Obligatoire
GUID de la ligne à modifier.
text
string
Facultatif
Description de la ligne.
quantity
decimal
Facultatif
Quantité, valeur initiale 1.
unit_price
decimal
Facultatif
Prix unitaire hors TVA.
vat_rate
decimal
Facultatif
Taux de TVA, valeur initiale 21.
discount_percentage
decimal
Facultatif
Remise en pourcentage.
product_code
string
Facultatif
Code article associé.
product_id
integer
Facultatif
Identifiant du produit associé.
packages
decimal
Facultatif
Nombre de colis.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/documentline/delete
Clé + Bearer
Supprimer une ligne et recalculer les totaux.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
document_guid
uuid
Obligatoire
GUID du document.
line_guid
uuid
Obligatoire
GUID de la ligne à supprimer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}Endpoints
Recevoir automatiquement les changements SellViaApp dans votre ERP, CRM, automatisation ou service métier.
/webhooks/events
Clé + Bearer
Lister tous les événements disponibles et la version de contrat.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/endpoints/list
Clé + Bearer
Lister les destinations, leur état et leurs compteurs.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/endpoints/create
Clé + Bearer
Créer une destination HTTPS et obtenir son secret de signature une seule fois.
label
string
Obligatoire
Nom interne de cette destination.
target_url
url
Obligatoire
URL publique HTTPS sur le port 443. Les réseaux privés et redirections sont refusés.
events
array
Obligatoire
Événements exacts, groupe avec product.* ou tous avec *.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/endpoints/update
Clé + Bearer
Modifier la destination, les événements ou mettre en pause.
id
integer
Obligatoire
Identifiant de la destination.
label
string
Facultatif
Nouveau libellé.
target_url
url
Facultatif
Nouvelle URL HTTPS.
events
array
Facultatif
Nouvelle sélection d’événements.
status
enum
Facultatif
active | paused
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/endpoints/delete
Clé + Bearer
Supprimer logiquement une destination.
id
integer
Obligatoire
Identifiant de la destination.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/endpoints/rotate-secret
Clé + Bearer
Remplacer le secret HMAC et l’afficher une seule fois.
id
integer
Obligatoire
Identifiant de la destination.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/deliveries/list
Clé + Bearer
Consulter les livraisons, réponses, erreurs et tentatives.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
status
enum
Facultatif
pending | processing | retry | delivered | failed
endpoint_id
integer
Facultatif
Limiter à une destination.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/deliveries/retry
Clé + Bearer
Relancer une livraison précise sans réémettre les autres.
id
integer
Obligatoire
Identifiant interne de la livraison.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/test
Clé + Bearer
Émettre et livrer un événement de test signé.
endpoint_id
integer
Obligatoire
Destination à tester.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/webhooks/stats
Clé + Bearer
Obtenir les indicateurs des trente derniers jours.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}Endpoints
Notifications mobiles et synchronisations externes.
/admin/notification/sendtomobile
Clé + Bearer
Récupérer les notifications mobiles.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/admin/notification/setdelivery
Clé + Bearer
Marquer une notification comme distribuée.
customer_id
integer
Facultatif
Requis uniquement avec un jeton d’intégration lorsque l’opération concerne un client précis.
guid
string
Obligatoire
Jeton GUID de la notification.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/push/device/register
Clé + Bearer
Associer une installation mobile à ce compte client pour les push Firebase.
installation_id
string
Obligatoire
Identifiant aléatoire stable de cette installation (48 caractères hexadécimaux).
fid
string
Obligatoire
Identifiant d’installation Firebase fourni par l’app.
platform
enum
Obligatoire
android | ios
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/push/device/unregister
Clé + Bearer
Retirer cette boutique des notifications push de cet appareil.
installation_id
string
Obligatoire
Installation à désinscrire pour ce compte.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/push/notification/ack
Clé + Bearer
Signaler une notification reçue dans l’app ou ouverte par le client.
installation_id
string
Obligatoire
Installation qui confirme la notification.
guid
string
Obligatoire
Identifiant de la notification de cette boutique.
event
enum
Obligatoire
received | opened
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/categories/sync
Clé + Bearer
Synchroniser par lots les catégories et sous-catégories WooCommerce.
items
array
Obligatoire
Maximum 500 catégories. Chaque objet utilise external_id, name et, pour une sous-catégorie, parent_external_id.
items[].external_id
string
Obligatoire
Identifiant WooCommerce stable.
items[].name
string
Obligatoire
Nom visible.
items[].parent_external_id
string
Facultatif
Identifiant de la catégorie parente.
items[].sort_order
integer
Facultatif
Ordre d’affichage.
items[].images
array
Facultatif
Jusqu’à cinq URLs HTTPS.
items[].active
boolean
Facultatif
false archive la catégorie.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/products/sync
Clé + Bearer
Synchroniser produits, variations, images, prix, TVA, stock et visibilité.
items
array
Obligatoire
Maximum 250 produits ou variations par lot.
items[].external_id
string
Obligatoire
Identifiant WooCommerce stable, utilisé contre les doublons.
items[].type
enum
Facultatif
simple | variable | variation
items[].parent_external_id
string
Facultatif
Produit parent d’une variation.
items[].sku
string
Facultatif
SKU ; un code de repli est généré si absent.
items[].name
string
Obligatoire
Nom du produit.
items[].description
string
Facultatif
Description du produit.
items[].regular_price
decimal
Facultatif
Prix standard.
items[].sale_price
decimal
Facultatif
Prix promotionnel.
items[].date_on_sale_from
date
Facultatif
Début de promotion ISO 8601.
items[].date_on_sale_to
date
Facultatif
Fin de promotion ISO 8601.
items[].vat_rate
decimal
Facultatif
Taux de TVA.
items[].stock_quantity
integer
Facultatif
Stock disponible.
items[].category_external_id
string
Facultatif
Catégorie principale synchronisée.
items[].subcategory_external_id
string
Facultatif
Sous-catégorie synchronisée.
items[].images
array
Facultatif
Jusqu’à cinq images HTTPS.
items[].attributes
array
Facultatif
Attributs de variation WooCommerce.
items[].active
boolean
Facultatif
Visibilité dans SellViaApp.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/customers/sync
Clé + Bearer
Créer ou mettre à jour les comptes clients WooCommerce sans envoyer d’e-mail.
items
array
Obligatoire
Maximum 250 comptes clients par lot. Aucun e-mail n’est envoyé.
items[].external_id
string
Obligatoire
Identifiant utilisateur WooCommerce stable.
items[].username
string
Obligatoire
Identifiant WooCommerce conservé exactement dans client.login.
items[].email
email
Facultatif
Adresse e-mail du client, utilisée contre les doublons.
items[].first_name
string
Facultatif
Prénom du client.
items[].last_name
string
Facultatif
Nom du client.
items[].company
string
Facultatif
Société ou dénomination.
items[].phone
string
Facultatif
Numéro de téléphone.
items[].vat_number
string
Facultatif
Numéro de TVA.
items[].language
iso-639-1
Facultatif
Langue en deux caractères ; anglais par défaut.
items[].billing
object
Facultatif
Adresse de facturation WooCommerce complète.
items[].shipping
object
Facultatif
Adresse de livraison conservée dans les métadonnées de synchronisation.
items[].active
boolean
Facultatif
État actif du compte.
items[].send_email
boolean
Facultatif
Doit rester false. L’API n’envoie aucun e-mail pour cette route.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/products/inventory
Clé + Bearer
Mettre à jour rapidement uniquement les prix, promotions, stocks ou la visibilité.
items
array
Obligatoire
Maximum 500 mises à jour légères.
items[].external_id
string
Obligatoire
Produit déjà synchronisé.
items[].stock_quantity
integer
Facultatif
Nouvelle quantité.
items[].regular_price
decimal
Facultatif
Nouveau prix standard.
items[].sale_price
decimal
Facultatif
Nouveau prix promotionnel.
items[].active
boolean
Facultatif
Nouvelle visibilité.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/products/archive
Clé + Bearer
Archiver en lots les produits WooCommerce supprimés sans toucher aux commandes.
entity_type
enum
Facultatif
product | category | subcategory
items
array
Obligatoire
Liste de 500 identifiants externes maximum.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/orders/feed
Clé + Bearer
Récupérer les commandes confirmées avec curseur et réconciliation.
cursor
string
Facultatif
Curseur opaque reçu dans la réponse précédente.
updated_since
datetime
Facultatif
Date ISO 8601 du début de lecture.
limit
integer
Facultatif
1 à 100 commandes.
unacknowledged_only
boolean
Facultatif
true par défaut pour éviter les doublons.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/orders/acknowledge
Clé + Bearer
Confirmer qu’une commande a été importée dans WooCommerce.
items
array
Obligatoire
Commandes traitées par WooCommerce.
items[].order_guid
string
Obligatoire
GUID SellViaApp retourné par le flux.
items[].external_order_id
string
Facultatif
Identifiant de commande WooCommerce.
items[].status
enum
Obligatoire
imported | failed | ignored
items[].error
string
Facultatif
Explication si l’import a échoué.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/webhooks/subscribe
Clé + Bearer
Enregistrer un webhook WooCommerce HTTPS signé.
target_url
url
Obligatoire
URL publique HTTPS ; les réseaux privés sont refusés.
events
array
Facultatif
order.created | order.updated | order.cancelled | *
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/webhooks/list
Clé + Bearer
Lister les webhooks WooCommerce actifs.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/webhooks/delete
Clé + Bearer
Désactiver un webhook WooCommerce.
id
integer
Obligatoire
Identifiant du webhook.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/webhooks/process
Clé + Bearer
Traiter les livraisons webhook en attente avec reprise automatique.
limit
integer
Facultatif
Nombre maximal de livraisons à traiter.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/woocommerce/sync/logs
Clé + Bearer
Consulter le journal technique de synchronisation.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/categories/sync
Clé + Bearer
Synchroniser les collections et types de produits Shopify.
items
array
Obligatoire
Maximum 500 collections ou types de produits.
items[].external_id
string
Obligatoire
GID Shopify stable.
items[].name
string
Obligatoire
Nom visible.
items[].parent_external_id
string
Facultatif
Collection parente d’un type de produit.
items[].images
array
Facultatif
URLs HTTPS.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/categories/archive
Clé + Bearer
Archiver une collection Shopify supprimée.
items
array
Obligatoire
GID des collections supprimées.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/products/sync
Clé + Bearer
Synchroniser les produits, variantes, images, prix, stocks et visibilité Shopify.
items
array
Obligatoire
Maximum 250 variantes Shopify par lot.
items[].external_id
string
Obligatoire
GID de la variante.
items[].parent_external_id
string
Facultatif
GID du produit parent.
items[].sku
string
Facultatif
SKU
items[].name
string
Obligatoire
Titre produit et variante.
items[].regular_price
decimal
Facultatif
Prix standard ou compare-at.
items[].sale_price
decimal
Facultatif
Prix promotionnel actif.
items[].stock_quantity
integer
Facultatif
Quantité disponible.
items[].images
array
Facultatif
Jusqu’à cinq images HTTPS.
items[].active
boolean
Facultatif
Visibilité dans SellViaApp.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/products/inventory
Clé + Bearer
Mettre à jour rapidement prix, stock ou visibilité Shopify.
items
array
Obligatoire
Maximum 500 mises à jour légères.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/products/archive
Clé + Bearer
Archiver des variantes Shopify par identifiant.
items
array
Obligatoire
GID des variantes à archiver.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/products/archive-parent
Clé + Bearer
Archiver toutes les variantes d’un produit Shopify supprimé.
items
array
Obligatoire
Maximum 100 GID de produits parents.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/customers/sync
Clé + Bearer
Synchroniser les clients Shopify sans envoyer d’e-mail.
items
array
Obligatoire
Maximum 250 clients ; aucun e-mail envoyé.
items[].external_id
string
Obligatoire
GID client Shopify.
items[].username
string
Obligatoire
Identifiant utilisé dans SellViaApp.
items[].email
email
Facultatif
Adresse du client.
items[].send_email
boolean
Facultatif
Doit rester false.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/customers/redact
Clé + Bearer
Anonymiser les données client demandées par Shopify.
items
array
Facultatif
GID des clients à anonymiser.
all
boolean
Facultatif
Anonymise tous les clients Shopify lors de shop/redact.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/orders/feed
Clé + Bearer
Récupérer les commandes SellViaApp non importées dans Shopify.
cursor
string
Facultatif
Curseur opaque.
limit
integer
Facultatif
1–100
unacknowledged_only
boolean
Facultatif
true recommandé.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/orders/acknowledge
Clé + Bearer
Confirmer l’import d’une commande dans Shopify.
items
array
Obligatoire
Commandes importées.
items[].order_guid
string
Obligatoire
GUID SellViaApp.
items[].external_order_id
string
Facultatif
GID Shopify créé.
items[].status
enum
Obligatoire
imported | failed | ignored
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/webhooks/subscribe
Clé + Bearer
Enregistrer le webhook SellViaApp signé du connecteur Shopify.
target_url
url
Obligatoire
URL HTTPS du connecteur.
events
array
Facultatif
order.created | order.updated | order.cancelled | *
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/webhooks/list
Clé + Bearer
Lister les webhooks du connecteur Shopify.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/webhooks/delete
Clé + Bearer
Désactiver un webhook Shopify.
id
integer
Obligatoire
Webhook ID
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/webhooks/process
Clé + Bearer
Retraiter les notifications Shopify en attente.
limit
integer
Facultatif
Nombre maximal.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/account
Clé + Bearer
Identifier la boutique et récupérer son compte de test mobile.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/shopify/sync/logs
Clé + Bearer
Consulter le journal Shopify isolé de WooCommerce.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/connect
Public
Relier une instance Wix à un compte Dashboard SellViaApp existant.
email
email
Obligatoire
E-mail utilisé pour le Dashboard SellViaApp.
password
string
Obligatoire
Vérifié une seule fois et jamais conservé par le connecteur.
instance_id
string
Obligatoire
Identifiant Wix stable de l’installation.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/account
Clé + Bearer
Identifier le compte SellViaApp relié à Wix et son compte mobile de test.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/disconnect
Clé + Bearer
Révoquer le jeton du connecteur et déconnecter Wix.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/categories/sync
Clé + Bearer
Synchroniser les catégories ou collections Wix Stores V1/V3.
items
array
Obligatoire
Maximum 500 catégories ou collections Wix par lot.
items[].external_id
string
Obligatoire
Identifiant Wix stable.
items[].name
string
Obligatoire
Nom visible dans l’app.
items[].parent_external_id
string
Facultatif
Identifiant de la catégorie parente.
items[].image
url
Facultatif
Image HTTPS de présentation.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/products/sync
Clé + Bearer
Synchroniser les produits Wix avec images, prix, stock et visibilité.
items
array
Obligatoire
Maximum 250 produits ou variantes Wix par lot.
items[].external_id
string
Obligatoire
Identifiant produit ou variante Wix.
items[].parent_external_id
string
Facultatif
Produit parent d’une variante.
items[].sku
string
Facultatif
SKU
items[].name
string
Obligatoire
Titre du produit.
items[].regular_price
decimal
Facultatif
Prix normal.
items[].sale_price
decimal
Facultatif
Prix promotionnel actif.
items[].stock_quantity
integer
Facultatif
Stock disponible.
items[].images
array
Facultatif
Jusqu’à cinq images HTTPS.
items[].visible
boolean
Facultatif
Visibilité dans SellViaApp.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/products/inventory
Clé + Bearer
Mettre à jour rapidement prix, stock ou visibilité Wix.
items
array
Obligatoire
Mises à jour légères de prix, stock ou visibilité.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/products/archive
Clé + Bearer
Archiver les produits Wix supprimés.
entity_type
enum
Facultatif
product | category | subcategory
items
array
Obligatoire
Identifiants externes Wix à archiver.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/customers/sync
Clé + Bearer
Synchroniser les contacts Wix sans envoyer d’e-mail.
items
array
Obligatoire
Maximum 250 contacts ; aucun e-mail SellViaApp envoyé.
items[].external_id
string
Obligatoire
Identifiant du contact Wix.
items[].username
string
Obligatoire
E-mail ou identifiant de repli.
items[].active
boolean
Facultatif
true pour les contacts synchronisés.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/customers/redact
Clé + Bearer
Anonymiser un ou plusieurs contacts Wix synchronisés.
all
boolean
Facultatif
Anonymiser tous les contacts provenant de Wix.
items
array
Facultatif
Identifiants externes Wix à anonymiser lorsque all est faux.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/privacy/shop-redact
Clé + Bearer
Supprimer les données provenant de Wix après désinstallation.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/orders/feed
Clé + Bearer
Lire les commandes SellViaApp à rapprocher avec Wix.
cursor
string
Facultatif
Curseur opaque de la page précédente.
updated_since
datetime
Facultatif
Date ISO 8601 facultative.
limit
integer
Facultatif
1–100
unacknowledged_only
boolean
Facultatif
true par défaut pour éviter les doublons.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/orders/acknowledge
Clé + Bearer
Enregistrer le résultat d’un rapprochement de commande Wix.
items
array
Obligatoire
Résultats de rapprochement.
items[].order_guid
string
Obligatoire
GUID de commande SellViaApp.
items[].external_order_id
string
Facultatif
Identifiant de commande Wix lié.
items[].status
enum
Obligatoire
imported | failed | ignored
items[].error
string
Facultatif
Erreur compréhensible en cas d’échec.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/webhooks/subscribe
Clé + Bearer
Créer une destination SellViaApp signée pour le connecteur Wix.
target_url
url
Obligatoire
URL HTTPS du système destinataire.
events
array
Facultatif
order.created | order.updated | order.cancelled | *
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/webhooks/list
Clé + Bearer
Lister les webhooks SellViaApp du connecteur Wix.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/webhooks/delete
Clé + Bearer
Désactiver un webhook du connecteur Wix.
id
integer
Obligatoire
Webhook ID
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/webhooks/process
Clé + Bearer
Traiter les livraisons SellViaApp en attente pour Wix.
limit
integer
Facultatif
Nombre maximal de livraisons.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/wix/sync/logs
Clé + Bearer
Consulter le journal de synchronisation Wix isolé.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/oauth/device/code
Public
Démarrer une autorisation OAuth Odoo sans transmettre le mot de passe SellViaApp.
client_id
string
Obligatoire
sellviaapp_odoo
installation_id
string
Obligatoire
UUID stable de cette installation Odoo.
instance_url
url
Facultatif
URL HTTPS publique de l’instance Odoo.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/oauth/device/token
Public
Échanger le code appareil approuvé contre un accès d’intégration révocable.
client_id
string
Obligatoire
sellviaapp_odoo
grant_type
string
Obligatoire
urn:ietf:params:oauth:grant-type:device_code
device_code
string
Obligatoire
Code opaque renvoyé au démarrage du flux.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/account
Clé + Bearer
Vérifier le compte SellViaApp relié à l’installation Odoo.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/disconnect
Clé + Bearer
Révoquer immédiatement le jeton de cette installation Odoo.
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/categories/sync
Clé + Bearer
Synchroniser la hiérarchie des catégories Odoo.
items
array
Obligatoire
Maximum 500 catégories Odoo par lot.
items[].external_id
string
Obligatoire
Identifiant Odoo stable.
items[].name
string
Obligatoire
Nom visible.
items[].parent_external_id
string
Facultatif
Catégorie parente.
items[].translations
object
Facultatif
Noms traduits indexés par code de langue.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/categories/archive
Clé + Bearer
Masquer les catégories Odoo retirées du catalogue.
items
array
Obligatoire
Identifiants de catégories racines à masquer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/products/sync
Clé + Bearer
Synchroniser variantes, références, descriptions, traductions, images, prix, TVA et stock Odoo.
items
array
Obligatoire
Maximum 250 produits ou variantes Odoo par lot.
items[].external_id
string
Obligatoire
Identifiant stable de la variante product.product.
items[].parent_external_id
string
Facultatif
Identifiant du modèle product.template.
items[].sku
string
Facultatif
Référence interne Odoo.
items[].barcode
string
Facultatif
Code-barres.
items[].name
string
Obligatoire
Nom du produit ou de la variante.
items[].description
string
Facultatif
Description commerciale.
items[].regular_price
decimal
Facultatif
Prix de vente Odoo.
items[].vat_rate
decimal
Facultatif
Premier taux de TVA applicable.
items[].stock_quantity
decimal
Facultatif
Stock disponible ou stock physique selon le réglage Odoo.
items[].images
array
Facultatif
Jusqu’à cinq URLs HTTPS Odoo signées.
items[].translations
object
Facultatif
Nom et description dans les langues Odoo actives.
items[].attributes
array
Facultatif
Attributs de variante.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/products/inventory
Clé + Bearer
Actualiser rapidement prix, stock et visibilité Odoo.
items
array
Obligatoire
Maximum 500 mises à jour légères de prix, stock ou visibilité.
items[].external_id
string
Obligatoire
Identifiant stable product.product déjà publié.
items[].stock_quantity
decimal
Facultatif
Quantité disponible ou physique selon le réglage Odoo.
items[].stock_status
enum
Facultatif
instock | outofstock
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/products/archive
Clé + Bearer
Masquer les produits, catégories ou sous-catégories Odoo retirés.
entity_type
enum
Facultatif
product | category | subcategory
items
array
Obligatoire
Identifiants externes Odoo à masquer.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/customers/sync
Clé + Bearer
Envoyer les contacts Odoo vers SellViaApp et préparer leur accès mobile.
items
array
Obligatoire
Maximum 250 contacts Odoo par lot.
items[].external_id
string
Obligatoire
Identifiant stable res.partner.
items[].email
email
Obligatoire
Adresse utilisée pour l’accès mobile.
items[].send_invitation
boolean
Facultatif
Envoyer l’invitation uniquement lors d’une création.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/customers/feed
Clé + Bearer
Récupérer les clients SellViaApp afin de les rapprocher sans doublon avec les contacts Odoo.
limit
integer
Facultatif
De 1 à 100 clients par page.
cursor
string
Facultatif
Curseur opaque renvoyé par la page précédente.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/orders/feed
Clé + Bearer
Récupérer les commandes SellViaApp confirmées dans Odoo.
limit
integer
Facultatif
De 1 à 100 commandes par page.
cursor
string
Facultatif
Curseur opaque renvoyé par la page précédente.
unacknowledged_only
boolean
Facultatif
Limiter aux commandes non encore importées.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/orders/acknowledge
Clé + Bearer
Enregistrer le résultat de l’import d’une commande dans Odoo.
items
array
Obligatoire
Résultats d’import avec identifiant de commande, statut et référence Odoo.
{
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}/odoo/sync/logs
Clé + Bearer
Consulter le journal de synchronisation Odoo isolé.
page
integer
Facultatif
Numéro de page, à partir de 1.
per_page
integer
Facultatif
Nombre de résultats par page.
{
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}{
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}Référence
Chaque ligne possède un bouton « Paramètres et réponses » qui indique les champs obligatoires ou facultatifs, les statuts possibles et des exemples JSON. Une liste vide signifie que la ressource n’est pas encore alimentée, pas que la route est en panne.