Documentation fournisseur

Alimentez votre app et récupérez vos commandes par API.

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.

URL de basehttps://api.sellviaapp.com/
Formatapplication/json; charset=utf-8
Version actuelle2026.08
TransportHTTPS

De votre logiciel à vos clients

Un échange simple dans les deux sens

Votre système reste la source de vos données commerciales. Il alimente la boutique SellViaApp, tandis que les commandes confirmées par les clients reviennent vers votre ERP ou votre logiciel métier.

1

Votre ERP

Produits, catégories, prix et contenu.

2

API SellViaApp

Échanges JSON sécurisés par HTTPS.

3

App mobile

Vos clients consultent et commandent.

4

Vos commandes

Votre système les récupère automatiquement.

Aucune double saisie

Les identifiants externes permettent de conserver la correspondance avec les références de votre ERP et la pagination sécurise les synchronisations volumineuses.

Démarrage rapide

Connecter votre système en trois étapes

1

Obtenir vos accès

La clé API identifie votre boutique. Le jeton administrateur protège les opérations serveur.

2

Alimenter le catalogue

Créez les catégories, puis envoyez ou mettez à jour les produits depuis votre ERP.

3

Récupérer les commandes

Interrogez régulièrement la route fournisseur paginée et mémorisez le GUID traité.

Créer un produit · cURL
curl -X POST "https://api.sellviaapp.com/product/add" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_SUPPLIER_KEY" \
  -H "X-Admin-Token: YOUR_ADMIN_TOKEN" \
  -d '{
    "external_key": "ERP-ARTICLE-1042",
    "code": "ART-1042",
    "name": "Premium product",
    "description": "Complete product description",
    "base_price": 24.90,
    "vat_rate": 21,
    "category_id": 12,
    "active": true
  }'
Récupérer les commandes · cURL
curl "https://api.sellviaapp.com/admin/order/list?page=1&per_page=25&from_date=2026-08-01" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_SUPPLIER_KEY" \
  -H "X-Admin-Token: YOUR_ADMIN_TOKEN"
Chaque commande contientGUID, numéro, client, lignes, quantités, prix, TVA, total, devise, mode de remise, adresse et date.

Sécurité

Des accès séparés selon l’usage

KEY

X-API-Key

Requis pour identifier le fournisseur. La clé ne doit jamais être exposée dans du JavaScript public.

JWT

Authorization: Bearer

Requis pour les données privées du client connecté. Renouvelez-le avec auth/refresh.

ADM

X-Admin-Token

Réservé aux intégrations serveur autorisées qui modifient catalogue et catégories.

Intégration serveur uniquement

Conservez X-API-Key et X-Admin-Token dans votre serveur ou votre ERP. Ne les placez jamais dans un site public, une app mobile ou un dépôt de code.

Endpoints

Authentification

Créer, renouveler et fermer les sessions sécurisées.

POST /auth/login Clé API

Connecter un client avec son identifiant et son mot de passe.

POST /auth/refresh Clé API

Renouveler un jeton d’accès à partir du jeton de renouvellement.

POST /auth/logout Clé + Bearer

Fermer la session active.

POST /auth/guest Clé API

Créer une session invitée si le fournisseur l’autorise.

POST /auth/forgot-password Clé API

Déclencher une récupération d’accès sans révéler si le compte existe.

Endpoints

Fournisseurs et identité visuelle

Rechercher une boutique et récupérer sa configuration publique.

GET /admin/supplier/list Public

Rechercher les fournisseurs visibles dans l’annuaire.

GET /admin/supplier/logo Public

Récupérer le logo optimisé d’un fournisseur.

GET /admin/supplier/contact Clé API

Récupérer les coordonnées publiques configurées.

GET /admin/supplier/legal Clé API

Récupérer CGV, confidentialité, mentions et présentation.

GET /admin/megawinappcheck/check_supplier_to_use Public

Résoudre un fournisseur à partir d’un suffixe ou identifiant.

Endpoints

Clients

Créer et gérer les comptes clients de chaque boutique.

POST /customer/add Clé API

Créer un client et générer son login fournisseur.

GET /customer/list Clé + Bearer

Lister ou filtrer les informations client autorisées.

GET /customer/me Clé + Bearer

Récupérer le profil du client connecté.

PATCH /customer/update Clé + Bearer

Mettre à jour profil, langue, type, e-mail ou mot de passe.

DELETE /customer/deleteaccount Clé + Bearer

Désactiver le compte client dans la boutique active.

Endpoints

