
Votre guide d'intégration V5 !

L'intégration des commandes clients (SO) entre V5 Traceability et le système ERP d'un client permet d'envoyer les détails de la commande, les éléments de commande et les informations de planification à V5 Traceability. Dans ce cas, V5 peut également faire office de maître des données et envoyer les commandes créées dans le système à l'ERP.
Ces commandes peuvent ensuite être reçues via le logiciel V5 WMS, après quoi des informations telles que les quantités prélevées et expédiées, l'emplacement et les allocations de conteneurs/palettes peuvent être renvoyées à l'ERP.
Pour plus d'informations sur le fonctionnement du module de commande client dans V5 Traçabilité, veuillez consulter notre guide du module. ici.
En ce qui concerne la façon dont nous pouvons communiquer ‘Sales Orders’ et ‘Sales Order Lines’ par rapport à ce que nous voyons dans Control Center, nous pouvons voir que le panneau supérieur ici est destiné aux commandes clients, où les clients, les dates de commande et de livraison, les numéros de référence externes, etc., peuvent tous être importés.
Le panneau inférieur est alors l'endroit où nous pouvons ajouter nos lignes de commande client, contenant des données relatives aux produits, aux quantités et au coût des éléments de ligne de commande.
En utilisant la passerelle V5, nous pouvons facilement remplir les deux panneaux, séparément ou ensemble.
Le panneau inférieur droit contient des données relatives à l'endroit où les éléments du SO sont sélectionnés lorsque le SO est traité. Ces données feront partie des données exportées que nous pourrons recevoir en retour de la passerelle V5.
Pour en savoir plus sur les définitions des classes de base de données pouvant être utilisées pour les commandes clients, veuillez consulter les liens suivants :
Le modèle d'intégration pour les commandes clients peut être téléchargé ici.
Les clés primaires sont l'identifiant unique de chaque table dans l'API V5. Pour SalesOrders, c'est:
salesOrder.orderNumber – le numéro de l'OS.
Pour SalesOrderLines, la clé primaire est non plus:
salesOrder.orderNumber + commodity.code – le numéro de SO ainsi que la marchandise à commander
or
lineID – À des fins avancées où le même produit peut apparaître sur plusieurs lignes, vous pouvez spécifier un ID de ligne comme identifiant unique à la place du numéro de commande et du code du produit. Ceci est requis si plus d’une ligne du même produit figure sur la commande.
Autres champs requis par SG pour remplir un formulaire valide ‘SalesOrderLine’ dans Control Center sont :
quantity – la quantité de ce produit/marchandise vendue.
Les champs préférés servent à ajouter plus de données à la commande client et, bien qu'ils ne soient pas obligatoires, sont utiles en ce qui concerne les fonctionnalités de la traçabilité V5. Si vous utilisez le ‘SalesOrderLine’ point final, nous ajouterions idéalement :
lineID - s'il n'est pas utilisé comme clé primaire ci-dessus, ce champ doit être inclus.
commodity.code – s'il n'est pas utilisé comme clé primaire ci-dessus, ce champ doit être inclus.
salesOrder.orderNumber – s'il n'est pas utilisé comme clé primaire ci-dessus, ce champ doit être inclus.
salesOrder.customer.code – le code unique permettant d'identifier le client.
salesOrder.placedDate - la date à laquelle la commande a été passée.
salesOrder.deliveryDate – la date de livraison prévue de la commande.
Notez que pour les 4 derniers de ces points, nous nous dirigeons vers le ‘SalesOrder’ classe de ‘SalesOrderLine’. Si nous utilisions plutôt le ‘SalesOrder’ classe que nous pourrions simplement supprimer ‘salesOrder’ parmi les 4 entrées ci-dessus.
Des champs supplémentaires peuvent également être inclus, par exemple pour ‘SalesOrderLine’:
salesOrder.referenceNumber – toute note/référence supplémentaire relative à l'OS.
Étant donné la nature de la ‘SalesOrder’ et ‘SalesOrderLine’, nous pouvons choisir d'importer et de gérer les données de différentes manières :
Commande client:
‘SalesOrder’ importer le point de terminaison/URI –
http://host:port/V5-API/api/integrate/import/sales
Pour cet exemple d'importation, nous utiliserons le ‘SalesOrder’ point de terminaison et structurant un fichier d'importation de base, cela pourrait ressembler à ceci :

