Documentation API – Customer

Customer Endpoint

Gérez les clients à travers différents systèmes ERP avec une API REST unifiée.
Créez, lisez et mettez à jour les informations clients pour Acomba, QuickBooks Online et autre système ERP.

GET/Entity/Customer
POST/Entity/Customer
PUT/Entity/Customer/{id}

Aperçu

L’entité Customer représente un client dans votre système ERP.
Cette API permet d’effectuer des opérations CRUD (Create, Read, Update) sur les clients
de manière standardisée, peu importe le système ERP sous-jacent.

L’API utilise des endpoints REST standards avec les méthodes HTTP appropriées :

  • GET /Entity/Customer – Récupérer une liste de clients
  • GET /Entity/Customer/{id} – Récupérer un client spécifique
  • POST /Entity/Customer – Créer un nouveau client
  • PUT /Entity/Customer/{id} – Mettre à jour un client existant
💡 Note importante

Les champs disponibles et requis varient selon le système ERP. Consultez la matrice de support ci-dessous pour connaître les opérations supportées.

Matrice de Support

Opérations CRUD supportées pour l’entité Customer par système ERP :

Système ERP GET POST PUT
Acomba ✓ Oui ✓ Oui ✓ Oui
QuickBooks Online ✓ Oui ✓ Oui ✓ Oui
Avantage ✓ Oui ✗ Non ✗ Non
Sage 50 ✗ Non ✗ Non ✗ Non
Servex ✗ Non ✗ Non ✗ Non
Servicentre ✗ Non ✗ Non ✗ Non
⚠️ Limitation

L’entité Customer n’est pas supportée pour Sage 50, Servex et Servicentre.

GET Customer

Récupère une liste de clients avec support de filtrage, pagination et sélection de champs.

GET/Entity/Customer

Paramètres de requêtes

Paramètre Type Requis Description
$filter string Optionnel Expression de filtrage de style OData
$select string Optionnel Champs à retourner (séparés par des virgules)
$expand string Optionnel Champs à épandre
$orderby string Optionnel Permet de trier les résultats
$top integer Optionnel Nombre maximum de résultats
$skip integer Optionnel Nombre de résultats à ignorer (pagination)
💡 Note importante

Pour plus de détails, veuillez consulter cet article : Composer une requête à l’API d’ERP Connector

Get Customer
GET /Entity/Customer
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
Response (200 OK)
[
    {
        "NomClient": "Ventes au comptoir",
        "NoClient": "0Comptoir",
        "FicheNomComplet": "0Comptoir - Ventes au comptoir",
        "FicheChampsRecherche": "0Comptoir Ventes au comptoir  Comptoir",
        "NoUniqueSystemeSource": "1",
        "ClientFacturation_NoUniqueSystemeSource": "0",
        "CleTri1": "Comptoir",
        "Pays": "CA",
        "DateOuvertureDossier": "2004-01-01T00:00:00",
        "NoVendeur": "9999",
        "NoVendeur_NoUniqueSystemSource": "1",
        "Territoire": "9999",
        "Territoire_NoUniqueSystemeSource": "1",
        "NoModeExpeditionDefaut": "0",
        "NoModeExpeditionDefaut_NoUniqueSystemeSource": "0",
        "LangueClient": "12",
        "EmailPrincipal_EstEtatDeCompte": false,
        "EmailPrincipal_EstEmailFacturation": false,
        "EmailPrincipal_EstPublicite": false,
        "Email2_EstEtatDeCompte": false,
        "Email2_EstEmailFacturation": false,
        "Email2_EstPublicite": false,
        "Email3_EstEtatDeCompte": false,
        "Email3_EstEmailFacturation": false,
        "Email3_EstPublicite": false,
        "Bool_ClientComptoir": true,
        "EstActif": true,
        "Fiche_DerniereModification": "2024-05-14T06:50:24",
        "MargeCredit_MontantMarge": 0,
        "MargeCredit_TypeMarge": 0,
        "CompteRecevable_No": "0",
        "NoGroupeTaxe": "TPS & TVQ",
        "NoGroupeTaxe_NoUniqueSystemeSource": "2",
        "PPA_Actif": false,
        "Projet_NoUniqueSystemeSource": "0",
        "ExtendedProperties": {},
        "InfoAgeDesComptes": {
            "NbJoursCycle": 0,
            "NBCycle": 5,
            "DateReference": "2099-01-01T00:00:00",
            "DateCalcul": "1900-01-01T00:00:00",
            "MontantDu_Cycle1_Courant": 0,
            "MontantDu_Cycle2": 0,
            "MontantDu_Cycle3": 0,
            "MontantDu_Cycle4": 0,
            "MontantDu_Cycle5": 0,
            "MontantDu_Cycle6": 0,
            "MontantDu_Cycle7": 0,
            "MontantDu_Cycle8": 0,
            "MontantDu_Cycle9": 0,
            "MontantDu_Cycle10": 0,
            "MontantDu_Cycle11": 0,
            "MontantDu_Cycle12": 0,
            "MontantDu_Total": 0,
            "ListeFactureNonReglee": []
        },
        "NiveauPrixClient": 0,
        "TermeDePaiement_No": "0",
        "TermeDePaiement_NoUniqueSystemeSource": "0",
        "ListeTelephonique": [
            {
                "TypeTel": 1
            },
            {
                "TypeTel": 2
            },
            {
                "TypeTel": 3
            },
            {
                "TypeTel": 4
            }
        ],
        "Telephone_Principal": {
            "TypeTel": 1
        },
        "Telephone_Telecopieur": {
            "TypeTel": 2
        },
        "Telephone_3": {
            "TypeTel": 3
        },
        "Telephone_4": {
            "TypeTel": 4
        },
        "ListeTaxeException": []
    }
]