Catalogue

Familles, produits, photos, tarifs, stocks, promotions et favoris.

GET /fam1/list Clé + Bearer

Lister les catégories principales.

POST /fam1/add Administrateur

Créer une catégorie principale.

PATCH /fam1/update Administrateur

Modifier une catégorie principale.

DELETE /fam1/delete Administrateur

Masquer une catégorie principale.

GET /fam2/list Clé + Bearer

Lister les sous-catégories.

POST /fam2/add Administrateur

Créer une sous-catégorie.

PATCH /fam2/update Administrateur

Modifier une sous-catégorie.

DELETE /fam2/delete Administrateur

Masquer une sous-catégorie.

GET /product/list Clé + Bearer

Lister et rechercher les produits avec pagination.

GET /product/image URL signée

Servir une photo produit signée, compressible et mise en cache.

POST /product/add Administrateur

Créer un produit.

PATCH /product/update Administrateur

Modifier un produit.

DELETE /product/delete Administrateur

Masquer un produit.

POST /product/favoris Clé + Bearer

Ajouter ou retirer un produit des favoris.

GET /price/list Clé + Bearer

Lister les tarifs applicables au groupe client.

GET /mark/list Clé + Bearer

Lister les marques disponibles.

GET /size/list Clé + Bearer

Lister les tailles disponibles.

GET /libweb/list Clé + Bearer

Lister les libellés web de référence.

Endpoints

Panier et commandes

Gérer le panier puis confirmer une commande de manière atomique.

GET /admin/order/list Administrateur

Récupérer toutes les commandes confirmées du fournisseur, avec client, lignes et pagination.

GET /order/add Clé + Bearer

Récupérer ou initialiser le panier courant.

GET /order/list Clé + Bearer

Lister le panier et l’historique des commandes.

DELETE /order/delete Clé + Bearer

Vider et supprimer le panier courant.

GET /order/total Clé + Bearer

Calculer sous-total, TVA et total du panier.

GET /order/count/line Clé + Bearer

Compter les lignes présentes dans le panier.

POST /order/sendtomegawin Clé + Bearer

Confirmer la commande, son mode de remise et son adresse.

POST /orderline/add Clé + Bearer

Ajouter un produit et une quantité au panier.

GET /orderline/list Clé + Bearer

Récupérer les lignes du panier.

PATCH /orderline/update Clé + Bearer

Modifier la quantité d’une ligne.

DELETE /orderline/delete Clé + Bearer

Retirer une ligne du panier.

Endpoints

Documents

Factures, devis, bons et leurs lignes.

POST /document/add Clé + Bearer

Créer un document lié au client.

GET /document/list Clé + Bearer

Lister ou filtrer les documents.

PATCH /document/update Clé + Bearer

Mettre à jour un document identifié par son GUID.

DELETE /document/delete Clé + Bearer

Supprimer un document et ses lignes.

POST /documentline/add Clé + Bearer

Ajouter une ligne et recalculer le document.

GET /documentline/list Clé + Bearer

Récupérer le document avec toutes ses lignes.

PATCH /documentline/update Clé + Bearer

Modifier une ligne identifiée par son GUID.

DELETE /documentline/delete Clé + Bearer

Supprimer une ligne et recalculer les totaux.

Endpoints

Support, notifications et intégrations

Communication client, support et synchronisations externes.

GET /support/ticket/list Clé + Bearer

Lister les tickets accessibles au client.

POST /support/ticket/create Clé + Bearer

Créer une demande de support.

GET /support/ticket/list/log_reply Clé + Bearer

Récupérer un ticket et ses réponses.

GET /support/ticket/list/waiting_reply_by_support Clé + Bearer

Lister les demandes en attente du support.

POST /support/ticket/reply/send Clé + Bearer

Répondre à un ticket.

POST /admin/supplier/sendfeedbackfromapp Clé + Bearer

Envoyer un feedback au fournisseur.

POST /admin/supplier/sendemailtosalesupport Clé + Bearer

Contacter le support commercial.

GET /admin/notification/sendtomobile Clé + Bearer

Récupérer les notifications mobiles.

POST /admin/notification/setdelivery Clé + Bearer

Marquer une notification comme distribuée.

POST /woocommerce/menu/synchronisation Administrateur

Synchroniser les catégories WooCommerce.

POST /woocommerce/product/synchronisation Administrateur

Synchroniser les produits WooCommerce.

Contrats principaux

Paramètres détaillés

