
¡Su guía para la integración de V5!

La integración de Inventario/Ubicación de stock entre V5 Traceability y el sistema ERP de un cliente permite mercancía detalles del inventario, como números de lote, cantidades disponibles y ubicaciones que se enviarán a V5 Traceability. Estos detalles permitirán que dichos productos se utilicen para la producción/pedido, etc.
Dependiendo de la configuración de nuestro ERP, hay algunas formas diferentes en las que podemos manejar el inventario/existencias:
Si no está seguro de cuál es la mejor ruta a seguir para su configuración de ERP en particular, SG Systems puede organizar una sesión de consulta para evaluar mejor la metodología óptima para su sistema.
En términos de cómo podemos relacionar los detalles de inventario/ubicación de existencias con lo que vemos en el Centro de control, usaremos este punto final principalmente para completar el panel inferior izquierdo para importar y exportar nuestros niveles/ubicaciones de existencias para productos existentes.
Usando la puerta de enlace V5, podemos completar fácilmente los datos aquí usando dos puntos finales, ‘Stock’ y ‘StockLocation’.
Para obtener más información sobre las definiciones de estas clases de bases de datos, consulte los siguientes enlaces:
La plantilla de integración para Stock Location se puede descargar aquí.
Las claves primarias son el identificador único para cada tabla dentro de la API V5. Para StockLocation, estos son:
location.code – El código de identificación único para el ubicación de existencias.
stock.commodity.code – El código de identificación único para el mercancía
stock.lotNo – El número de lote de la acción.
Para Stock, las claves primarias son:
lotNo – El número de lote de la acción.
commodity.code – El código de identificación único de la mercancía.
Tenga en cuenta que el sistema puede generar automáticamente los números de lote o ingresarlos manualmente. Los números de lote del proveedor se pueden ingresar usando el campo que se describe a continuación. Los números de lote se pueden generar globalmente (no pueden ser 2 números de lote iguales) o por producto.
Otros campos que SG requiere para completar una línea de producto válida en el Centro de control V5 son:
stock.expiry – La fecha de caducidad del lote en particular.
qty – La cantidad de la mercancía en ese lote.
Los campos preferidos sirven para agregar más información sobre el producto en cuestión y, aunque no son obligatorios, son útiles cuando se trata de funciones adicionales dentro de la trazabilidad de V5.
stock.supplier.code – El código del proveedor que proporcionó el lote de la mercancía.
stock.cost – El costo (por unidad de medida) del producto básico.
stock.dateReceived – La fecha en que el lote se registró en el inventario.
stock.supplierLotNo – El número de lote asignado por el proveedor.
También se pueden incluir campos adicionales, como:
stock.commodity.description – La descripción de la mercancía.
stock.commodity.units.code – La unidad de medida predeterminada de la mercancía.
stock.commodity.recordStock – Si el uso de este producto se rastreará con V5 Traceability.
Tenga en cuenta que estos campos adicionales se pueden usar para crear entradas de productos básicos en V5 Traceability, así como para asignar ubicaciones de existencias y cantidades contra ellos. Al usar el método CSV del intercambio de datos, debemos asegurarnos de que 'Crear entidades secundarias' esté seleccionado en la 'Puerta de enlace' del Centro de control. Sin embargo, las mercancías existentes no se pueden actualizar en el V5-API usando este punto final, en su lugar, debemos abordarlos directamente usando el 'Mercancía' punto final en su lugar.
Dependiendo del propósito de nuestra integración API, podemos hacer uso de la ‘StockLocation’ or ‘Stock’ punto final para las importaciones y exportaciones de JSON y CSV. Ahora podemos ver esto a continuación.
StockLocation:
Podemos hacer uso de la ‘StockLocation’ endpoint para insertar registros de existencias contra productos básicos (existentes o no) en V5 Traceability que contiene información relacionada con fechas de recepción/caducidad, números de lote de lote/proveedor y, por supuesto, ubicación de existencias.
‘StockLocation’ importar punto final/URI –
http://host:port/V5-API/api/integrate/import/stock_location
Para esta importación de muestra usando el ‘StockLocation’ punto final, podemos estructurar un archivo de importación básico para un solo lote como se muestra a continuación:

