Connecter un ERP : SAP, Dynamics 365, NetSuite et Odoo
Configurez un mappage du hub d'intégration qui aligne produits et passeports sur votre ERP, avec les réglages exacts de chaque système pris en charge.
Équipe éditoriale DPP Shield · Mis à jour:
Dans Integration hub, créez un mappage à partir du modèle de votre ERP, pointez-le vers l'API produit de l'ERP ou un fichier exporté, prévisualisez les changements, appliquez-les et planifiez le flux. Le modèle nomme déjà les champs standard de l'ERP ; vous les vérifiez seulement sur votre propre installation.
Ce que fait la connexion
Un mappage ERP lit les articles - numéro d'article, désignation, GTIN et tout attribut mappé - et les écrit sur les produits et passeports correspondants. La correspondance se fait par SKU ou GTIN : les SKU de vos produits doivent donc s'écrire exactement comme les numéros d'article de l'ERP. Appliquer une exécution crée une nouvelle version de passeport validée par le schéma uniquement lorsqu'une valeur change, et chaque champ modifié enregistre le mappage et l'exécution qui l'ont écrit.
Les propriétaires et administrateurs créent et modifient les mappages ; les éditeurs peuvent les exécuter. Une exécution lit jusqu'à 5 000 enregistrements et une source de 10 Mo au plus : répartissez un grand catalogue sur plusieurs mappages ou poussez-le par lots.
Configurer le mappage
- Ouvrez Integration hub, choisissez New mapping, puis partez du modèle de votre système.
- Vérifiez le chemin des enregistrements (où se trouve la liste des articles dans la réponse) et la clé : le champ source qui porte votre SKU ou GTIN.
- Passez les règles en revue. Chacune copie un champ source vers un champ produit (product.name, product.gtin, product.brand…) ou vers un chemin de données du passeport comme data.materials.0.recycled_percent, avec une transformation si nécessaire - nombre à virgule décimale ou facteur d'unité, entier, oui/non, date, code pays, majuscules ou minuscules - et une table de correspondance facultative.
- Enregistrez, puis importez un export d'exemple ou utilisez Test feed pour voir ce que renvoie la source.
- Lancez un aperçu : il liste, par enregistrement, les champs qui changeraient ; rien n'est encore écrit.
- Appliquez l'exécution, puis planifiez le flux toutes les heures ou chaque jour si la source est un flux.
SAP S/4HANA : API Product
Modèle : SAP S/4HANA product master (OData API_PRODUCT_SRV). URL du flux https://<host>/sap/opu/odata/sap/API_PRODUCT_SRV/A_Product?$format=json&$expand=to_Description&$top=5000, chemin d.results, clé Product.
Authentifiez-vous avec un utilisateur de communication autorisé sur l'API Product (identifiants basic), ou en OAuth 2.0 client credentials si votre environnement émet des jetons. ProductStandardID ne contient le GTIN que si le type d'identifiant standard du produit est un GTIN : vérifiez-le avant de le mapper. La première désignation est utilisée : filtrez to_Description par langue si les produits en ont plusieurs.
SAP ECC ou S/4HANA : IDoc MATMAS
Modèle : SAP material master IDoc (MATMAS, XML). Chemin IDOC.E1MARAM, clé MATNR, avec E1MAKTM.MAKTX comme nom et EAN11 comme GTIN. MATNR est le numéro d'article tel que SAP le stocke, souvent avec des zéros en tête, et vos SKU doivent utiliser la même forme.
Déposez le XML en SFTP depuis un dossier sortant - le flux épingle la clé d'hôte du serveur - ou importez le fichier. Un XML avec déclaration de type de document (DOCTYPE) est refusé.
SAP Business One
Modèle : SAP Business One items (export Service Layer), chemin value, clé ItemCode, avec ItemName et BarCode. Le Service Layer exige une session qu'un flux planifié ne peut pas tenir : exportez GET /b1s/v1/Items?$select=ItemCode,ItemName,BarCode vers un fichier et importez-le, ou faites pousser le résultat par votre plateforme d'intégration vers le point d'entrée push du mappage.
Microsoft Dynamics 365 Business Central
Modèle : Dynamics 365 Business Central items (API v2.0). URL https://api.businesscentral.dynamics.com/v2.0/<tenant>/<environment>/api/v2.0/companies(<company id>)/items, chemin value, clé number, avec displayName et gtin.
Enregistrez une application dans Microsoft Entra ID avec la permission API Business Central et utilisez OAuth 2.0 client credentials : point de jeton https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token, scope https://api.businesscentral.dynamics.com/.default. Pour Finance and Operations, utilisez l'entité ReleasedProductsV2 avec ItemNumber comme clé.
Oracle NetSuite
Modèle : NetSuite items (SuiteQL). Il envoie SELECT itemid, displayname, upccode FROM item WHERE isinactive = 'F' à https://<account>.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql?limit=1000, chemin items, clé itemid. SuiteQL renvoie les noms de colonnes en minuscules.
L'API REST de NetSuite s'authentifie par des signatures (token-based ou OAuth 2.0 machine à machine) qu'un flux ne peut pas produire. Exécutez la requête dans un script planifié qui pousse le résultat vers le point d'entrée push du mappage, ou importez un export de recherche enregistrée.
Odoo
Modèle : Odoo products (export compatible import), clé default_code (la référence interne), avec name et barcode. Exportez les produits avec « Je souhaite mettre à jour des données (export compatible import) » pour que les colonnes portent les noms de champs d'Odoo.
Un flux JSON-RPC fonctionne aussi : envoyez un appel search_read à /jsonrpc et écrivez {{credential}} à la place de la clé API, qui est alors stockée chiffrée au lieu de figurer dans le corps de la requête.
Contrôler ce qu'une exécution a fait
L'historique liste chaque exécution avec son déclencheur - manuel, planifié ou push - et, par enregistrement, s'il a été mis à jour, inchangé, sans correspondance ou en erreur. « Sans correspondance » signifie souvent que la clé s'écrit différemment dans les deux systèmes, par exemple avec ou sans zéros en tête. Une nouvelle exécution avec les mêmes données ne change rien, et une valeur source vide n'efface jamais un champ déjà renseigné.