POST Customer (Création)

Crée un nouveau client dans le système ERP. Le client ne doit pas déjà exister.

POST/Entity/Customer
💡 Headers recommandés

Utilisez le header If-None-Match: * pour garantir que la création échouera si l’entité existe déjà.

Champs requis par ERP

Champ Type Acomba QuickBooks
NoClient string ✓ Required Optional
NomClient string ✓ Required ✓ Required
Créer un client
POST /Entity/Customer
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
If-None-Match: *

{
    "NomClient": "Ventes au comptoir",
    "NoClient": "0Comptoir3",
    "FicheNomComplet": "0Comptoir - Ventes au comptoir",
    "FicheChampsRecherche": "0Comptoir Ventes au comptoir  Comptoir",
    "ClientFacturation_NoUniqueSystemeSource": "0",
    "CleTri1": "Comptoir",
    "DateOuvertureDossier": "2004-01-01T00:00:00",
    "NoVendeur": "9999",
    "NoVendeur_NoUniqueSystemSource": "1",
    "Territoire": "9999",
    "Territoire_NoUniqueSystemeSource": "1",
    "NoModeExpeditionDefaut": "0",
    "NoModeExpeditionDefaut_NoUniqueSystemeSource": "0",
    "LangueClient": "12",
    "EmailPrincipal_EstEtatDeCompte": false,
    "EmailPrincipal_EstEmailFacturation": false,
    "EmailPrincipal_EstPublicite": false,
    "Email2_EstEtatDeCompte": false,
    "Email2_EstEmailFacturation": false,
    "Email2_EstPublicite": false,
    "Email3_EstEtatDeCompte": false,
    "Email3_EstEmailFacturation": false,
    "Email3_EstPublicite": false,
    "Bool_ClientComptoir": true,
    "EstActif": true,
    "Fiche_DerniereModification": "2006-03-23T11:52:04",
    "MargeCredit_MontantMarge": 0.0,
    "MargeCredit_TypeMarge": 0,
    "CompteRecevable_No": "0",
    "NoGroupeTaxe": "TPS & TVQ",
    "NoGroupeTaxe_NoUniqueSystemeSource": "2",
    "PPA_Actif": false,
    "Projet_NoUniqueSystemeSource": "0", 
    "NiveauPrixClient": 0,
    "TermeDePaiement_No": "0",
    "TermeDePaiement_NoUniqueSystemeSource": "0"
}
Response (201 Created)
{
    "NoClient": "0Comptoir3",
    "NomClient": "Ventes au comptoir",
    "FicheNomComplet": "0Comptoir3 - Ventes au comptoir",
    "FicheChampsRecherche": "0Comptoir3 Ventes au comptoir  Comptoir",
    "NoUniqueSystemeSource": "29",
    "ClientFacturation_NoUniqueSystemeSource": "0",
    "CleTri1": "Comptoir",
    "DateOuvertureDossier": "2004-01-01T00:00:00",
    "NoVendeur": "9999",
    "NoVendeur_NoUniqueSystemSource": "1",
    "Territoire": "9999",
    "Territoire_NoUniqueSystemeSource": "1",
    "NoModeExpeditionDefaut": "0",
    "NoModeExpeditionDefaut_NoUniqueSystemeSource": "0",
    "LangueClient": "12",
    "EmailPrincipal_EstEtatDeCompte": false,
    "EmailPrincipal_EstEmailFacturation": false,
    "EmailPrincipal_EstPublicite": false,
    "Email2_EstEtatDeCompte": false,
    "Email2_EstEmailFacturation": false,
    "Email2_EstPublicite": false,
    "Email3_EstEtatDeCompte": false,
    "Email3_EstEmailFacturation": false,
    "Email3_EstPublicite": false,
    "Bool_ClientComptoir": true,
    "EstActif": true,
    "Fiche_DerniereModification": "2006-03-23T11:52:04",
    "MargeCredit_MontantMarge": 0,
    "MargeCredit_TypeMarge": 0,
    "CompteRecevable_No": "0",
    "NoGroupeTaxe": "TPS & TVQ",
    "NoGroupeTaxe_NoUniqueSystemeSource": "2",
    "PPA_Actif": false,
    "Projet_NoUniqueSystemeSource": "0",
    "DateRefference1": "1899-12-30T00:00:00",
    "DateRefference2": "1899-12-30T00:00:00",
    "ExtendedProperties": {},
    "InfoAgeDesComptes": {
        "NbJoursCycle": 0,
        "NBCycle": 5,
        "DateReference": "2099-01-01T00:00:00",
        "DateCalcul": "1900-01-01T00:00:00",
        "MontantDu_Cycle1_Courant": 0,
        "MontantDu_Cycle2": 0,
        "MontantDu_Cycle3": 0,
        "MontantDu_Cycle4": 0,
        "MontantDu_Cycle5": 0,
        "MontantDu_Cycle6": 0,
        "MontantDu_Cycle7": 0,
        "MontantDu_Cycle8": 0,
        "MontantDu_Cycle9": 0,
        "MontantDu_Cycle10": 0,
        "MontantDu_Cycle11": 0,
        "MontantDu_Cycle12": 0,
        "MontantDu_Total": 0,
        "ListeFactureNonReglee": []
    },
    "NiveauPrixClient": 0,
    "TermeDePaiement_No": "0",
    "TermeDePaiement_NoUniqueSystemeSource": "0",
    "ListeTelephonique": [],
    "Telephone_Principal": {
        "TypeTel": 0
    },
    "Telephone_Telecopieur": {
        "TypeTel": 0
    },
    "Telephone_3": {
        "TypeTel": 0
    },
    "Telephone_4": {
        "TypeTel": 0
    },
    "ListeTaxeException": [],
    "CommentairesClients": ""
}
⚠️ Important

