Supplier Product API
Gérez les produits fournisseurs à travers différents systèmes ERP avec une API REST unifiée.
Créez, mettez à jour et lisez les associations entre produits et fournisseurs pour Acomba et autres systèmes ERP.
/Entity/SupplierProduct/Entity/SupplierProduct/Entity/SupplierProductAperçu
L’entité SupplierProduct (FicheProduitFournisseur) représente l’association entre un produit et un fournisseur dans votre système ERP.
Cette entité permet de gérer les informations spécifiques au fournisseur pour un produit donné, telles que le numéro de catalogue fournisseur,
le code UPC, le prix coûtant, et la quantité économique de commande.
L’API utilise des endpoints REST standards avec les méthodes HTTP appropriées :
GET /Entity/SupplierProduct– Récupérer une liste de produits fournisseursGET /Entity/SupplierProduct/{id}– Récupérer un produit fournisseur spécifiquePOST /Entity/SupplierProduct– Créer un nouveau produit fournisseurPUT /Entity/SupplierProduct/{id}– Mettre à jour un produit fournisseur existant
Un produit fournisseur est une association entre un fournisseur et un produit. Cette entité permet de stocker les informations spécifiques au fournisseur comme son numéro de catalogue interne, son code UPC, et ses prix.
Matrice de Support
Opérations supportées pour l’entité SupplierProduct par système ERP :
| Système ERP | GET | POST | PUT |
|---|---|---|---|
| Acomba | ✓ Oui | ✓ Oui | ✓ Oui |
| QuickBooks Online | ✗ Non | ✗ Non | ✗ Non |
| Avantage | ✗ Non | ✗ Non | ✗ Non |
| Sage 50 | ✗ Non | ✗ Non | ✗ Non |
| Servex | ✗ Non | ✗ Non | ✗ Non |
| Servicentre | ✗ Non | ✗ Non | ✗ Non |
GET SupplierProduct
Récupère une liste de produits fournisseurs avec support de filtrage, pagination et sélection de champs.
/Entity/SupplierProductParamè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) |
| $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) |
Pour plus de détails sur la composition des requêtes, consultez : Composer une requête à l’API d’ERP Connector
GET /Entity/SupplierProduct?$filter=No_Fournisseur eq 'FOUR001'&$select=NoProduit_Fournisseur,Description,prix_ProchainCoutant Host: https://v4.api.onlineerp.solution.quebec/api Content-Type: application/json
[
{
"NoUniqueSystemeSource": "145",
"NoUniqueSystemeSource_Fournisseur": "12",
"No_Fournisseur": "FOUR001",
"NoProduit_Fournisseur": "ABC-12345",
"Description": "Produit ABC du fournisseur",
"CodeUPC_Fournisseur": "012345678901",
"CodeUnite_Court": "UN",
"CodeUnite_Long": "Unité",
"EstActif": true,
"prix_ProchainCoutant": 45.99,
"Qte_Economique": 12,
"Fiche_DerniereModification": "2024-03-15T14:30:00"
},
{
"NoUniqueSystemeSource": "146",
"NoUniqueSystemeSource_Fournisseur": "12",
"No_Fournisseur": "FOUR001",
"NoProduit_Fournisseur": "XYZ-67890",
"Description": "Produit XYZ du fournisseur",
"CodeUPC_Fournisseur": "098765432109",
"CodeUnite_Court": "BT",
"CodeUnite_Long": "Boîte",
"EstActif": true,
"prix_ProchainCoutant": 89.50,
"Qte_Economique": 6,
"Fiche_DerniereModification": "2024-03-20T09:15:00"
}
]
POST SupplierProduct (Création)
Crée un nouveau produit fournisseur dans le système ERP. Cette opération associe un produit à un fournisseur avec ses informations spécifiques.
/Entity/SupplierProductUtilisez le header If-None-Match: * pour garantir que la création échouera si l’entité existe déjà.
Champs requis
| Champ | Type | Requis | Description |
|---|---|---|---|
| NoProduit_Fournisseur | string | ✓ Required | Numéro de catalogue du produit chez le fournisseur |
| No_Fournisseur | string | ✓ Required* | Numéro du fournisseur (*requis si NoUniqueSystemeSource_Fournisseur n’est pas fourni) |
| NoUniqueSystemeSource_Fournisseur | string | Optionnel* | Clé interne Acomba du fournisseur (*alternative à No_Fournisseur) |
Champs optionnels
| Champ | Type | Description |
|---|---|---|
| Description | string | Description du produit chez le fournisseur |
| CodeUPC_Fournisseur | string | Code UPC du produit chez le fournisseur |
| CodeUnite_Court | string | Code court de l’unité de mesure (max 3 caractères) |
| CodeUnite_Long | string | Code long de l’unité de mesure (max 15 caractères) |
| prix_ProchainCoutant | decimal | Prix coûtant unitaire du prochain achat |
| Qte_Economique | decimal | Quantité économique de commande |
POST /Entity/SupplierProduct
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
If-None-Match: *
{
"No_Fournisseur": "FOUR001", // Numéro du fournisseur dans Acomba
"NoProduit_Fournisseur": "CAT-ABC-12345", // Numéro de catalogue fournisseur (clé primaire)
"Description": "Produit ABC - Version fournisseur",
"CodeUPC_Fournisseur": "012345678901",
"CodeUnite_Court": "UN",
"CodeUnite_Long": "Unité",
"prix_ProchainCoutant": 45.99,
"Qte_Economique": 12
}
{
"NoUniqueSystemeSource": "147",
"NoUniqueSystemeSource_Fournisseur": "12",
"No_Fournisseur": "FOUR001",
"NoProduit_Fournisseur": "CAT-ABC-12345",
"Description": "Produit ABC - Version fournisseur",
"CodeUPC_Fournisseur": "012345678901",
"CodeUnite_Court": "UN",
"CodeUnite_Long": "Unité",
"EstActif": true,
"prix_ProchainCoutant": 45.99,
"Qte_Economique": 12,
"Fiche_DerniereModification": "2024-04-24T10:30:00"
}
La combinaison No_Fournisseur + NoProduit_Fournisseur forme la clé primaire dans Acomba. Si vous tentez de créer un produit fournisseur qui existe déjà avec le header If-None-Match: *, une erreur sera retournée.
PUT SupplierProduct (Mise à jour)
Met à jour un produit fournisseur existant dans le système ERP.
/Entity/SupplierProduct/{NoUniqueSystemeSource}Utilisez le header If-Match: * pour garantir que la mise à jour échouera si l’entité n’existe pas.
PUT /Entity/SupplierProduct/147
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
{
"NoUniqueSystemeSource": "147", // Clé interne Acomba du produit fournisseur
"Description": "Produit ABC - Description mise à jour",
"prix_ProchainCoutant": 49.99,
"Qte_Economique": 24
}
{
"NoUniqueSystemeSource": "147",
"NoUniqueSystemeSource_Fournisseur": "12",
"No_Fournisseur": "FOUR001",
"NoProduit_Fournisseur": "CAT-ABC-12345",
"Description": "Produit ABC - Description mise à jour",
"CodeUPC_Fournisseur": "012345678901",
"CodeUnite_Court": "UN",
"CodeUnite_Long": "Unité",
"EstActif": true,
"prix_ProchainCoutant": 49.99,
"Qte_Economique": 24,
"Fiche_DerniereModification": "2024-04-25T08:45:00"
}
Modèle de Données Complet
FicheProduitFournisseur
| Champ | Type | Description |
|---|---|---|
| NoUniqueSystemeSource | string | Identifiant unique interne du système ERP (Id Acomba) |
| NoUniqueSystemeSource_Fournisseur | string | Identifiant unique interne du fournisseur dans le système ERP |
| No_Fournisseur | string | Numéro du fournisseur (clé métier) |
| NoProduit_Fournisseur | string | Numéro de catalogue du produit chez le fournisseur (clé métier) |
| Description | string | Description du produit chez le fournisseur |
| CodeUPC_Fournisseur | string | Code UPC du produit chez le fournisseur |
| CodeUnite_Court | string | Code court de l’unité de mesure (max 3 caractères) |
| CodeUnite_Long | string | Code long de l’unité de mesure (max 15 caractères) |
| EstActif | bool | Indique si le produit fournisseur est actif |
| prix_ProchainCoutant | decimal | Prix coûtant unitaire pour le prochain achat |
| Qte_Economique | decimal | Quantité économique de commande (EOQ) |
| Fiche_DerniereModification | datetime? | Date et heure de la dernière modification de la fiche |
| ExtendedProperties | Dictionary<string, object> | Propriétés étendues pour des attributs supplémentaires |
L’entité SupplierProduct utilise deux types de clés :
• Clé interne : NoUniqueSystemeSource (Id Acomba)
• Clé métier composite : No_Fournisseur + NoProduit_Fournisseur