Cet exemple de fichier JSON peut être téléchargé ici.
Nous pouvons voir pourquoi nous utiliserions le ‘SalesOrder’ point de terminaison pour ce format, compte tenu de la capacité des fichiers JSON à contenir des données imbriquées, ce qui nous permet d'inclure des ‘SalesOrderLine’ listes, puis ‘Commodity’ points de données dans l'importation, qui peuvent être déterminés à l'aide du manuel de l'API SG. Par exemple, le ‘commodity code’ Le point de données peut être trouvé en utilisant le chemin suivant dans le manuel de l'API :

Nous pouvons construire le reste de nos points de données requis en utilisant une méthode de recherche de chemin similaire.
Lignes de commande client :
‘SalesOrderLine’ importer le point de terminaison/URI –
http://host:port/V5-API/api/integrate/import/sales_line
Nous pouvons également utiliser le ‘SalesOrderLine’ point final pour ajouter ou modifier des lignes d’une commande existante. Nous pouvons également ajouter des commandes clients à l'aide de ce point de terminaison, mais il est important de se rappeler que nous ne pouvons modifier un en-tête de commande client qu'en utilisant le ‘SalesOrder’ URI. Notez également que les informations SO devraient être imbriquées ici pour chaque ligne SO.
Nous pouvons voir un exemple de ‘SalesOrderLine’ Fichier JSON ci-dessous, où nous ajouterons une autre ligne de commande à commander ‘SO-8471’ que nous avons créé ci-dessus :

Cet exemple de fichier JSON peut être téléchargé ici.
Nous pouvons alors voir dans Control Center que notre commande a été importée avec la ligne supplémentaire que nous venons d'ajouter. Notez que les informations telles que la date de placement/de livraison et le numéro de référence ont été importées de l'original. ‘SalesOrder’ fichier.

Concernant la réception des fichiers relatifs aux retours de commandes depuis l'API V5, si l'on vérifie les résumés de méthodes sous la rubrique 'IntégrationExporter' service, alors nous avons quelques options différentes ici :
Commandes:
Exporter le point de terminaison/URI –
http://host:port/V5-API/api/integrate/export/sales_orders
Ce point de terminaison exportera les fichiers JSON complets des commandes clients à l’aide de la classe de base de données des commandes clients et inclura toutes les commandes clients qui n’ont pas déjà été marquées comme exportées par le système. Cela fournira un retour pour chaque point de données dans le ‘SalesOrder’ classe ainsi que toute information de sélection pour les articles expédiés.
Un exemple de fichier JSON de ce type peut être téléchargé ici.
Commande client:
Exporter le point de terminaison/URI –
http://host:port/V5-API/api/integrate/export/sales_order/{ordernumber}
Ce point de terminaison exportera les fichiers JSON complets des commandes clients à l'aide de la classe de base de données des commandes clients, mais uniquement pour la commande spécifiée, et uniquement si cette commande n'a pas déjà été marquée comme exportée par le système. Comme ci-dessus, cela fournira un retour pour chaque point de données dans le ‘SalesOrder’ classe ainsi que toute information de sélection pour les articles expédiés.
On peut voir ci-dessous le début d'un exemple d'export de ce type :

Journaux de commandes clients :
Exporter le point de terminaison/URI –
http://host:port/V5-API/api/integrate/export/sales_logs
Ce point de terminaison peut être utilisé pour récupérer une liste des journaux de commandes clients relatifs aux événements survenant lors de l’expédition des commandes clients. Cela utilise le ‘SystemLog’ classe de données pour fournir des données transactionnelles telles que des descripteurs de système. Le point de terminaison fournit uniquement ces données pour les commandes terminées qui n'ont pas été marquées comme exportées.
Un exemple de fichier JSON de ce type peut être téléchargé ici.
Journal des commandes client :
Exporter le point de terminaison/URI –
http://host:port/V5-API/api/integrate/export/sales_log/{id}
Ce point de terminaison fonctionne de la même manière que les « journaux de commandes client » ci-dessus, mais peut être utilisé pour renvoyer les informations pour un numéro de journal spécifique, tel que défini par le système V5. Comme auparavant, cela utilise le ‘SystemLog’ classe de données pour fournir des données transactionnelles telles que des descripteurs de système. Le point de terminaison fournit uniquement ces données pour les journaux des commandes terminées qui n'ont pas été marquées comme déjà exportées.
On peut voir ci-dessous le début d'un exemple d'export de ce type :