Este archivo JSON de muestra se puede descargar aquí.
Usando el manual de API, podemos ver aquí que estamos usando solo el ‘qty’ valor de la ‘StockLocation’ clase, con todos los demás valores anidados bajo el ‘stock’ or ‘location’ clase. También podemos ver que el ‘code’ y ‘units’ los puntos de datos se anidan más bajo el ‘commodity’ clase.
Podemos ver un resumen de este proceso de flujo de datos a continuación:

Si ejecutamos el archivo JSON anterior, veremos que nuestro lote para productos básicos ‘I015’ (Jalepenos) ahora tiene este lote importado a Control Center.

Sin embargo, lo que no podemos hacer con el ‘StockLocation’ el punto final es cambiar valores como el número de lote del proveedor y la fecha de vencimiento del inventario existente. Para ello necesitaríamos utilizar el ‘Stock’ punto final
Disponible:
Como se mencionó anteriormente, el ‘StockLocation’ endpoint se puede utilizar para insertar registros de existencias y sus ubicaciones asociadas. Sin embargo, si queremos actualizar y detalles de estos lotes que se encuentran bajo el ‘Stock’ encabezado, debemos usar el ‘Stock’ punto final Esto incluye detalles como el número de lote del proveedor, la fecha de caducidad y el peso recibido.
‘Stock’ importar punto final/URI –
http://host:port/V5-API/api/integrate/import/stock
Para algo muy básico ‘Stock’ archivo de importación que actualizará la fecha de caducidad y el número de lote del proveedor del lote que creamos anteriormente, podemos usar lo siguiente:

Como resultado, la información del lote se actualiza dentro de V5:

En términos de recibir archivos relacionados con ubicaciones de existencias de inventario de la API V5, si revisamos los resúmenes de métodos en el IntegrationExport clase, podríamos pensar que ‘StockLocations’ (export/locations/stock) sería lo que estamos buscando. Sin embargo, este no es el caso, ya que este punto final exportará una lista de ubicaciones de stock (frente a ubicaciones de producción) que existen dentro del sistema.
Para recibir información sobre la ubicación y los niveles de inventario de nuestros productos, podemos usar:
Producto individual + Stock de lote:
Exportar punto final/URI –
http://host:port/V5-API/api/integrate/export/stock/{commodityCode}/{lotNumber}
Este punto final exportará un archivo JSON con toda la información relacionada para el lote especificado de un producto singular. Si ejecutamos esta solicitud utilizando la información del lote que acabamos de importar, obtendremos un archivo similar a este:

