API v2

Ce document est la documentation technique de l'API v2 d'EasyFlor. Étant donné sa nature hautement technique (endpoints, noms de propriétés, exemples de code), le contenu reste en grande partie en anglais conformément aux conventions standard de documentation API. Les descriptions et introductions sont traduites en français.

Introduction

L'API V2 utilise la synchronisation basée sur les Etag pour une récupération incrémentielle efficace des données. Chaque enregistrement contient une valeur Etag - passez l'Etag du dernier enregistrement pour obtenir le prochain lot de nouveaux enregistrements ou d'enregistrements modifiés.

Améliorations clés dans V2 :

  • Pagination basée sur les Etag pour une synchronisation incrémentielle fiable
  • Tous les endpoints supportent la synchronisation incrémentielle

L'autorisation fonctionne de la même manière que V1.


Journal des modifications

Version Description Date Auteur
2.0.2 Routes ListPreOrderGroupItemEtag modifiées : Count/ et / 2026-01-09 DDH
2.0.1 Ajout des endpoints Count à tous les endpoints (sauf ShopFavorites) 2026-01-08 DDH
2.0.0 Version initiale de l'API V2 avec synchronisation Etag 2026-01-08 DDH

Général

Formats JSON

  • **Date 😗* yyyy-MM-dd (ex: 2026-12-30)
  • **DateTime 😗* yyyy-MM-dd\THH:mm:ssttttttt (ex: 2026-12-30T13:40:20+02:00) - Utilisez le fuseau horaire du débiteur
  • **LanguageValue 😗* Objet avec langues ISO-639-1 ({"nl":"...","de":"...","fr":"..."})
  • **Null 😗* N'envoyez pas de paramètres sans valeur
  • **Encodage 😗* UTF-8

ETags

  1. **Sync initiale 😗* Appelez sans Etag → premier lot
  2. Prenez le dernier Etag du dernier enregistrement
  3. **Sync suivante 😗* Passez l'Etag → prochain lot
  4. Répétez jusqu'à recevoir un tableau vide []
GET /api/v2/ArticleEtag           # → 2000 enregistrements, dernier Etag: "a1b2c3d4-..."
GET /api/v2/ArticleEtag/a1b2c3d4-...  # → 2000 suivants, dernier Etag: "e5f6g7h8-..."
GET /api/v2/ArticleEtag/e5f6g7h8-...  # → [] sync terminée

**Important 😗* Les enregistrements modifiés réapparaissent. Si vous recevez un Id existant, écrasez l'enregistrement local avec les nouvelles données.

Codes de statut

Code Description
200 OK - Requête réussie
400 BadRequest - Erreur
401 Unauthorized - Authentification requise
404 NotFound - Ressource non trouvée
500 ServerError - Erreur de traitement

Endpoints Count

Chaque endpoint V2 a un endpoint Count correspondant : GET /api/v2/{EndpointName}/Count Retourne un entier. Note : ShopFavoritesEtag n'a pas de Count.

Fréquences de synchronisation recommandées

**Données temps réel (toutes les 5 minutes) 😗* PreOrder, Purchase, DistributedPurchase, DistributedPurchaseOrderable, Invoice, DebetInvoicePurchaseItem, DebetInvoiceCustomItem, DebetInvoicePackagingItem, DebetInvoiceTrolleyItem, CreditInvoicePurchaseItem, CreditInvoiceCustomItem, CreditInvoiceDepositItem, Payment, DistributedTrolley, Supplier, Debtor, ListPreOrderGroupItem, ListArticleSort

**Données de référence (une fois par jour) 😗* Administration, Country, Currency, Location, MarkupCategory, Remark, ListGroup, Employee, Article, ArticleSort, ArticleGroup, ShopDebtorSession, ShopFavorites, PrognosePrice, PrognoseQuantity


Autorisation

Identique à V1. Voir la documentation API v1 pour les détails sur l'autorisation par cookie et par jeton JWT Bearer.

  • Cookie : POST api/authorization
  • JWT : POST api/authorizationtoken
  • Déconnexion : POST api/unauthorization (cookie uniquement)

Endpoints

Données de référence

Endpoint Description Sync Max/requête
GET /api/v2/DebtorEtag/{etag?} Débiteurs 5 min 2000
GET /api/v2/SupplierEtag/{etag?} Fournisseurs 5 min 2000
GET /api/v2/EmployeeEtag/{etag?} Employés Quotidien 1000
GET /api/v2/CountryEtag/{etag?} Pays Quotidien 1000
GET /api/v2/CurrencyEtag/{etag?} Devises Quotidien 1000
GET /api/v2/AdministrationEtag/{etag?} Administrations Quotidien 1000
GET /api/v2/LocationEtag/{etag?} Emplacements Quotidien 1000

Articles et produits

Endpoint Description Sync Max/requête
GET /api/v2/ArticleEtag/{etag?} Articles Quotidien 2000
GET /api/v2/ArticleSortEtag/{etag?} Variantes d'articles Quotidien 2000
GET /api/v2/ArticleGroupEtag/{etag?} Groupes d'articles Quotidien 2000
GET /api/v2/MarkupCategoryEtag/{etag?} Catégories de marge Quotidien 1000
GET /api/v2/RemarkEtag/{etag?} Remarques Quotidien 1000