Les paramètres peuvent être transmis en JSON ou, pour les routes GET, dans la chaîne de requête.

/auth/login+
NomTypeRequisDescription
loginstringOui

E-mail, login client ou login avec suffixe fournisseur.

passwordstringOui

Mot de passe du client.

supplierstringNon

Suffixe ou clé fournisseur si absent du login.

/customer/add+
NomTypeRequisDescription
nomstringOui

Nom du client.

prenomstringOui

Prénom du client.

emailemailOui

Adresse e-mail unique chez le fournisseur.

denominationstringNon

Société, facultative.

passwordstringOui

Au moins huit caractères.

languestringNon

Langue préférée.

/product/list+
NomTypeRequisDescription
pageintegerNon

Page, valeur initiale 1.

per_pageintegerNon

Nombre d’articles par page.

searchstringNon

Recherche par code, nom ou description.

category_idintegerNon

Filtre de catégorie principale.

subcategory_idintegerNon

Filtre de sous-catégorie.

/product/add+
NomTypeRequisDescription
codestringOui

Code article unique dans la boutique.

namestringOui

Nom visible dans l’application.

descriptionstringNon

Description détaillée du produit.

base_pricedecimalOui

Prix de vente hors taxes selon votre configuration.

vat_ratedecimalNon

Taux de TVA, par exemple 21.

category_idintegerNon

Identifiant de la catégorie SellViaApp.

external_keystringNon

Identifiant stable provenant de votre ERP.

image_urlurlNon

Adresse HTTPS de la photo principale.

activebooleanNon

Détermine la visibilité du produit.

/admin/order/list+
NomTypeRequisDescription
pageintegerNon

Page demandée, à partir de 1.

per_pageintegerNon

Nombre de commandes par page, maximum 100.

from_datedateNon

Ne retourner que les commandes depuis cette date.

guidstringNon

Récupérer une commande précise par son GUID.

statusstringNon

Filtre disponible selon le mode de stockage : pending, preparing, ready, delivered ou cancelled.

/order/sendtomegawin+
NomTypeRequisDescription
order_guiduuidNon

GUID du panier à confirmer.

delivery_modeenumOui

pickup | delivery

delivery_addressstringNon

Obligatoire pour une livraison.

delivery_datedateNon

YYYY-MM-DD

delivery_commentstringNon

Instruction de remise.

languagestringNon

Langue des e-mails transactionnels.

/document/add+
NomTypeRequisDescription
doc_typestringOui

invoice | estimate | purchase_order

customer_idintegerNon

Compatibilité historique ; le client authentifié reste prioritaire.

doc_numberstringOui

Numéro du document.

doc_datedateOui

YYYY-MM-DD

due_datedateNon

YYYY-MM-DD

payment_methodstringNon

Mode de paiement.

remarkstringNon

Remarque libre.

/documentline/add+
NomTypeRequisDescription
document_guiduuidOui

GUID du document.

textstringOui

Description de la ligne.

quantitydecimalOui

Quantité.

unit_pricedecimalOui

Prix unitaire hors TVA.

vat_ratedecimalNon

Taux de TVA.

discount_percentagedecimalNon

Remise en pourcentage.

JSON

Format des réponses

200 OK
{
  "success": true,
  "message": "OK",
  "data": {
    "items": []
  },
  "meta": {
    "page": 1,
    "per_page": 10,
    "total": 0
  }
}

Diagnostic

Erreurs structurées

Chaque erreur expose un code exploitable, une catégorie, un message lisible et, lorsque disponible, un identifiant de requête.

400Requête invalide
401Authentification requise
403Accès refusé
404Ressource ou route absente
409Conflit métier
422Validation impossible
429Trop de requêtes
5xxIncident technique
422 Unprocessable Content
{
  "success": false,
  "message": "The delivery address is required.",
  "data": null,
  "error": {
    "code": "DELIVERY_ADDRESS_REQUIRED",
    "category": "validation",
    "message": "The delivery address is required.",
    "details": {}
  }
}

Ancienne documentation

Les URLs historiques restent reconnues

La nouvelle API accepte les variantes publiées sur doc.sellviaapp.com afin de ne pas interrompre les intégrations existantes.

/api/document/*/document/*
/user/add/customer/add
/fam1/insert/fam1/add
/product/insert/product/add
/product/favorites/product/favoris
/order/count/order/count/line
/CUSTOMER/LIST/customer/list
Vérification effectuée

Toutes les routes publiées dans l’ancienne documentation disposent maintenant d’une route native ou d’un alias de compatibilité.