Se pueden descargar archivos JSON de muestra de este tipo aquí.
Todas las existencias:
Exportar punto final/URI –
http://host:port/V5-API/api/integrate/export/stock/{all}
Este punto final exportará un archivo JSON que incluye una lista de toda la información relacionada para todos los lotes de cada producto en el sistema, según el valor del campo {all}. Si esto es ‘true’ entonces sacaremos todos los lotes de inventario, mientras que si ‘false’ entonces solo obtendremos una devolución por nuevos artículos de inventario (es decir, muchos productos que no están marcados como ya exportados).
Si ejecutamos esta solicitud como ‘true’ (entonces http://host:port/V5-API/api/integrate/export/stock/true) , obtendremos un archivo que se parece a esto:

Se pueden descargar archivos JSON de muestra de este tipo aquí.
Los puntos finales anteriores solo proporcionarán los niveles de existencias actuales. Pero, ¿qué sucede si queremos realizar un seguimiento de nuestros niveles de existencias a medida que se lleva a cabo la producción? Aquí tenemos algunas opciones diferentes dependiendo de cómo estemos usando la API y integrándonos con un sistema ERP.
También podemos utilizar una variedad de puntos finales transaccionales y de registro para recuperar información más relevante sobre los cambios en el nivel de inventario.
Para Registro del sistema puntos finales, estos son:
Registros del sistema consumidos/producidos
Registros del sistema de ajuste
Para Transaccional/Genérico puntos finales, estos son:
Nombre de archivo de definición de encabezado/columna: “stockLocation.csvh”
Los archivos de encabezado completos deben colocarse en: “<installdir>\SG Control Center\gateway\import\column_defs”
Importar nombre de archivo CSV: “stockLocation-datetime.csv”
Los CSV para la importación deben colocarse en: “<installdir>\SG Control Center\gateway\import”
Archivo de cabecera:
Los archivos de encabezado generalmente serán compilados por SG Systems antes de que se realicen las integraciones CSV, pero podemos ver un ejemplo básico de uno que podemos usar para inventario/stock, usando el formato previamente definido. definiciones de claseabajo:

Para obtener más información sobre cómo estructuramos estos archivos, consulte el página principal de integración. Este archivo de encabezado de muestra se puede descargar aquí.
Archivo de importación CSV:
Luego podemos usar el orden definido de puntos de datos en el encabezado para estructurar nuestro archivo de importación. SG Systems puede proporcionar un archivo de plantilla para esto, enumerando el punto de datos para cada columna para aclarar las cosas al completar la lista. Tenga en cuenta que el Centro de control puede ignorar esta primera fila y, por lo tanto, puede conservarse en el archivo cuando se envía para importar.
Un archivo de importación csv de ejemplo podría verse así:

Aquí podemos ver que estamos importando 3 lotes nuevos de 2 proveedores diferentes. Este archivo de importación de muestra se puede descargar aquí.
Con la importación completa, podemos ver que estos lotes adicionales de jalapeño se agregaron al Centro de control. Tenga en cuenta la diferencia aquí entre ‘Qty’ (a mano) y ‘Stock_WeightReceived’ en nuestro csv de importación.

Al igual que con las exportaciones JSON, aquí tenemos un par de opciones diferentes:
StockLocation:
Al exportar productos utilizando este método, podemos usar el mismo punto final y definiciones de clase como hicimos con las importaciones.
Nombre de archivo de definición de encabezado/columna: “stockLocation.csvh”
Los archivos de encabezado completos deben colocarse en: “<installdir>\SG Control Center\gateway\export\order”
Exportar nombre de archivo CSV: “StockLocation-datetime.csv”
Los CSV para las exportaciones se generarán en: “<installdir>\SG Control Center\gateway\export”
Esta exportación también debería estar habilitada en la sección Puerta de enlace del Centro de control. Podemos elegir aquí para exportar ‘Stock’ .

Archivo de cabecera:
A partir de aquí, sería un caso simple estructurar nuestro archivo de encabezado de exportación para adaptarlo a la información que queremos recibir del sistema.
Podríamos estructurarlo de una manera muy similar a cómo estructuramos el encabezado de importación:

Este archivo de encabezado de muestra se puede descargar aquí.
Archivo de exportación CSV:
Esto daría un csv de retorno para nuestras importaciones recientes que se parecería al siguiente ejemplo. Podemos ver aquí que hemos recuperado todas las líneas de stock no exportadas anteriormente, incluida la adición de algunos productos que se fabricaron más temprano en el día.

Este archivo de exportación de muestra se puede descargar aquí.
Sin embargo, al igual que con las exportaciones JSON anteriores, esto no devolvería ningún dato transaccional, por lo que nuevamente podemos hacer uso de la ‘SystemLog’ endpoint en su lugar para recuperar datos más relevantes en términos de transacciones y ajustes de inventario.
SystemLog:
Este punto final se puede utilizar para extraer una amplia variedad de datos atravesando los puntos de datos disponibles vinculados desde aquí. Podemos ver las definiciones que podemos usar aquí.
Nombre de archivo de definición de encabezado/columna: “SystemLog.csvh”
Los archivos de encabezado completos deben colocarse en: “<installdir>\SG Control Center\gateway\export\order”
Exportar nombre de archivo CSV: “SystemLog-datetime.csv”
Los CSV para las exportaciones se generarán en: “<installdir>\SG Control Center\gateway\export”
Como se indicó anteriormente, esto debería habilitarse en la sección Puerta de enlace del Centro de control:

Archivo de cabecera:
Desde aquí podemos estructurar nuestro encabezado según los datos transaccionales que queremos recibir de vuelta al ERP. Para nuestros propósitos aquí, esto podría verse así:

Este archivo de encabezado de muestra se puede descargar aquí.
Archivo de exportación CSV:
Entonces podemos ver aquí que vamos a recibir datos específicamente adaptados a nuestras necesidades, incluidos datos como el producto, su número de lote, la cantidad original, cualquier ajuste y el usuario que realizó la acción, junto con las razones y el trabajo relevante. /información del lote.
Si ejecutamos el registro del sistema con el encabezado anterior, obtendremos una exportación similar a esta:

Este archivo de exportación de muestra se puede descargar aquí.