Boutique en ligne

Endpoint Description Sync Max/requête
GET /api/v2/ListGroupEtag/{etag?} Groupes de listes Quotidien 1000
GET /api/v2/ListArticleSortEtag/{etag?} Articles sur listes 5 min 1000
GET /api/v2/ListPreOrderGroupItemEtag/{id} Articles groupe pré-commande (sync initiale) 5 min 2000
GET /api/v2/ListPreOrderGroupItemEtag/{etag}/{id} Articles groupe pré-commande (sync incrémentielle) 5 min 2000
GET /api/v2/ListPreOrderGroupItemEtag/Count/{id} Comptage articles groupe - -
GET /api/v2/ShopFavoritesEtag/{etag?} Favoris par débiteur Quotidien 1000
GET /api/v2/ShopDebtorSessionEtag/{etag?} Sessions débiteurs Quotidien 1000

Commandes et achats

Endpoint Description Sync Max/requête
GET /api/v2/PreOrderEtag/{etag?} Pré-commandes 5 min 2000
GET /api/v2/PurchaseEtag/{etag?} Achats 5 min 2000
GET /api/v2/DistributedPurchaseEtag/{etag?} Achats distribués 5 min 1024
GET /api/v2/DistributedPurchaseOrderableEtag/{etag?} Achats distribuables 5 min 2000

Facturation - Débit

Endpoint Description Sync Max/requête
GET /api/v2/InvoiceEtag/{etag?} Factures 5 min 2000
GET /api/v2/DebetInvoicePurchaseItemEtag/{etag?} Lignes d'achat facturées 5 min 2000
GET /api/v2/DebetInvoiceCustomItemEtag/{etag?} Lignes personnalisées débit 5 min 2000
GET /api/v2/DebetInvoicePackagingItemEtag/{etag?} Emballages facturés 5 min 2000
GET /api/v2/DebetInvoiceTrolleyItemEtag/{etag?} Chariots facturés 5 min 2000

Facturation - Crédit

Endpoint Description Sync Max/requête
GET /api/v2/CreditInvoicePurchaseItemEtag/{etag?} Lignes d'achat créditées 5 min 2000
GET /api/v2/CreditInvoiceCustomItemEtag/{etag?} Lignes personnalisées crédit 5 min 2000
GET /api/v2/CreditInvoiceDepositItemEtag/{etag?} Consignes créditées 5 min 2000

Paiements et chariots

Endpoint Description Sync Max/requête
GET /api/v2/PaymentEtag/{etag?} Paiements 5 min 2000
GET /api/v2/DistributedTrolleyEtag/{etag?} Chariots distribués 5 min 2000

Prévisions

Endpoint Description Sync Max/requête
GET /api/v2/PrognosePriceEtag/{etag?} Pronostics de prix Quotidien 2000
GET /api/v2/PrognoseQuantityEtag/{etag?} Pronostics de quantité Quotidien 2000

Note : Les endpoints de prévision ne retournent que les données pour l'année en cours et l'année suivante.


Modèles de réponse

Tous les modèles de réponse incluent les propriétés DateTimeLastModified (DateTime) et Etag (Guid) en plus de leurs propriétés spécifiques. Pour la documentation détaillée de chaque modèle avec toutes ses propriétés, consultez la version anglaise de ce document (API v2) qui contient les spécifications complètes de chaque modèle de données.

Modèles principaux

  • DebtorEtagResult : Données complètes du débiteur (code, nom, administration, adresses, contacts, paramètres de facturation et de distribution)
  • SupplierEtagResult : Données du fournisseur (nom, code, catégorie, pays, langue, catégories de marge)
  • ArticleEtagResult : Données d'article (nom, code, caractéristiques, tags, couleurs, code VBN, jours de fraîcheur)
  • ArticleSortEtagResult : Variante d'article (nom, caractéristiques, tags, prix min/max)
  • ArticleGroupEtagResult : Groupe d'articles (nom, parent, types de caractéristiques, masqué)
  • PurchaseEtagResult : Achat (nom, date, quantités achetées/vendues, prix, fournisseur, emplacement)
  • DistributedPurchaseEtagResult : Achat distribué (article, débiteur, prix, événements, événements RMA)
  • InvoiceEtagResult : Facture (débiteur, date, totaux, état de paiement, devise, exporté)
  • PreOrderEtagResult : Pré-commande (prix, date, quantités commandées/distribuées, réponses)
  • PaymentEtagResult : Paiement (débiteur, montant, méthode, factures payées)
  • PrognosePriceEtagResult : Pronostic de prix (article, année, semaine, prix)
  • PrognoseQuantityEtagResult : Pronostic de quantité (article, année, semaine, quantité, répartition par jour)

Vous avez des questions ou besoin d'aide? N'hésitez pas à nous contacter par téléphone au +31 (0)71 30 20 310 ou envoyez un e-mail à support@easyflor.nl.