Supplier Endpoint
Gérez les fournisseurs à travers différents systèmes ERP avec une API REST unifiée.
Créez, lisez et mettez à jour les fournisseurs pour Acomba, QuickBooks Online, Avantage, Sage 50 et autres systèmes ERP.
/Entity/Supplier/Entity/Supplier/Entity/SupplierAperçu
L’entité Supplier représente un fournisseur dans votre système ERP.
Cette API permet d’effectuer des opérations de lecture (GET), création (POST) et mise à jour (PUT) sur les fournisseurs
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/Supplier– Récupérer une liste de fournisseursGET /Entity/Supplier/{id}– Récupérer un fournisseur spécifiquePOST /Entity/Supplier– Créer un nouveau fournisseurPUT /Entity/Supplier/{id}– Mettre à jour un fournisseur existant
Les champs disponibles et requis varient selon le système ERP. La plupart des systèmes supportent les informations de base du fournisseur comme le nom, l’adresse et les coordonnées.
Matrice de Support
Opérations supportées pour l’entité Supplier par système ERP :
| Système ERP | GET | POST | PUT |
|---|---|---|---|
| Acomba | ✓ Oui | ✓ Oui | ✓ Oui |
| QuickBooks Online | ✓ Oui | ✓ Oui | ✓ Oui |
| Avantage | ✓ Oui | ✓ Oui | ✗ Non |
| Sage 50 | ✓ Oui | ✗ Non | ✗ Non |
| Servex | ✗ Non | ✗ Non | ✗ Non |
| Servicentre | ✗ Non | ✗ Non | ✗ Non |
Sage 50 supporte uniquement la lecture (GET) des fournisseurs. Acomba et QuickBooks Online offrent un support complet pour toutes les opérations. Avantage supporte la création mais pas la mise à jour.
GET Supplier
Récupère une liste de fournisseurs avec support de filtrage, pagination et sélection de champs.
/Entity/SupplierParamètres de requêtes
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| $filter | string | Optionnel | Filtre OData pour filtrer les résultats |
| $select | string | Optionnel | Sélectionne les champs à retourner |
| $expand | string | Optionnel | Inclut les entités liées |
| $orderby | string | Optionnel | Trie les résultats |
| $top | integer | Optionnel | Nombre maximum de résultats |
| $skip | integer | Optionnel | Nombre de résultats à sauter |
Pour plus de détails sur la composition des requêtes, consultez : Composer une requête à l’API d’ERP Connector
GET /Entity/Supplier Host: https://v4.api.onlineerp.solution.quebec/api Content-Type: application/json
[
{
"NoUniqueSystemeSource": "0000000000",
"NoFournisseur": "0000000000",
"NomFournisseur": "NOUS MEME",
"FicheNomComplet": "0000000000 - NOUS MEME",
"Addresse": "",
"CodePostal": "",
"Ville": "",
"Province": "QC",
"Pays": "CAN",
"DeviseParDefaut": "",
"EstActif": true,
"SiteWeb": "",
"ListeTelephonique": [
{
"Numero": "",
"TypeTel": 1
},
{
"Numero": "",
"TypeTel": 3
},
{
"Numero": "",
"TypeTel": 4
},
{
"Numero": "",
"TypeTel": 2
}
],
"ExtendedProperties": {},
"EmailPrincipal_Adresse": "",
"EmailPrincipal_EstDepotElectronique": false,
"EmailPrincipal_EstPublicite": false,
"Email2_EstDepotElectronique": false,
"Email2_EstPublicite": false,
"Email3_EstDepotElectronique": false,
"Email3_EstPublicite": false
}
]
POST Supplier (Création)
Crée un nouveau fournisseur dans le système ERP.
/Entity/SupplierUtilisez 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 | Avantage | Description |
|---|---|---|---|---|---|
| NoFournisseur | string | ✓ Required | Optional | ✓ Required | Numéro du fournisseur |
| NomFournisseur | string | ✓ Required | ✓ Required | ✓ Required | Nom du fournisseur |
POST /Entity/Supplier
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
If-None-Match: *
{
"NoFournisseur": "monFourn02",
"NomFournisseur": "ROZA le Rénovateur",
"Addresse": "837 8e Rue",
"Ville": "Cité du Printemps (QC)",
"NomPersonneContact": "Kalid Babouche",
"CodePostal": "G0G0G0",
"Pays": "CA",
"Langue": "Français",
"EstActif": true,
"SiteWeb": "www.rozarenove.com",
"ListeTelephonique": [
{
"Numero": "5142654125",
"Description": "Téléphone",
"TypeTel": 1
},
{
"Numero": "5142654126",
"Description": "Télécopieur",
"TypeTel": 2
},
{
"TypeTel": 3
},
{
"TypeTel": 4
}
],
"TermeDePaiement_No": "2",
"NoCompteGLAchat": "8000000",
"NoClientLiaison": "458844545",
"RepresentantNom": "Pierre Michaud",
"EmailPrincipal_Adresse": "kalidebabouche@info.net",
"EmailPrincipal_EstDepotElectronique": false,
"EmailPrincipal_EstPublicite": false,
"Email2_Adresse": null,
"Email2_EstDepotElectronique": false,
"Email2_EstPublicite": false,
"Email3_Adresse": null,
"Email3_EstDepotElectronique": false,
"Email3_EstPublicite": false,
"ComptePayable": "0",
"CompteRecevableNo": "0"
}
{
"NoFournisseur": "monFourn02",
"NomFournisseur": "ROZA le Rénovateur",
"Addresse": "837 8e Rue",
"Ville": "Cité du Printemps (QC)",
"NomPersonneContact": "Kalid Babouche",
"CodePostal": "G0G0G0",
"Pays": "CA",
"Langue": "Français",
"EstActif": true,
"SiteWeb": "www.rozarenove.com",
"ListeTelephonique": [
{
"Numero": "5142654125",
"Description": "Téléphone",
"TypeTel": 1
},
{
"Numero": "5142654126",
"Description": "Télécopieur",
"TypeTel": 2
},
{
"TypeTel": 3
},
{
"TypeTel": 4
}
],
"TermeDePaiement_No": "2",
"NoCompteGLAchat": "8000000",
"NoClientLiaison": "458844545",
"RepresentantNom": "Pierre Michaud",
"EmailPrincipal_Adresse": "kalidebabouche@info.net",
"EmailPrincipal_EstDepotElectronique": false,
"EmailPrincipal_EstPublicite": false,
"Email2_Adresse": null,
"Email2_EstDepotElectronique": false,
"Email2_EstPublicite": false,
"Email3_Adresse": null,
"Email3_EstDepotElectronique": false,
"Email3_EstPublicite": false,
"ComptePayable": "0",
"CompteRecevableNo": "0"
}
Pour Acomba et Avantage, le NoFournisseur est obligatoire. Pour QuickBooks, il est généré automatiquement si non fourni. Le système retourne toujours le NoUniqueSystemeSource qui est la clé interne de l’ERP.
PUT Supplier (Mise à jour)
Met à jour un fournisseur existant dans le système ERP.
/Entity/Supplier/{id}Utilisez le header If-Match: * pour garantir que la mise à jour échouera si l’entité n’existe pas déjà.
La mise à jour (PUT) n’est supportée que pour Acomba et QuickBooks Online. Avantage, Sage 50, Servex et Servicentre ne supportent pas cette opération.
PUT /Entity/Supplier/monFourn02
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
If-Match: *
{
"NoFournisseur": "monFourn02",
"NomFournisseur": "ROZA le Rénovateur",
"Addresse": "837 8e Rue",
"Ville": "Cité du Printemps (QC)",
"NomPersonneContact": "Kalid Babouche",
"CodePostal": "G0G0G0",
"Pays": "CA",
"Langue": "Français",
"EstActif": true,
"SiteWeb": "www.rozarenove.com",
"ListeTelephonique": [
{
"Numero": "5142654125",
"Description": "Téléphone",
"TypeTel": 1
},
{
"Numero": "5142654126",
"Description": "Télécopieur",
"TypeTel": 2
},
{
"TypeTel": 3
},
{
"TypeTel": 4
}
],
"TermeDePaiement_No": "2",
"NoCompteGLAchat": "8000000",
"NoClientLiaison": "458844545",
"RepresentantNom": "Pierre Michaud",
"EmailPrincipal_Adresse": "kalidebabouche@info.net",
"EmailPrincipal_EstDepotElectronique": false,
"EmailPrincipal_EstPublicite": false,
"Email2_Adresse": null,
"Email2_EstDepotElectronique": false,
"Email2_EstPublicite": false,
"Email3_Adresse": null,
"Email3_EstDepotElectronique": false,
"Email3_EstPublicite": false,
"ComptePayable": "0",
"CompteRecevableNo": "0"
}
{
"NoFournisseur": "monFourn02",
"NomFournisseur": "ROZA le Rénovateur",
"Addresse": "837 8e Rue",
"Ville": "Cité du Printemps (QC)",
"NomPersonneContact": "Kalid Babouche",
"CodePostal": "G0G0G0",
"Pays": "CA",
"Langue": "Français",
"EstActif": true,
"SiteWeb": "www.rozarenove.com",
"ListeTelephonique": [
{
"Numero": "5142654125",
"Description": "Téléphone",
"TypeTel": 1
},
{
"Numero": "5142654126",
"Description": "Télécopieur",
"TypeTel": 2
},
{
"TypeTel": 3
},
{
"TypeTel": 4
}
],
"TermeDePaiement_No": "2",
"NoCompteGLAchat": "8000000",
"NoClientLiaison": "458844545",
"RepresentantNom": "Pierre Michaud",
"EmailPrincipal_Adresse": "kalidebabouche@info.net",
"EmailPrincipal_EstDepotElectronique": false,
"EmailPrincipal_EstPublicite": false,
"Email2_Adresse": null,
"Email2_EstDepotElectronique": false,
"Email2_EstPublicite": false,
"Email3_Adresse": null,
"Email3_EstDepotElectronique": false,
"Email3_EstPublicite": false,
"ComptePayable": "0",
"CompteRecevableNo": "0"
}
Vous pouvez envoyer seulement les champs que vous souhaitez modifier. Les champs non fournis conserveront leur valeur actuelle dans l’ERP.
Propriétés détaillées de Supplier
Identification
| Propriété | Type | Description |
|---|---|---|
| NoFournisseur | string | Numéro du fournisseur (clé business) |
| NoUniqueSystemeSource | string | Clé unique interne de l’ERP |
| NomFournisseur | string | Nom du fournisseur |
| FicheNomComplet | string (readonly) | Format: “{NoFournisseur} – {NomFournisseur}” |
| EstActif | bool | Indique si le fournisseur est actif (par défaut: true) |
Adresse et coordonnées
| Propriété | Type | Description |
|---|---|---|
| Addresse | string | Adresse du fournisseur |
| Ville | string | Ville |
| Province | string | Province/État |
| CodePostal | string | Code postal |
| Pays | string | Pays |
| MRC | string | MRC (Municipalité régionale de comté) |
Contact et communication
| Propriété | Type | Description |
|---|---|---|
| NomPersonneContact | string | Nom de la personne contact |
| SiteWeb | string | Site web du fournisseur |
| ListeTelephonique | List<FicheTelephonique> | Liste des numéros de téléphone |
| EmailPrincipal_Adresse | string | Adresse courriel principale |
| EmailPrincipal_Desc | string | Description du courriel principal |
| EmailPrincipal_EstDepotElectronique | bool | Dépôt électronique activé |
| EmailPrincipal_EstPublicite | bool | Accepte la publicité |
| Email2_Adresse | string | Adresse courriel secondaire |
| Email2_Desc | string | Description du courriel secondaire |
| Email2_EstDepotElectronique | bool | Dépôt électronique activé |
| Email2_EstPublicite | bool | Accepte la publicité |
| Email3_Adresse | string | Adresse courriel tertiaire |
| Email3_Desc | string | Description du courriel tertiaire |
| Email3_EstDepotElectronique | bool | Dépôt électronique activé |
| Email3_EstPublicite | bool | Accepte la publicité |
Représentant
| Propriété | Type | Description |
|---|---|---|
| RepresentantNom | string | Nom du représentant |
| RepresentantEmail | string | Courriel du représentant |
| RepresentantTelephone | string | Téléphone du représentant |
| RepresentantTelephoneExt | string | Extension téléphonique du représentant |
Comptabilité et taxes
| Propriété | Type | Description |
|---|---|---|
| ComptePayable | string | Compte payable (Acomba) |
| CompteRecevableNo | string | Compte recevable (Acomba) |
| NoEnregistrementTaxeFederale | string | Numéro d’enregistrement TPS (Avantage) |
| NoEnregistrementTaxeProvinciale | string | Numéro d’enregistrement TVQ (Avantage) |
| NoCompteGLAchat | string | Numéro de compte GL d’achat |
| NoCompteGLAchat_NoUniqueSystemeSource | string | ID interne du compte GL d’achat |
| ExpenseAccountNumber | string | Compte de dépense par défaut (Avantage) |
| ExpenseAccountErpInternalId | string | ID interne du compte de dépense |
Relations et paiement
| Propriété | Type | Description |
|---|---|---|
| FournisseurPayerA_No | string | Fournisseur à payer (si différent) |
| FournisseurPayerA_NoUniqueSystemeSource | string | ID interne du fournisseur à payer |
| NoClientLiaison | string | Client de liaison associé |
| TermeDePaiement_No | string | Terme de paiement |
| TermeDePaiement_NoUniqueSystemeSource | string | ID interne du terme de paiement |
Projet et informations diverses
| Propriété | Type | Description |
|---|---|---|
| Projet_No | string | Numéro de projet associé |
| Projet_NoUniqueSystemeSource | string | ID interne du projet |
| Langue | string | Langue du fournisseur |
| DeviseParDefaut | string | Devise par défaut |
| InternalNotes | string | Notes internes |
| Fiche_DerniereModification | DateTime? | Date de dernière modification |
| ExtendedProperties | Dictionary<string, object> | Propriétés étendues personnalisées |
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.