Nous pouvons également utiliser un points de terminaison transactionnels et de journalisation pour récupérer des informations plus pertinentes sur les marchandises et les produits vendus sur les commandes clients.
Nous en avons un Transactionnel/Générique point final que nous pouvons utiliser ici :
Notez que pour les importations CSV, nous utiliserions normalement uniquement le ‘SalesOrderLine’ point de terminaison, nous permettant de générer des commandes clients et leurs éléments de campagne grâce à l'utilisation d'une seule importation CSV.
Nom du fichier de définition d'en-tête/colonne : “salesOrderLine.csvh”
Les fichiers d'en-tête complétés doivent être placés dans : “<installdir>\SG Control Center\gateway\import\column_defs”
Importer le nom du fichier CSV : “salesOrderLine-datetime.csv”
Les fichiers CSV à importer doivent être placés dans : “<installdir>\SG Control Center\gateway\import”
En tête de fichier:
Les fichiers d'en-tête seront généralement compilés par SG Systems avant les intégrations CSV, mais nous pouvons voir ci-dessous un exemple de base de celui que nous pouvons utiliser pour les commandes clients :
Pour plus d'informations sur la manière dont nous structurons ces fichiers, veuillez consulter le page d'intégration principale. Cet exemple de fichier d'en-tête peut être téléchargé ici.
Fichier d'importation CSV :
Nous pouvons ensuite utiliser l'ordre défini des points de données dans l'en-tête pour structurer notre fichier d'importation. SG Systems peut fournir un fichier modèle pour cela, répertoriant les points de données pour chaque colonne afin de clarifier les choses lors du remplissage de la liste. Notez que cette première ligne peut être ignorée par Control Center et peut donc être conservée dans le fichier lors de la soumission pour importation.

Ici, nous pouvons voir que nous visons à créer un ordre similaire à celui que nous avons créé en utilisant la méthodologie JSON. Cet exemple de fichier d'importation peut être téléchargé ici.
Une fois l'importation terminée, nous pouvons voir que ces commandes, ainsi que les éléments de campagne requis, ont été ajoutés au Control Center. Notez que si le ‘Date Placed’ les données ne sont pas incluses dans l’importation, la date placée fera référence à la date d’aujourd’hui.

Lorsque vous envisagez d'exporter des informations sur les commandes client via cette méthode, cela ferait partie d'un ‘SalesLog’ exporter. Nous pouvons voir les définitions de classe pour ce point de terminaison ici.
Nom du fichier de définition d'en-tête/colonne : “SalesLog.csvh”
Les fichiers d'en-tête complétés doivent être placés dans : “<installdir>\SG Control Center\gateway\export\order”
Exporter le nom du fichier CSV : “SalesLog-datetime.csv”
Les CSV pour les exportations seront générés dans : “<installdir>\SG Control Center\gateway\export”
Cette exportation devra également être activée dans la section Passerelle du Control Center. Il s'agirait simplement de vérifier ‘Sales Order’ et assurez-vous d’appliquer le paramètre et de redémarrer Control Center.

En tête de fichier:
Nous pouvons utiliser des points de données tels que ‘user’, ‘timestamp’ et ‘quantity’ sur ce haut ‘Sales Log’, niveau, mais nous pouvons également utiliser les pages Commande client et Ligne de commande client pour développer davantage les informations dont nous avons besoin, telles que le numéro de commande, les articles vendus et l'endroit où ils ont été prélevés. Notez qu'ici le ‘SalesOrder’ la classe doit être accessible via le ‘Line’ classe, comme le montre l'exemple ci-dessous
À un niveau très fondamental, notre part du ‘Sales Log’ l'en-tête qui traite de nos commandes clients pourrait ressembler à ceci :

Cet exemple de fichier d'en-tête peut être téléchargé ici.
Fichier d'exportation CSV :
Avec notre en-tête en place et l'exportation activée, nous obtiendrons par la suite un fichier de retour pour cette commande (ainsi que toutes les autres commandes non exportées précédemment) qui ressemble à ceci :

Cet exemple de fichier d'exportation peut être téléchargé ici.