Seu guia para a integração V5!
A integração de pedidos de vendas (SOs) entre o V5 Traceability e o sistema ERP de um cliente permite que detalhes do pedido, itens de linha do pedido e informações de agendamento sejam enviados para o V5 Traceability. O V5 também pode atuar como mestre de dados neste caso, e enviar pedidos criados dentro do sistema para o ERP.
Esses pedidos podem então ser recebidos por meio do software WMS V5, após o qual informações como quantidades que foram coletadas e enviadas, localização e alocações de contêineres/paletes podem ser enviadas de volta ao ERP.
Mais informações sobre como funciona o módulo de pedidos de vendas na Rastreabilidade V5, consulte nosso guia do módulo aqui.
Em termos de como podemos nos relacionar ‘Sales Orders’ e ‘Sales Order Lines’ ao que vemos no Control Center, podemos ver que o painel superior aqui é para os Pedidos de Venda, onde clientes, datas de pedidos e entrega, números de referência externos etc., podem ser importados.
O painel inferior é onde podemos adicionar nossas Linhas de Pedido de Vendas, contendo dados relevantes para as mercadorias, quantidades e custos dos itens da linha do pedido.
Usando o V5 Gateway podemos facilmente preencher ambos os painéis, separadamente ou juntos.
O painel inferior direito contém dados relativos ao local onde os itens do SO são selecionados quando o SO é processado. Esses dados farão parte dos dados exportados que podemos receber do Gateway V5.
Para saber mais sobre as definições das classes do banco de dados que podem ser utilizadas para Pedidos de Vendas, consulte os seguintes links:
O modelo de integração para Pedidos de Vendas pode ser baixado aqui.
Chaves primárias são o identificador exclusivo para cada tabela na API V5. Para SalesOrders, isso é:
salesOrder.orderNumber – o número SO.
Para a SalesOrderLines, a chave primária é ou:
salesOrder.orderNumber + commodity.code – o número SO junto com a mercadoria a ser encomendada
or
lineID – Para fins avançados, onde a mesma mercadoria pode aparecer em várias linhas, você pode especificar um ID de linha como um identificador exclusivo em vez do número do pedido e do código da mercadoria. Isto é necessário se houver mais de uma linha da mesma mercadoria no pedido.
Outros campos exigidos pelo SG para preencher um campo válido ‘SalesOrderLine’ no Centro de Controle são:
quantity – a quantidade dessa mercadoria/produto que está sendo vendida.
Os campos preferenciais servem para adicionar mais dados ao pedido de vendas e, embora não sejam obrigatórios, são úteis quando se trata de funcionalidade na Rastreabilidade V5. Se usar o ‘SalesOrderLine’ ponto final, idealmente adicionaríamos:
lineID - se não for usado como chave primária acima, este campo deve ser incluído.
commodity.code – se não for usado como chave primária acima, este campo deve ser incluído.
salesOrder.orderNumber – se não for usado como chave primária acima, este campo deve ser incluído.
salesOrder.customer.code – o código único usado para identificar o cliente.
salesOrder.placedDate - a data em que o pedido foi feito.
salesOrder.deliveryDate – a data prevista de entrega do pedido.
Observe que para os últimos 4 desses pontos estamos atravessando para o ‘SalesOrder’ classe de ‘SalesOrderLine’. Se em vez disso estivéssemos usando o ‘SalesOrder’ classe poderíamos simplesmente remover ‘salesOrder’ das 4 entradas acima.
Campos adicionais também podem ser incluídos, como, para ‘SalesOrderLine’:
salesOrder.referenceNumber – quaisquer notas/referências adicionais relacionadas à CO.
Dada a natureza do ‘SalesOrder’ e ‘SalesOrderLine’, podemos optar por importar e gerenciar dados de algumas maneiras diferentes:
Pedido de venda:
‘SalesOrder’ importar Endpoint/URI –
http://host:port/V5-API/api/integrate/import/sales
Para esta importação de amostra, usaremos o ‘SalesOrder’ endpoint e estruturar um arquivo de importação básico, isso poderia ser algo assim:
Este arquivo JSON de amostra pode ser baixado aqui.
Podemos ver por que usaríamos o ‘SalesOrder’ endpoint para este formato, dada a capacidade dos arquivos JSON de armazenar dados aninhados, permitindo-nos incluir recuados ‘SalesOrderLine’ listas e posteriormente ‘Commodity’ pontos de dados na importação, que podem ser determinados usando o manual da API SG. Por exemplo, o ‘commodity code’ O ponto de dados pode ser encontrado usando o seguinte caminho no manual da API:
Podemos construir o restante de nossos pontos de dados necessários usando um método de descoberta de caminho semelhante.
Linhas de ordem de venda:
‘SalesOrderLine’ importar Endpoint/URI –
http://host:port/V5-API/api/integrate/import/sales_line
Também podemos usar o ‘SalesOrderLine’ endpoint para adicionar ou editar linhas de um pedido existente. Também podemos adicionar Pedidos de Vendas usando este endpoint, mas é importante lembrar que só podemos editar um cabeçalho de Pedido de Vendas usando o comando ‘SalesOrder’ URI. Observe também que as informações do SO teriam que ser aninhadas aqui para cada linha do SO.
Podemos ver um exemplo de ‘SalesOrderLine’ Arquivo JSON abaixo, onde adicionaremos outra linha de pedido ao pedido ‘SO-8471’ que criamos acima:
Este arquivo JSON de amostra pode ser baixado aqui.
Podemos então ver no Control Center que nosso pedido foi importado junto com a linha adicional que acabamos de adicionar. Observe que informações como data de colocação/entrega e número de referência foram importadas do original ‘SalesOrder’ arquivo.
Em termos de recebimento de arquivos relativos a pedidos de vendas da API V5, se verificarmos os resumos do método em ‘IntegraçãoExportar‘serviço, então temos algumas opções diferentes aqui:
Ordens de venda:
Exportar endpoint/URI –
http://host:port/V5-API/api/integrate/export/sales_orders
Este endpoint exportará arquivos JSON de pedidos de vendas completos usando a classe de banco de dados de pedidos de vendas e incluirá todos os pedidos de vendas que ainda não foram marcados como exportados pelo sistema. Isso fornecerá um retorno para cada ponto de dados no ‘SalesOrder’ classe, bem como incluir qualquer informação de separação de itens enviados.
Um exemplo de arquivo JSON deste tipo pode ser baixado aqui.
Pedido de venda:
Exportar endpoint/URI –
http://host:port/V5-API/api/integrate/export/sales_order/{ordernumber}
Este endpoint exportará arquivos JSON completos do pedido de vendas usando a classe de banco de dados de pedidos de vendas, mas apenas para o pedido especificado e somente se esse pedido ainda não tiver sido marcado como exportado pelo sistema. Como acima, isso fornecerá um retorno para cada ponto de dados no ‘SalesOrder’ classe, bem como incluir qualquer informação de separação de itens enviados.
Podemos ver o início de um exemplo de exportação deste tipo abaixo:
Registros de pedidos de vendas:
Exportar endpoint/URI –
http://host:port/V5-API/api/integrate/export/sales_logs
Este endpoint pode ser usado para recuperar uma lista de logs de pedidos de vendas relativos a eventos ocorridos durante o envio de pedidos de vendas. Isso faz uso do ‘SystemLog’ classe de dados para fornecer dados transacionais, como descritores de sistema. O endpoint fornece esses dados apenas para pedidos concluídos que não foram marcados como exportados.
Um exemplo de arquivo JSON deste tipo pode ser baixado aqui.
Registro de pedidos de vendas:
Exportar endpoint/URI –
http://host:port/V5-API/api/integrate/export/sales_log/{id}
Este endpoint funciona da mesma maneira que os ‘Registros de pedidos de vendas’ acima, mas pode ser usado para retornar as informações de um número de registro específico, conforme definido pelo sistema V5. Como antes, isso faz uso do ‘SystemLog’ classe de dados para fornecer dados transacionais, como descritores de sistema. O endpoint fornece esses dados apenas para logs de pedidos concluídos que não foram marcados como já exportados.
Podemos ver o início de um exemplo de exportação deste tipo abaixo:
Também podemos utilizar um endpoints transacionais e de log para recuperar informações mais relevantes sobre commodities e produtos vendidos em Pedidos de Vendas.
Nós temos um Transacional/Genérico endpoint que podemos usar aqui:
Observe que para importações de CSV, normalmente usaríamos apenas o ‘SalesOrderLine’ endpoint, permitindo-nos gerar pedidos de vendas e seus itens de linha através do uso de uma única importação csv.
Nome do arquivo de definição de cabeçalho/coluna: “salesOrderLine.csvh”
Os arquivos de cabeçalho completos devem ser colocados em: “<installdir>\SG Control Center\gateway\import\column_defs”
Nome do arquivo CSV de importação: “salesOrderLine-datetime.csv”
Os CSVs para importação devem ser colocados em: “<installdir>\SG Control Center\gateway\import”
Arquivo de cabeçalho:
Os arquivos de cabeçalho geralmente serão compilados pela SG Systems antes da realização das integrações CSV, mas podemos ver abaixo um exemplo básico de um que podemos usar para pedidos de vendas:
Para mais informações sobre como estruturamos esses arquivos, consulte o página principal de integração. Este arquivo de cabeçalho de amostra pode ser baixado aqui.
Arquivo de importação CSV:
Podemos então usar a ordem definida de pontos de dados no cabeçalho para estruturar nosso arquivo de importação. A SG Systems pode fornecer um arquivo de modelo para isso, listando o ponto de dados para cada coluna para tornar as coisas mais claras ao preencher a lista. Observe que esta primeira linha pode ser ignorada pelo Centro de Controle e, portanto, pode ser mantida no arquivo ao enviar para importação.
Aqui podemos ver que pretendemos criar um pedido semelhante ao que criamos usando a metodologia JSON. Este arquivo de importação de amostra pode ser baixado aqui.
Com a importação concluída, podemos ver que esses pedidos, juntamente com os itens de linha necessários, foram adicionados ao Control Center. Observe que se o ‘Date Placed’ dados não estão incluídos na importação, a data colocada fará referência à data de hoje.
Ao exportar informações de pedidos de vendas por meio desse método, isso faria parte de um ‘SalesLog’ exportar. Podemos ver as definições de classe para este endpoint aqui.
Nome do arquivo de definição de cabeçalho/coluna: “SalesLog.csvh”
Os arquivos de cabeçalho completos devem ser colocados em: “<installdir>\SG Control Center\gateway\export\order”
Exportar nome do arquivo CSV: “SalesLog-datetime.csv”
Os CSVs para exportações serão gerados em: “<installdir>\SG Control Center\gateway\export”
Esta exportação também precisaria ser habilitada na seção Gateway do Control Center. Isto seria apenas um caso de verificar o ‘Sales Order’ caixa e certificando-se de aplicar a configuração e reiniciar o Control Center.
Arquivo de cabeçalho:
Podemos usar pontos de dados como ‘user’, ‘timestamp’ e ‘quantity’ neste topo ‘Sales Log’, nível, mas também podemos usar as páginas Pedido de vendas e Linha de pedido de vendas para desenvolver ainda mais as informações necessárias, como o número do pedido, os itens vendidos e onde eles foram retirados. Observe que aqui o ‘SalesOrder’ classe deve ser acessada através do ‘Line’ classe, como é mostrado no exemplo abaixo
Num nível muito básico, a nossa parte do ‘Sales Log’ O cabeçalho que trata de nossos pedidos de vendas poderia ser mais ou menos assim:
Este arquivo de cabeçalho de amostra pode ser baixado aqui.
Arquivo de exportação CSV:
Com nosso cabeçalho no lugar e a exportação habilitada, obteremos posteriormente um arquivo de retorno para este pedido (junto com quaisquer outros pedidos não exportados anteriormente) semelhante a este:
Este arquivo de exportação de amostra pode ser baixado aqui.