Documentation API – Supplier Product

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.

GET/Entity/SupplierProduct
POST/Entity/SupplierProduct
PUT/Entity/SupplierProduct

Aperç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 fournisseurs
  • GET /Entity/SupplierProduct/{id} – Récupérer un produit fournisseur spécifique
  • POST /Entity/SupplierProduct – Créer un nouveau produit fournisseur
  • PUT /Entity/SupplierProduct/{id} – Mettre à jour un produit fournisseur existant
💡 Note importante

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.

GET/Entity/SupplierProduct

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)
$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 sur la composition des requêtes, consultez : Composer une requête à l’API d’ERP Connector

Get SupplierProduct
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
Response (200 OK)
[
    {
        "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.

POST/Entity/SupplierProduct
💡 Headers recommandés

Utilisez 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
Créer un produit fournisseur (Acomba)
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
}
Response (201 Created)
{
    "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"
}
⚠️ Important

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.

PUT/Entity/SupplierProduct/{NoUniqueSystemeSource}
💡 Headers recommandés

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

Mettre à jour un produit fournisseur
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
}
Response (200 OK)
{
    "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
💡 Clés d’identification

L’entité SupplierProduct utilise deux types de clés :
Clé interne : NoUniqueSystemeSource (Id Acomba)
Clé métier composite : No_Fournisseur + NoProduit_Fournisseur