Pour Acomba, le NoClient est obligatoire et doit être unique. Pour QuickBooks Online, le système génère automatiquement un ID si non fourni.

PUT Customer (Update)

Met à jour un client existant. Supporte la mise à jour partielle – seuls les champs fournis sont modifiés.

PUT/Entity/Customer/{id}
💡 Headers recommandés

Utilisez le header If-Match: * pour garantir que la mise à jour échouera si l’entité n’existe pas.

Paramètres de l’URI

Paramètre Type Requis Description
{id} string ✓ Required Le numéro du client (NoClient)
Mettre à jour le client
PUT /Entity/Customer/0Comptoir2
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
If-Match: *

{
    "NomClient": "Ventes au comptoir new2",
    "NoClient": "0Comptoir2",
    "FicheNomComplet": "0Comptoir - Ventes au comptoir",
    "FicheChampsRecherche": "0Comptoir Ventes au comptoir  Comptoir",
    "ClientFacturation_NoUniqueSystemeSource": "0",
    "CleTri1": "Comptoir",
    "DateOuvertureDossier": "2004-01-01T00:00:00",
    "NoVendeur": "9999",
    "NoVendeur_NoUniqueSystemSource": "1",
    "Territoire": "9999",
    "Territoire_NoUniqueSystemeSource": "1",
    "NoModeExpeditionDefaut": "0",
    "NoModeExpeditionDefaut_NoUniqueSystemeSource": "0",
    "LangueClient": "12",
    "EmailPrincipal_EstEtatDeCompte": false,
    "EmailPrincipal_EstEmailFacturation": false,
    "EmailPrincipal_EstPublicite": false,
    "Email2_EstEtatDeCompte": false,
    "Email2_EstEmailFacturation": false,
    "Email2_EstPublicite": false,
    "Email3_EstEtatDeCompte": false,
    "Email3_EstEmailFacturation": false,
    "Email3_EstPublicite": false,
    "Bool_ClientComptoir": true,
    "EstActif": true,
    "Fiche_DerniereModification": "2006-03-23T11:52:04",
    "MargeCredit_MontantMarge": 0.0,
    "MargeCredit_TypeMarge": 0,
    "CompteRecevable_No": "0",
    "NoGroupeTaxe": "TPS & TVQ",
    "NoGroupeTaxe_NoUniqueSystemeSource": "2",
    "PPA_Actif": false,
    "Projet_NoUniqueSystemeSource": "0", 
    "NiveauPrixClient": 0,
    "TermeDePaiement_No": "0",
    "TermeDePaiement_NoUniqueSystemeSource": "0"
}
Response (200 OK)
{
    "NoClient": "0Comptoir2",
    "NomClient": "Ventes au comptoir new2",
    "FicheNomComplet": "0Comptoir2 - Ventes au comptoir new2",
    "FicheChampsRecherche": "0Comptoir2 Ventes au comptoir new2  Comptoir",
    "NoUniqueSystemeSource": "28",
    "ClientFacturation_NoUniqueSystemeSource": "0",
    "CleTri1": "Comptoir",
    "DateOuvertureDossier": "2004-01-01T00:00:00",
    "NoVendeur": "9999",
    "NoVendeur_NoUniqueSystemSource": "1",
    "Territoire": "9999",
    "Territoire_NoUniqueSystemeSource": "1",
    "NoModeExpeditionDefaut": "0",
    "NoModeExpeditionDefaut_NoUniqueSystemeSource": "0",
    "LangueClient": "12",
    "EmailPrincipal_EstEtatDeCompte": false,
    "EmailPrincipal_EstEmailFacturation": false,
    "EmailPrincipal_EstPublicite": false,
    "Email2_EstEtatDeCompte": false,
    "Email2_EstEmailFacturation": false,
    "Email2_EstPublicite": false,
    "Email3_EstEtatDeCompte": false,
    "Email3_EstEmailFacturation": false,
    "Email3_EstPublicite": false,
    "Bool_ClientComptoir": true,
    "EstActif": true,
    "Fiche_DerniereModification": "2006-03-23T11:52:04",
    "MargeCredit_MontantMarge": 0,
    "MargeCredit_TypeMarge": 0,
    "CompteRecevable_No": "0",
    "NoGroupeTaxe": "TPS & TVQ",
    "NoGroupeTaxe_NoUniqueSystemeSource": "2",
    "PPA_Actif": false,
    "Projet_NoUniqueSystemeSource": "0",
    "DateRefference1": "1899-12-30T00:00:00",
    "DateRefference2": "1899-12-30T00:00:00",
    "ExtendedProperties": {},
    "InfoAgeDesComptes": {
        "NbJoursCycle": 0,
        "NBCycle": 5,
        "DateReference": "2099-01-01T00:00:00",
        "DateCalcul": "1900-01-01T00:00:00",
        "MontantDu_Cycle1_Courant": 0,
        "MontantDu_Cycle2": 0,
        "MontantDu_Cycle3": 0,
        "MontantDu_Cycle4": 0,
        "MontantDu_Cycle5": 0,
        "MontantDu_Cycle6": 0,
        "MontantDu_Cycle7": 0,
        "MontantDu_Cycle8": 0,
        "MontantDu_Cycle9": 0,
        "MontantDu_Cycle10": 0,
        "MontantDu_Cycle11": 0,
        "MontantDu_Cycle12": 0,
        "MontantDu_Total": 0,
        "ListeFactureNonReglee": []
    },
    "NiveauPrixClient": 0,
    "TermeDePaiement_No": "0",
    "TermeDePaiement_NoUniqueSystemeSource": "0",
    "ListeTelephonique": [],
    "Telephone_Principal": {
        "TypeTel": 0
    },
    "Telephone_Telecopieur": {
        "TypeTel": 0
    },
    "Telephone_3": {
        "TypeTel": 0
    },
    "Telephone_4": {
        "TypeTel": 0
    },
    "ListeTaxeException": [],
    "CommentairesClients": ""
}
💡 Mise à jour partielle

