1. 1.5 - Header + Query Param
ERPConnector
ERPConnector - Public doc
  • ERPConnector - Public doc
  • 1 - Informations générales
    • 1.1 - Survol
    • 1.2 - CodeLicence, Company, CléSecrete
    • 1.3 - Authentification
    • 1.4 - Versions de l'API
      • GetBasicApiInfo
    • 1.5 - Header + Query Param
      • Header - COMPANY_CODE
      • Header - RETURN_FULL_PAYLOAD
      • PUT vs POST
      • Query - $select
      • Pagination dans l'API
  • 2 - Accounting (GL)
    • 2.1 - GL Account
      • GL Account
    • 2.2 - GL Project
      • GLProject
      • GLProjectBalance
      • Create GLProjet
    • 2.3 - GL Journal Entry
      • GL Journal Entry
      • GL Journal Entry (Sage50)
  • 3 - Account Receivable (Customers)
    • 3.1 - Customer (client)
      • Customer
      • Create customer
      • Modify Customer
    • 3.2 - Customer Group
      • CustomerGroup
    • 3.3 - Customer Order (Commandes cliente)
      • CustomerOrder
      • CustomerOrder
      • CustomerOrder
    • 3.4 - Customer Invoice (Facture client)
      • CustomerInvoices
      • Create CustomerInvoice
      • Create CustomerInvoice (AR Invoice)
    • 3.5 - SalesRep (Vendeurs)
      • SalesRep
    • 3.6 - Territory (Territoires)
      • Territory
    • 3.7 - PaymentMode (Mode de paiement)
      • CustomerPaymentMode
    • 3.8 - Customer Project
      • Project
    • 3.9 - Customer Bid (Soumission cliente)
      • Get CustomerBid
      • Create CustomerBid
    • 3.10 - Customer Invoice Payment (Règlement facture cliente)
      • Get CustomerInvoicePayment
      • Create CustomerInvoicePayment (Acomba)
    • 3.11 - Customer Service Contract (Contrat de service)
      • Get CustomerInvoicePayment Copy
    • 3.12 - CustomerARInvoices (Transaction GL Cliente)
      • Extract InvoiceAR
      • Create CustomerInvoice (AR Invoice) Copy
  • 4 - Account Payable (Compte Payable/fournisseur)
    • 4.1 - Supplier (Fournisseur)
      • Supplier
      • Create Supplier
      • Modify Supplier
    • 4.2 - Supplier Invoice (Facture Fournisseur)
      • SupplierInvoice
      • Supplier Invoice
    • 4.3 - Supplier Order (Achat fournisseur)
      • SupplierOrder
      • Create SupplierOrder
    • 4.4 - Supplier Invoice Payment (Paiement Fournisseur)
      • SupplierInvoicePayment
      • SupplierInvoicePayment (Avantage)
    • 4.5 - Product Supplier (Produit-Fournisseur)
      • Get Supplier Products
      • Create SupplierProduct
      • Modify SupplierProduct
    • 4.6 - SupplierOrderReceipt (Réception Achat)
      • SupplierOrderReceipt (Réception Acomba)
  • 5 - Inventory (Produits)
    • 5.1 - Product (Produit)
      • Product - Get METADATA information
      • Product
      • Product Creation
      • Product Modif
    • 5.2 - ProductGroup (Groupe de produit)
      • ProductGroup
    • 5.3 - Product Trail
      • ProductTrail
      • Create ProductTrail
    • 5.4 - Product Serial
      • Get - Product Serial (Acomba)
  • 6 - HR (Ressource Humaine)
    • 6.1 - Employee
      • Employee
    • 6.2 - Employee Payroll
      • Employee Payroll
  • 7 - ERPConnectorTask (Direct)
    • GET SupplierOrder (achat) ErpConnectorTask
    • Extract Customer
    • Extract Customer
    • GET Supplier - ErpConnectorTask
  • 8 - Miscellaneous
    • 8.1 - Taxes
      • Tax
      • TaxGroup
    • 8.2 - Company Info
      • CompanyInfo
    • 8.3 WorkOrder (Servicentre / Servex)
      • 8.3.1 WorkOrder Sub Entities (Servex)
        • Get WorkOrderStatus (Servex)
        • Get WorkOrderTechnician (Servex)
        • Get WorkOrderDispatcher (Servex)
      • Get WorkOrder
      • Post WorkOrder (Servex)
    • 8.4 Equipment (Servicentre)
      • Get Equipment
    • 8.5 Activity (Avantage)
      • Get Activity
    • 8.6 FinancialTransaction (QBO)
      • Read FinancialTransaction (QBO - BankDeposit)
      • Create FinancialTransaction (QBO - BankDeposit)
  • 99 - System
    • Quickbooks Online
      • QuickBooks - GetRefreshQBOAccessTokens
      • QuickBooks - Get QBO GetQBOConnexionInfo
      • QuickBooks - Auth - ConnectToQBORedirect
      • QuickBooks - ExecuteRawSQL
    • Relational Database
      • Relational Db - ExecuteRawSQL
    • Acomba
      • Test ERP Connection
  1. 1.5 - Header + Query Param