Vous n’avez pas besoin d’envoyer tous les champs. Seuls les champs fournis seront modifiés, les autres conserveront leurs valeurs existantes.

Propriétés détaillées de Customer

Identification

Propriété Type Description
NoClient string Numéro du client (clé business)
NoUniqueSystemeSource string Clé unique interne de l’ERP
NomClient string Nom du client
FicheNomComplet string (readonly) Format: “{NoClient} – {NomClient}”
EstActif bool Indique si le client est actif
Bool_ClientComptoir bool Indique si c’est un client comptoir

Adresse et coordonnées

Propriété Type Description
DescriptionAdresse string Description de l’adresse
Adresse string Adresse ligne 1
Adresse2 string Adresse ligne 2
Ville string Ville
Province string Province/État
CodePostal string Code postal
Pays string Pays
MRC string MRC (Municipalité régionale de comté)
CleTri1 string Clé de tri personnalisée

Contact et communication

Propriété Type Description
NomPersonneContact string Nom de la personne contact
EmailPrincipal_Adresse string Adresse courriel principale
EmailPrincipal_Desc string Description du courriel principal
EmailPrincipal_EstEtatDeCompte bool Envoyer les états de compte
EmailPrincipal_EstEmailFacturation bool Envoyer les factures
EmailPrincipal_EstPublicite bool Accepte la publicité
Email2_Adresse string Adresse courriel secondaire
Email2_Desc string Description du courriel secondaire
Email2_EstEtatDeCompte bool Envoyer les états de compte
Email2_EstEmailFacturation bool Envoyer les factures
Email2_EstPublicite bool Accepte la publicité
Email3_Adresse string Adresse courriel tertiaire
Email3_Desc string Description du courriel tertiaire
Email3_EstEtatDeCompte bool Envoyer les états de compte
Email3_EstEmailFacturation bool Envoyer les factures
Email3_EstPublicite bool Accepte la publicité
SiteWeb string Site web du client
ListeTelephonique List<FicheTelephonique> Liste des numéros de téléphone
Telephone_Principal FicheTelephonique Téléphone principal
Telephone_Telecopieur FicheTelephonique Numéro de télécopieur

Relations commerciales

Propriété Type Description
NoVendeur string Numéro du vendeur assigné
NoVendeur_NoUniqueSystemSource string ID interne du vendeur
Vendeur_NomComplet string Nom complet du vendeur
Territoire string Code du territoire
Territoire_NoUniqueSystemeSource string ID interne du territoire
Territoire_NomComplet string Nom complet du territoire
ClientFacturation_No string Client de facturation (si différent)
ClientFacturation_NoUniqueSystemeSource string ID interne du client de facturation

Expédition et livraison

Propriété Type Description
NoModeExpeditionDefaut string Mode d’expédition par défaut
NoModeExpeditionDefaut_NoUniqueSystemeSource string ID interne du mode d’expédition
InfoLivraisonSpeciale1 string Information de livraison spéciale 1
InfoLivraisonSpeciale2 string Information de livraison spéciale 2

Conditions financières

Propriété Type Description
TermeDePaiement_No string Terme de paiement
TermeDePaiement_NoUniqueSystemeSource string ID interne du terme de paiement
TermeDePaiement_NomComplet string Description complète du terme
MargeCredit_MontantMarge decimal Montant de la marge de crédit
MargeCredit_TypeMarge Client_TypeDeMargeDeCredit? Type de marge de crédit
NiveauPrixClient Client_NiveauPrixClient Niveau de prix pour le client
InfoAgeDesComptes AgeDesComptes Information sur l’âge des comptes

Taxes et comptabilité

Propriété Type Description
NoGroupeTaxe string Groupe de taxes applicable
NoGroupeTaxe_NoUniqueSystemeSource string ID interne du groupe de taxes
ListeTaxeException List<FicheTaxe> Liste des exceptions de taxes
CompteRecevable string Compte recevable (Acomba)
CompteRecevable_No string Numéro du compte recevable

Paiement préautorisé (PPA)

Propriété Type Description
PPA_Actif bool Paiement préautorisé activé
PPA_NoInstitution string Numéro de l’institution bancaire
PPA_NoSuccursale string Numéro de la succursale
PPA_NoCompte string Numéro de compte bancaire

Projet et références

Propriété Type Description
Projet_No string Numéro de projet associé
Projet_NoUniqueSystemeSource string ID interne du projet
DateRefference1 DateTime? Date de référence personnalisée 1
DateRefference2 DateTime? Date de référence personnalisée 2
DescriptionDateRefference1 string Description de la date de référence 1
DescriptionDateRefference2 string Description de la date de référence 2

Informations diverses

Propriété Type Description
DateOuvertureDossier DateTime? Date d’ouverture du compte client
LangueClient string Langue du client
CommentairesClients string Commentaires sur le client
Fiche_DerniereModification DateTime? Date de dernière modification
ExtendedProperties Dictionary<string, object> Propriétés étendues personnalisées
💡 ExtendedProperties

Le dictionnaire ExtendedProperties permet d’ajouter des attributs personnalisés spécifiques à certains ERP ou besoins d’affaires particuliers sans modifier le modèle de données principal.