Pagination dans l'API

Définition#

La pagination est une technique pour diviser une grande quantité de données en plusieurs pages. Cela améliore les performances et offre une meilleure expérience utilisateur en limitant la quantité de données transférées et affichées à un moment donné.
OnlineERP peut, dans certain cas où les données seraient trop volumineuse et risquerait d'endommager les systèmes, de paginer vos données.
Portez attention!

Avantages du Retour Paginé#

1.
Performance Améliorée
Requêtes plus rapides et utilisation réduite des ressources serveur.
2.
Expérience Utilisateur
Navigation simplifiée pour éviter de submerger les utilisateurs avec un trop-plein de données.
3.
Gestion de la Mémoire
Charge moins lourde sur la mémoire en ne renvoyant qu'une portion des données à la fois.

Structure d'un Retour Paginé#

Le format d'un retour paginé inclut les éléments suivants :
Data : Liste des résultats pour la page actuelle.
ResultsCount : Nombre d'éléments dans la page actuelle.
TotalCount : Nombre total d'éléments dans la collection complète.
Skipped : Nombre d'éléments ignorés avant la page actuelle.
Top : Nombre d'éléments renvoyés dans la page actuelle.
Exemple de réponse paginée :
jsonCopier le code{
    "Data": [
        { "id": 1, "name": "Produit A" },
        { "id": 2, "name": "Produit B" }
    ],
    "ResultsCount": 2,
    "TotalCount": 100,
    "Skipped": 0,
    "Top": 2
}

Faire une requête paginé#

Voici un exemple de requête paginée pour récupérer les produits via un URI /entity/products :

Requête HTTP :#


Explication des paramètres :#

skip=20 : Ignore les 20 premiers résultats (page 3 si on affiche 10 éléments par page).
top=10 : Renvoie un maximum de 10 éléments pour cette requête.
ALLOW_PAGINATION: true (en-tête) : Indique que la pagination est activée et que la réponse sera structurée en conséquence. Si vous omettez ce paramètre, le retour sera donc une liste normale (mais paginée! voir plus bas).

Activer ou Non la Pagination#

Header requis pour activer la pagination :
Inclure l'en-tête ALLOW_PAGINATION dans la requête.
Format paginé : Le retour suivra la structure ci-dessus.
Format dépaginé : Une simple liste de résultats sera renvoyée.

Cas Particuliers#

Certains endpoints peuvent forcer la pagination (ex. : récupération des produits).
Si le header ALLOW_PAGINATION est absent, vous obtiendrez uniquement une partie des résultats.
Vérifiez les headers de retour pour détecter si une pagination a été appliquée.

En-Têtes de Retour pour la Pagination#

Que le retour soit paginé ou dépaginé, les informations suivantes seront incluses dans les headers de réponse :
X-Pagination-ResultsCount : Nombre de résultats dans la page actuelle.
X-Pagination-TotalCount : Nombre total d'éléments dans la collection.
X-Pagination-Skipped : Nombre d'éléments ignorés avant cette page.
X-Pagination-Top : Nombre maximal d'éléments à renvoyer.

Détection d'une Pagination#

Pour savoir si une pagination a été appliquée :
Si l'en-tête X-Pagination-Top est NULL ou vide, aucune pagination n’a été effectuée.
EndFragment
Previous
Query - $select
Next
2 - Accounting (GL)
Built with