
Download OpenAPI specification:
Utilizando a atual arquitetura desenvolvida para gerenciar a integração dos ERPs TOTVS com o WMS SaaS, a integração CORE foi desenvolvida para facilitar a integração entre os sistemas fora do ecossistema TOTVS com WMS SaaS.
Sua estrutura contém as principais funções necessárias para integrar com o WMS SaaS, com uma arquitetura desenvolvida para não somente conectar, mas apoiar na gestão do processo entre os dois sistemas.
Os DE X PARA entre os sistemas, são registrados no CORE mitigando a quantidade de desenvolvimentos nas integrações e nos sistemas que serão integrados. Assim como parametrizar as unidades do WMS, tipos de estoque e características em parametrizações embedadas no próprio WMS SaaS.
Outra característica importante do processo, é o processo de cadastro automático via contexto de informações no WMS. O cadastro via contexto, valida as informações do produto, transportadora e fornecedor, que são obrigatórios no WMS para integração do documento e se necessário realiza o cadastro no WMS. Este processo é importante, pois evita a necessidade de realizar integrações de cadastros entre os dois sistemas.
De forma resumida o processo core, consome de forma ativa (GET) as APIs REST dos ERPs, disponibilizadas (publicadas) no layout estipulado no Swagger da integração CORE. Esse consumo, gera a fila de execução com o WMS SaaS, apresentando os registros de documentos integrados no monitor de integração do WMS SaaS, assim permitindo o acompanhamento dos processos e gerenciamento das informações.
As operações WMS SaaS que precisam ser integradas com o ERP, a integração realiza a captura destes dados e executa o retorno do processo executando (POST) nas APIs REST do ERP.
A camada CORE de integração, além gerenciar e suavizar os processo de integração, centraliza as informações entre os sistemas que estão sendo integrados, pois utilizando os GETs com ERP, centraliza os registros da integrações e execuções, assim como possíveis erros e monitoramento da disponibilidade do ambiente Rest do cliente. Embedado no WMS, existe o monitor de integração, que permite acompanhar os documentos integrados permitindo a rastreabilidade das integrações. Este monitor além de visualizar e quantificar os documentos, permite avaliar as possíveis divergências de informações, retornos das APIs, reprocessar integrações e acompanhar o status do ambiente REST.
Caso as APIs executadas, tanto do ERP como WMS SaaS, apresentem alguma situação que impeça a execução, esta informação é apresentada de forma destacada. Permitindo a análise e se necessário, executar novamente a transação.
As situações divergentes de cadastros, saldos, etc, são nomeadas de erros de negócio. Situações técnicas como queda dos serviços Rest, internet, etc, são nomeadas como erros técnicos.
Os principais processo integrados disponíveis com o WMS e a integração CORE, são:
No WMS, no acesso ao monitor Integração, existe o botão configuração onde será necessário cadastrar:
Organização: neste cadastro deve ser informado qual o estabelecimento ou filial relacionada ao ERP, para que sempre que executado um GET no filtro seja repassada esta informação para que o sistema consiga relacionar a Unidade de negócio do WMS, com o estabelecimento/Filial do ERP.
O conceito de Estabelecimento/Filial, pode ser considerado a unidade fiscal da empresa.
Tipo de estoque: O WMS permite relacionar o saldo do produto a um tipo de estoque, que sendo um tributo do saldo, engloba qualquer produto, endereço, lote, etc…Conceitualmente, este tipo de estoque, deve refletir o saldo do depósito/armazém no ERP. Ex: Supondo que o saldo do ERP esteja no depósito EXP este saldo deve estar no WMS com o Tipo de estoque EXP, assim como por exemplo o saldo em um depósito/armazém ou status CQ, no WMS este deve estar relacionado ao tipo de estoque CQ.
Os nomes entre os depósito/armazém e os tipos de estoques não precisam ser iguais, mas o cadastro deve estar relacionado. Este cadastro permite que o saldo de determinado depósito/armazém, seja no recebimento ou na integração, respeite as informações originadas no ERP. EX: Supondo que uma nota fiscal de entrada esteja tenha a sequência 01 com o produto para o depósito/armazém EXP e a sequência 02 esteja para o depósito/armazém CQ. A configuração interpreta esta informação e busca no DE X PARA cadastrado na configuração esta informação, registrando na nota fiscal esta informação, pois o WMS com esta informação registrada respeita os processos direcionados ao tipo de estoque.
Para o processo de expedição também ocorre o mesmo processo. Ex: Supondo que o pedido esteja com a sequência 01 com o produto para o depósito/armazém VEN e a sequência 02 esteja para o depósito/armazém EXP. A integração deve preencher no campo tipo de estoque a informação relacionada, para que o WMS somente atenda com os saldos para cada tipo de estoque informado.
Autenticação: As integrações ocorrem em chamadas REST, assim o AUTHORIZATION: basic_auth HTTP: basic_auth HTTP Authorization Scheme: basic O Ambiente onde a integração CORE deverá chamar as APIs, o tipo deve ser o basic_auth que corresponde no envio das informações necessárias para o login no ERP que será integrado. Muito importante este usuário e senha estar cadastrado como NÃO EXPIRA a senha. As informações de usuário e senha, deve ser incluída no cadastro disponível na configuração do ERP, conforme mencionado no tópico de parametrizações.
Endereço de execução: No documento, serão definidas as localizações e caminhos para os endereços das APIs. è muito importante seguir este padrão para que as chamadas consigam interagir com as APIs. Ex: a API REST que será realizado o GET Buscar a lista de documentos de recebimento, deve estar no caminho /wms/api/v1/documentos.
O processo de recebimento tem como objetivo integrar as notas fiscais de recebimento com o fluxo do WMS de gestão de documentos de recebimento.
Dica de negócio: Como as notas fiscais apresentam várias sequências e muitas vezes são necessários diferentes direcionamentos para estas sequências, uma sugestão e para definição de quais sequências serão integradas com o WMS, sejam por depósito ou armazém no ERP. Pois permite a flexibilidade do processo, pois permite, por exemplo, destinar itens para outros processos que não precisam passar pelo WMS.
A liberação para integração, deve registrar o data TIME (Ex: 2023-08-19 11:10:12), o qual denominamos STAMP, que uma das chaves do filtro.
O processo está dividido em dois GETs para buscar os documentos:
O primeiro GET é Buscar a lista de documentos de recebimento que buscamos o cabeçalho dos documentos que pretendemos integrar e colocamos em uma fila de execução dentro do sistema de gestão de integrações. Caso ocorra alguma divergência de integração, esta informação é apresentada no monitor, permitindo o reprocessamento.
A fila gerada, executa o outro GET Buscar documento de recebimento completo, que busca o documento completo cabeçalho + itens, para assim executar as APIs do WMS para gerar os documentos. Caso ocorra alguma divergência de integração, esta informação é apresentada no monitor, permitindo o reprocessamento.
Esta arquitetura permite “suavizar” o fluxo de informações e as execuções das APIs, assim como o tamanho dos arquivos trafegados, mitigando possíveis capacidades de execução.
Dica de negócio: É importante a API somente disponibilizar no GET os documentos que não serão alterados quando liberados para integração, para evitar divergência de informações entre os sistemas. Normalmente para o sistema do cliente pode ser um status diferente no documento, que pode ser atualizado por um operador ou um processo automatizado. Este status normalmente é chamado de “Liberado para integração”, assim evita que o documento seja integrado enquanto estiver sendo atualizado no sistema do cliente, evitando ir somente uma parte do documento, pois normalmente um documento de nota fiscal de entrada, podem conter várias sequências. O documento estando no status “Liberado para integração” deve estar bloqueado para alterações, para evitar divergências de informações entre os sistemas e é sugerido via processo de Cancelar/Inativar documento de entrada que volte ao status anterior ao “Liberado para integração”.
Efetuado com sucesso o GET Buscar documento de recebimento completo e consequentemente o documento no WMS, a camada CORE retorna a mensagem de sucesso, via POST Atualizar documento de entrada para integrado para que no sistema de origem da informação, possa acompanhar os status dos processos. Este registro que o documento foi integrado, é importante estar na tabela onde são gravados os documentos disponíveis para integração, pois quando executado o GET de para buscar os documentos para integrar(Buscar a lista de documentos de recebimento), este documento não poderá estar disponibilizado para integrar.
Dica de negócio: Sugerimos neste POST atualizar o status do atual “Liberado para integração” para “integrado WMS”.
Uma vez no WMS, o documento segue as rotinas do WMS, sendo que no último processo, denominado Finalização da conferência, ao monitoramento ativo das transações realizada pelo CORE na nuvem do WMS SaaS, busca as informações do documento e produtos (quantidades, características, etc) para realizar o POST na API Finalizar conferência do documento de entrada para que seja possível atualizar as informações da nota fiscal. Este processo é importante para que caso exista alguma divergência entre o fiscal e físico, o sistema do cliente possa realizar as consistências. Dica de negócio: Sugerimos neste POST atualizar o status do atual “Integrado” para “WMS Retornou SEM divergência” e caso exista divergência fique “WMS Retornou COM divergência”, para que o responsável pelo processo de recebimento possa realizar as ações pertinentes ao processo ou caso exista alguma automatizações, esta fique transparente para o operador.
Para manter a integridade entre os sistemas, ainda temos disponíveis a API Cancelar/Inativar documento de entrada que permite o WMS informar o sistema do cliente que o processo de recebimento do documento foi cancelado. Este procedimento normalmente é utilizado para que sejam realizadas alterações no documento no sistema do cliente e reintegrado o documento com o WMS, pois o WMS não permite integrar documentos com a mesma chave (documento + série + fornecedor) e também não permite eliminar do documento no WMS. A única maneira de reintegrar um documento com o WMS é inativar um registro para que possa ser reintegrado.
Fluxo sugerido:
O GET Buscar a lista de documentos de recebimento, realiza a busca dos documentos que foram disponibilizadas para integração, gerando uma fila de demandas que devem ser integradas. O CORE está parametrizado para executar em frações de tempo o GET, a qual deve retornar os documentos disponíveis para integração no formato definido no swagger. Esta etapa é denominada pré-fila e registra somente o cabeçalho das notas fiscais, buscando somente as notas today -1. É importante a API somente disponibilizar os documentos que não serão alterados quando liberados para integração, para evitar divergência de informações entre os sistemas.
Dica: Utilize os campo “dadosexternos” para guardar a sua chave ou ID do seu documento. A integração CORE, mesmo usando as chaves do WMS, recebe e devolve estas informações em todas as transações, para que seja possível na api do ERP usar a chave usual, mitigando as adaptações de desenvolvimentos.
| stamp | string Example: stamp=20230819 Campo date referente a disponibilização do documento para integração. |
| filial | string Example: filial=01 Filial a ser consultada. |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
{- "items": [
- {
- "timeStamp": "string",
- "formula": "N",
- "fornecedorId": "string",
- "loja": "string",
- "dataEmissao": "string",
- "chaveNfe": "string",
- "serie": "string",
- "documento": "string",
- "dadosExternos": "string",
- "subtipoFluxoProcesso": "string",
- "observacao": "string"
}
]
}Os documentos recebidos pelo Buscar a lista de documentos de recebimento geram uma fila de execução onde Buscar a lista de documentos de recebimento COMPLETO é executado para buscar o documento por completo. O documento considerado completo, é composto pelo Cabeçalho + itens/sequências do documento. Este processo executa a geração de documento no WMS, onde se casos o WMS retorne algum erro, este registro é apresentado no Monitor de integração, embedado no WMS. Importante: É obrigatório fornecer pelo menos um dos campos: fornecedorId ou fornecedorDados. O documento deve conter informações do fornecedor para ser processado corretamente.
| documento | string Example: documento=000182958 Número do documento de recebimento |
| serie | string Example: serie=112 Serie do documento de recebimento |
| fornecedorId | string Example: fornecedorId=000123 Fornecedor do documento de recebimento |
| dadosExternos | string Example: dadosExternos={ "idRetornoErp": "12315-sv21", "venda": "false" } Informação inerente ao processo, será trafegada nos retornos para o documento |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
{- "timeStamp": "string",
- "formula": "N",
- "fornecedorId": "string",
- "loja": "string",
- "dataEmissao": "string",
- "fornecedorDados": {
- "fornecedorId": "string",
- "documentoIdentificacao": "string",
- "cgc": "string",
- "inscricaoEstadual": "string",
- "nome": "string",
- "estado": "AC",
- "fornecedorLoja": "string"
}, - "transportadorDados": {
- "estado": "AC",
- "transportadorId": 0,
- "nome": "string",
- "inscricaoEstadual": "string",
- "documentoIdentificacao": "string"
}, - "depositante": {
- "documentoIdentificacao": "string",
- "inscricaoEstadual": "string"
}, - "itens": [
- {
- "produtoId": "string",
- "quantidade": 0,
- "sequencia": "string",
- "unidadeMedida": "string",
- "valorTotal": 0,
- "valorUnitario": 0,
- "idProdutoSaas": "string",
- "categoria": "string",
- "descricao": "string",
- "skus": [
- {
- "codigoBarras": [
- "string",
- "string"
], - "descricao": "string",
- "quantidadeUnidadesProduto": 0,
- "peso": 0,
- "fracionado": "string",
- "imprimeEtiqueta": "string"
}
], - "tipoEstoque": {
- "codigoArmazem": "string",
- "descricaoArmazem": "string"
}, - "caracteristicasEstoque": {
- "lote": "string",
- "dataValidade": "string",
- "numeroSerie": "string",
- "documentoOrigem": "string"
}
}
], - "chaveNfe": "string",
- "serie": "string",
- "documento": "string",
- "dadosExternos": "string",
- "subtipoFluxoProcesso": "string",
- "observacao": "string",
- "filial": "string",
- "excluido": 0,
- "tipo": "string",
- "tipoDoc": "string"
}Quando efetuado com sucesso o processo de geração do documento no WMS, o sistema CORE executa o POST Atualizar documento de entrada para integrado, para que no sistema de origem da informação, possa acompanhar os status dos processos. Este registro que o documento foi integrado, é importante estar na tabela onde são gravados os documentos disponíveis para integração, pois quando executado o GET de para buscar os documentos para integrar(Buscar a lista de documentos de recebimento), este documento não poderá estar disponibilizado para integrar.
| filial required | string Example: 01 Filial do documento de recebimento |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Dexiar valor vazio caso não possuir. |
object |
{- "chaveRecebimento": {
- "documento": "string",
- "serie": "string",
- "fornecedorId": "string",
- "fornecedorLoja": "string",
- "dadosExternos": "string"
}
}{- "message": "string"
}Este processo, permite informar o ERP que o documento de recebimento no WMS, foi inativado. Este procedimento normalmente é utilizado para que sejam realizadas alterações no documento no sistema do cliente e reintegrado o documento com o WMS, pois o WMS não permite integrar documentos com a mesma chave (documento + série + fornecedor) e também não permite eliminar do documento no WMS. A única maneira de reintegrar um documento com o WMS é inativar um registro para que possa ser reintegrado.
| filial required | string Example: 01 Filial do documento de recebimento |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
object |
{- "chaveRecebimento": {
- "documento": "string",
- "serie": "string",
- "fornecedorId": "string",
- "fornecedorLoja": "string",
- "dadosExternos": "string"
}
}{- "message": "string"
}No fluxo padrão, esta é a ultima etapa, pois uma vez o documento no WMS, segue as rotinas do WMS, sendo que no último processo, denominado Finalização da conferência, ao monitoramento ativo das transações realizada pelo CORE na nuvem do WMS SaaS, busca as informações do documento e produtos (quantidades, características, etc) para realizar o POST na API Finalizar conferência do documento de entrada para que seja possível atualizar as informações da nota fiscal. Este processo é importante para que caso exista alguma divergência entre o fiscal e físico, o sistema do cliente possa realizar as consistências.
| filial required | string Example: 01 Filial do documento de recebimento |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
object | |
Array of objects item |
{- "chaveRecebimento": {
- "documento": "string",
- "serie": "string",
- "fornecedorId": "string",
- "fornecedorLoja": "string",
- "dadosExternos": "string"
}, - "item": [
- {
- "codigo": "string",
- "armazem": "string",
- "lote": "string",
- "dataValidade": "string",
- "numeroSerie": "string",
- "item": 0,
- "quantidadeConferida": 0,
- "quantidadeAvariada": 0,
- "quantidadeDeclarada": 0,
- "caracteristicasAtributosConferidos": [
- {
- "quantidade": 0,
- "quantidadeAvariada": 0,
- "atributos": [
- {
- "id": "string",
- "descricao": "string",
- "formato": "string",
- "controleQualidade": "string",
- "valores": [
- "string"
]
}
]
}
]
}
]
}{- "message": "string"
}Este processo, permite informar o ERP que o processo de conferência de recebimento foi reaberto. Este controle é importante, pois no POST Finalizar conferência do documento de entrada, foi informado ao ERP que o processo de conferência foi finalizado e recebido e registrada as quantidades e outras informações dos produtos conferidos no documento de recebimento. Para que o processo de recebimento no ERP, não passe para a próxima etapa, sem a conferência encerrada no WMS, pois pode ser realizada uma nova conferência e as informações podem ser diferentes da atualização anterior
| filial required | string Example: 01 Filial do documento de recebimento |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
object |
{- "chaveRecebimento": {
- "documento": "string",
- "serie": "string",
- "fornecedorId": "string",
- "fornecedorLoja": "string",
- "dadosExternos": "string"
}
}{- "message": "string"
}O processo de pedido tem como objetivo integrar os pedidos ou notas fiscais de saida do ERP com fluxo do WMS de gestão de documentos de pedidos.
Dica de negócio: Como os pedidos apresentam várias sequências e muitas vezes são necessários diferentes direcionamentos para estas sequências, uma sugestão e para definição de quais sequências serão integradas com o WMS, sejam por depósito ou armazém no ERP. Pois permite a flexibilidade do processo, pois permite, por exemplo, destinar itens para outros processos que não precisam passar pelo WMS.
No ERP, a confirmação da liberação para integração do documento, deve registrar o data TIME (Ex: 2023-08-19 11:10:12), o qual denominamos STAMP, que é uma das chaves do filtro. Esta informação é utilizada para que o CORE saiba qual o último horário para realizar nova busca (GET), por isso passamos no filtro e também é recebido no GET de Buscar a lista de pedidos de venda. Ex: no filtro GET o CORE passou 2023-08-19 11:10:12, assim devem ser enviados todos os documentos com time stamp >= que 2023-08-19 11:10:12. Supondo que na lista de documentos foi recebido o último registro recebido foi 2023-08-19 12:05:10, na próxima execução do GET, o filtro encaminhado será 2023-08-19 12:05:11.
O processo está dividido em dois GETs para buscar os documento:
Esta arquitetura permite “suavizar” o fluxo de informações e as execuções das APIs, assim como o tamanho dos arquivos trafegados, mitigando possíveis capacidades de execução.
Dica de negócio: É importante a API somente disponibilizar no GET os documentos que não serão alterados quando liberados para integração, para evitar divergência de informações entre os sistemas. Normalmente para o sistema do cliente, pode ser um status diferente no documento, que pode ser atualizado por um operador ou um processo automatizado. Este status normalmente é chamado de “Liberado para integração”, assim evita que o documento seja integrado enquanto estiver sendo atualizado no sistema do cliente, evitando ir somente uma parte do documento, pois normalmente um documento de nota fiscal de entrada, podem conter várias sequências. O documento estando no status “Liberado para integração” deve estar bloqueado para alterações, para evitar divergências de informações entre os sistemas e é sugerido via processo de Cancelar pedido de venda que volta ao status anterior ao “Liberado para integração”.
Efetuado com sucesso o GET Buscar pedido de venda completo e consequentemente o documento no WMS, a camada CORE retorna a mensagem de sucesso, via POST Atualizar pedido de venda para integrado para que no sistema de origem da informação, possa acompanhar os status dos processos. Este registro que o documento foi integrado, é importante estar na tabela onde são gravados os documentos disponíveis para integração, pois quando executado o GET de para buscar os documentos para integrar(Buscar a lista de documentos de pedido), este documento não poderá estar disponibilizado para integrar.
Dica de negócio: Sugerimos neste POST atualizar o status do atual “Liberado para integração” para “integrado WMS”. Outra questão importante, é a características de estoque (Lote, data de validade/ série), se no payload encaminhado, esta informação for informada, o WMS recebe esta informação e obrigatoriamente realiza a separação deste. Caso não seja informada, o WMS segue as rotinas dele para seleção de estoque (FIFO, FEFO, Shelf LIFE).
Uma vez no WMS, o documento segue as rotinas do WMS, sendo que no último processo, denominado baixa de estoque/finalização pedido, o monitoramento ativo das transações realizada pelo CORE na nuvem do WMS SaaS, busca as informações do documento e produtos (quantidades, características, etc) para realizar o POST na API Finalização da separação de estoque para que seja possível atualizar as informações nos pedidos. Este processo é importante para atualizar as informações das características de estoque (Lote, data de validade/ série) separadas no WMS, para que sejam atualizadas no ERP.
Dica de negócio: Sugerimos neste POST atualizar o status do atual “Integrado” para “WMS Retornou” para que esteja disponível para faturar. Outro ponto importante é a possibilidade do WMS trabalhar com características e o ERP sem, neste caso a API esteja preparada para desconsiderar esta informação. Ainda neste contexto, se o cliente atua com características de estoque no WMS e no ERP é importante a API que recebe o POST, estar preparada para atualizar estas informações no pedido.
Para manter a integridade entre os sistemas, ainda temos disponíveis a API Cancelar pedido de venda que permite o WMS informar o sistema do cliente que o processo de atendimento do pedido foi cancelado. Este procedimento normalmente é utilizado para que sejam realizadas alterações no documento no sistema do cliente e reintegrado o documento com o WMS, pois o WMS não permite integrar documentos com a mesma chave (pedido + cliente + data) e também não permite eliminar do documento no WMS. A única maneira de reintegrar um documento com o WMS é inativar um registro para que possa ser reintegrado.
Fluxo sugerido:
O GET Buscar a lista de pedidos de venda, realiza a busca dos documentos que foram disponibilizadas para integração, gerando uma fila de demandas que devem ser integradas. O CORE está parametrizado para executar em frações de tempo o GET, a qual deve retornar os documentos disponíveis para integração no formato definido no swagger. Esta etapa é denominada pré-fila e registra somente o cabeçalho dos pedidos, buscando somente os pedidos, conforme horário do STAMP.
É importante a API somente disponibilizar os documentos que não serão alterados quando liberados para integração, para evitar divergência de informações entre os sistemas.
No ERP, a confirmação da liberação para integração do documento, deve registrar o data TIME (Ex: 2023-08-19 11:10:12), o qual denominamos STAMP, que é uma das chaves do filtro.
Esta informação é utilizada para que o CORE saiba qual o último horário para realizar nova busca (GET), por isso passamos no filtro e também é recebido no GET de Buscar a lista de pedidos de venda. Ex: no filtro GET o CORE passou 2023-08-19 11:10:12, assim devem ser enviados todos os documentos com time stamp >= que 2023-08-19 11:10:12. Supondo que na lista de documentos foi recebido o último registro recebido foi 2023-08-19 12:05:10, na próxima execução do GET, o filtro encaminhado será 2023-08-19 12:05:11.
Dica: Utilize os campo “dadosexternos” para guardar a sua chave ou ID do seu documento. A integração CORE, mesmo usando as chaves do WMS, recebe e devolve estas informações em todas as transações, para que seja possível na api do ERP usar a chave usual, mitigando as adaptações de desenvolvimentos.
Importante: O WMS não permite ter mais de um pedido com a mesmas chave, assim pedidos parciais, que é quando um pedido do ERP é enviado mais de uma vez para atendimento, este deve ter um novo número no WMS ou um incremento no nome (ex: Pedido + 01, Pedido + 02, etc)
| filter | string Example: filter=filial eq '05' and timestamp ge '2023-08-08' Filtro no padrão odata para aquisição dos registros |
| pagesize | number Example: pagesize=50 Tamanho da paginação a ser consultada |
| page | number Example: page=1 Número da Página a ser consultada |
| faturado | boolean Se verdadeiro, retorna apenas itens faturados para atualização. |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
{- "items": [
- {
- "timeStamp": "string",
- "numero": "string",
- "dtEmissao": "string",
- "nota": "string",
- "serie": "string",
- "filial": "string",
- "dadosExternos": "string",
- "subtipoFluxoProcesso": "string"
}
], - "hasNext": true
}Os documentos recebidos pelo Buscar a lista de pedidos de venda, gera uma fila de execução onde Buscar pedido de venda completo COMPLETO é executado para buscar o documento por completo. O documento considerado completo, é composto pelo Cabeçalho + itens/sequências do documento. Este processo executa a geração de documento no WMS, onde se casos o WMS retorne algum erro, este registro é apresentado no Monitor de integração, embedado no WMS.
| filter | string Example: filter=numero eq '596848' and filial eq '05' Filtro no padrão odata para aquisição do registro |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
{- "timeStamp": "string",
- "numero": "string",
- "dtEmissao": "string",
- "nota": "string",
- "serie": "string",
- "filial": "string",
- "dadosExternos": "string",
- "subtipoFluxoProcesso": "string",
- "cliente": "string",
- "loja": "string",
- "clienteDados": {
- "clienteId": "string",
- "documentoIdentificacao": "string",
- "inscricaoEstadual": "string",
- "nome": "string",
- "estado": "AC",
- "loja": "string"
}, - "depositante": {
- "documentoIdentificacao": "string",
- "inscricaoEstadual": "string"
}, - "unidadeFederativa": "AC",
- "cep": "string",
- "bairro": "string",
- "endereco": "string",
- "numeroEndereco": "string",
- "complemento": "string",
- "cidade": "string",
- "carga": "string",
- "urgente": true,
- "observacao": "string",
- "itens": [
- {
- "skus": [
- {
- "codigoBarras": [
- "789125387111747",
- "123456789012345"
], - "descricao": "string",
- "quantidadeUnidadesProduto": 0,
- "peso": 0,
- "fracionado": "string",
- "imprimeEtiqueta": "string"
}
], - "caracteristicasEstoque": {
- "lote": "string",
- "dataValidade": "string",
- "numeroSerie": "string",
- "documentoOrigem": "string"
}, - "tipoEstoque": {
- "codigoArmazem": "string",
- "descricaoArmazem": "string"
}, - "produtoId": "string",
- "quantidade": 0,
- "valorTotal": 0,
- "valorUnitario": 0,
- "unidadeMedida": "string",
- "sequencia": "string",
- "categoria": "string",
- "descricao": "string"
}
], - "dataEntrega": "string",
- "transportadorId": "string",
- "transportadorDados": {
- "transportadorId": "string",
- "documentoIdentificacao": "string",
- "inscricaoEstadual": "string",
- "nome": "string",
- "estado": "AC"
}
}No fluxo padrão, esta é a última etapa, pois uma vez o documento no WMS, segue as rotinas do WMS, sendo que no último processo, denominado Finalização documento pedido,o monitoramento ativo das transações realizada pelo CORE na nuvem do WMS SaaS, busca as informações do documento e produtos (quantidades, características, etc) para realizar o POST na API Finalização da separação de estoque para que seja possível atualizar as informações no pedido. Este processo é importante para sinalizar o final do fluxo com o WMS e também, se necessário, o ajuste do pedido/estoque para considerar as características de estoques recebidas (lote/data de validade, etc).
| filial required | string Example: 05 Filial do documento de expedição separado |
| numero required | string Example: 596848 Número do documento de expedição separado |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
| quantidadeVolumes | number Quantidade de volumes separados para o documento |
| sequenciaLiberacao | string Sequência de liberação do documento |
| dadosExternos | string (DadosExternos) Informação inerente ao processo, será trafegada nos retornos para o documento |
Array of objects Itens separados para o documento |
{- "quantidadeVolumes": 0,
- "sequenciaLiberacao": "string",
- "dadosExternos": "string",
- "items": [
- {
- "produtoId": "string",
- "sequencia": 0,
- "armazem": "string",
- "quantidade": 0,
- "lote": "string",
- "dataValidade": "string",
- "sequenciaLiberacao": "string",
- "atributosSaldo": [
- {
- "saldo": 0,
- "atributos": [
- {
- "id": "string",
- "descricao": "string",
- "formato": "string",
- "controleQualidade": "string",
- "valores": [
- "string"
]
}
]
}
], - "caracteristicaEstoque": [
- {
- "caracteristicaWms": "string",
- "caracteristicaErp": "string",
- "valor": "string"
}
]
}
]
}{- "message": "string"
}Efetuado com sucesso o processo de geração do documento no WMS, o sistema CORE executa o POST Atualizar pedido de venda para integrado, para que no sistema de origem da informação, possa acompanhar os status dos processos. Este registro que o documento foi integrado, é importante estar na tabela onde são gravados os documentos disponíveis para integração, pois quando executado o GET de para buscar os documentos para integrar(Buscar a lista de pedidos de venda), este documento não poderá estar disponibilizado para integrar.
| filial required | string Example: 05 Filial do documento de expedição separado |
| numero required | string Example: 596848 Número do documento de expedição separado |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
| filial | string (Filial) Código da Filial |
| numero | string Número do documento de expedição |
| dadosExternos | string (DadosExternos) Informação inerente ao processo, será trafegada nos retornos para o documento |
{- "filial": "string",
- "numero": "string",
- "dadosExternos": "string"
}{- "updated": true,
- "message": "string"
}Este processo, permite informar o ERP que o pedido no WMS, foi inativado. Este procedimento normalmente é utilizado para que sejam realizadas alterações no documento no sistema do cliente e reintegrado o documento com o WMS, pois o WMS não permite integrar documentos com a mesma chave (pedido+Cliente+data) e também não permite eliminar do documento no WMS. A única maneira de reintegrar um documento com o WMS é inativar um registro para que possa ser reintegrado.
| filial required | string Example: 05 Filial do documento de expedição separado |
| numero required | string Example: 596848 Número do documento de expedição separado |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
| filial | string (Filial) Código da Filial |
| numero | string Número do documento de expedição |
| dadosExternos | string (DadosExternos) Informação inerente ao processo, será trafegada nos retornos para o documento |
{- "filial": "string",
- "numero": "string",
- "dadosExternos": "string"
}{- "updated": true,
- "message": "string"
}Cancela a seleção de estoque do pedido de venda.
| filial required | string Example: 05 Filial do documento de expedição separado |
| numero required | string Example: 596848 Número do documento de expedição separado |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
| filial | string (Filial) Código da Filial |
| numero | string Número do documento de expedição |
| dadosExternos | string (DadosExternos) Informação inerente ao processo, será trafegada nos retornos para o documento |
{- "filial": "string",
- "numero": "string",
- "dadosExternos": "string"
}{- "message": "string"
}O processo de atualização do número da nota fiscal tem como objetivo integrar o número da nota fiscal dos pedidos já faturados no ERP ao fluxo de expedição do WMS, garantindo que os documentos de transporte e demais etapas logísticas utilizem essa informação de forma precisa e sincronizada.
A primeira etapa consiste na verificação do pedido faturado no ERP e no registro desse documento nas tabelas que serão gerenciadas. A partir desse ponto, inicia-se uma rotina de polling periódica à API do ERP por meio do processo "Atualiza Número Nota Fiscal - Expedição". A API GET Buscar número da nota fiscal do pedido faturado é acionada com o objetivo de recuperar o número da nota fiscal vinculada ao pedido. Uma vez localizada, essa informação é registrada no WMS e associada corretamente ao pedido correspondente.
Dica de negócio: É fundamental que o ERP disponibilize o número da nota fiscal apenas quando o documento estiver em um status estável e definitivo, como “NF Emitida” ou “Pedido Faturado e Liberado”. Isso evita divergências entre os sistemas, como documentos parcialmente processados ou ainda em edição. Uma boa prática é utilizar um campo no ERP com o status “Liberado para integração”, que impede alterações no documento enquanto ele estiver disponível para consumo pelo WMS. Se necessário interromper esse fluxo, recomenda-se utilizar o processo de “Cancelamento de liberação”, retornando o documento ao status anterior.
Após a obtenção bem-sucedida da nota fiscal via GET, o sistema registra o sucesso da integração, vinculando o número da nota fiscal ao pedido no WMS. Em seguida, é realizada a chamada POST Atualizar número da nota fiscal para integrado, informando ao ERP que o documento foi integrado com sucesso. Esse retorno é essencial para o controle do ciclo da integração e evita que o mesmo documento seja incluído novamente em execuções futuras do polling. É imprescindível que esse status seja registrado na mesma entidade ou tabela utilizada para disponibilizar os documentos, garantindo que o GET subsequente ignore registros já processados.
Em caso de falha na consulta — seja por erro técnico ou pela ausência da informação no ERP — o processo registra automaticamente o erro no monitor de integração, permitindo que o operador realize o reprocessamento manual, sem gerar sobrecarga por tentativas automáticas repetitivas.
Fluxo Resumido: Atualização do Número da Nota Fiscal - Expedição
O GET Buscar a lista de pedidos de venda faturados, realiza a busca dos documentos que foram disponibilizadas para integração, gerando uma fila de demandas que devem ser integradas. O CORE está parametrizado para executar o GET em frações de tempo, a qual deve retornar os documentos disponíveis para integração no formato definido no swagger. Esta etapa é denominada pré-fila e registra somente o cabeçalho dos pedidos.
É importante a API somente disponibilizar os documentos que não serão alterados quando liberados para integração, para evitar divergência de informações entre os sistemas.
Dica: Utilize os campo “dadosexternos” para guardar a sua chave ou ID do seu documento. A integração CORE, mesmo usando as chaves do WMS, recebe e devolve estas informações em todas as transações, para que seja possível na api do ERP usar a chave usual, mitigando as adaptações de desenvolvimentos.
Importante: O WMS não permite ter mais de um pedido com a mesmas chave, assim pedidos parciais, que é quando um pedido do ERP é enviado mais de uma vez para atendimento, este deve ter um novo número no WMS ou um incremento no nome (ex: Pedido + 01, Pedido + 02, etc)
| pagesize | number Example: pagesize=50 Tamanho da paginação a ser consultada |
| page | number Example: page=1 Número da Página a ser consultada |
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
{- "items": [
- {
- "timeStamp": "string",
- "numero": "string",
- "dtEmissao": "string",
- "nota": "string",
- "serie": "string",
- "filial": "string",
- "dadosExternos": "string",
- "subtipoFluxoProcesso": "string",
- "informacoesDanfe": {
- "emitente": {
- "razaoSocial": "string",
- "inscricaoEstadual": "string",
- "unidadeFederativa": "string",
- "documentoIdentificacao": "string"
}, - "valorTotal": 0,
- "tipoOperacao": 0,
- "rastreamentoAWB": "string",
- "protocoloAutorizacao": "string"
}
}
], - "hasNext": true
}Efetuado com sucesso o processo de geração do documento no WMS, o sistema CORE executa o POST Atualizar pedido de venda faturado para integrado, para que no sistema de origem da informação, possa acompanhar os status dos processos. Este registro que o documento foi integrado, é importante estar na tabela onde são gravados os documentos disponíveis para integração, pois quando executado o GET para buscar os documentos para integrar (Buscar a lista de pedidos de venda faturados), este documento não poderá estar disponibilizado para integrar.
| tenantId | string Example: 01,02 (Grupo 01, Filial 02) Agrupador de filiais. Não informar caso não possuir valor. |
| filial | string (Filial) Código da Filial |
| numero | string Número do documento de expedição |
| dadosExternos | string (DadosExternos) Informação inerente ao processo, será trafegada nos retornos para o documento |
{- "filial": "string",
- "numero": "string",
- "dadosExternos": "string"
}{- "updated": true,
- "message": "string"
}As integrações de estoques, são um conjunto de APIs que permite a conectar os fluxos de manutenção de saldos e fluxos de negócio entre o o WMS e o ERP.
Finalização inventário: integra os saldos inventariados no WMS com o ERP.
Atualização montagem e desmontagem de kits: integra as montagens e desmontagens de kits no WMS com o ERP.
Finalização movimento simplificado: Integra as entradas e saídas e saídas de estoques simplificadas realizadas via APP do WMS com ERP TOTVS.
Finalizar movimentação de Estoque: Integra os movimentos de trocada de estoques e realizadas via APP do WMS com ERP TOTVS.
A gestão de tipos de estoques, conceitualmente, deve refletir o saldo do depósito/armazém no ERP, assim as movimentações de troca de tipo de estoques realizados no próprio APP do WMS SaaS, devem refletir esta movimentação, para manter a relação entre os saldos.
Esta API é executada do WMS para o ERP, passando os parâmetros necessários para a geração do movimento de estoques, onde normalmente é uma transferência entre estoques/depósitos ou até mesmo um status diferenciado.
Dica: No tópico parametrização>tipos de estoques, existem maiores definições conceituais e configurações necessárias para este processo.
| tenantId | string Agrupador de filiais. Deixar valor vazio caso não possuir. |
| retiradoDeAvaria | boolean retirado de avaria |
| avariado | boolean Avariado |
| codigo | string Código do produto |
| rastreioId | string Código único de rastreamento do movimento |
| armazemOrigem | string Armazém de origem |
| armazemDestino | string Armazém de destino |
| quantidade | integer <int32> quantidade |
| lote | string lote |
{- "retiradoDeAvaria": true,
- "avariado": true,
- "codigo": "string",
- "rastreioId": "string",
- "armazemOrigem": "string",
- "armazemDestino": "string",
- "quantidade": 0,
- "lote": "string"
}{- "message": "string"
}O processo de inventário é integrado do WMS para o ERP, passando a posição de estoque inventariado, para que seja realizada no ERP as análises comparativas e ajustes necessários.
No WMS o inventário ocorre com as devidas contagens e ajustes de saldos por endereços, porém no ERP a posição de estoque é total e nem sempre os ajustes de saldos realizados nos endereços no WMS, deve refletir os ajustes de estoques no ERP. Assim, na finalização do inventário no WMS, a integração repassa a posição total do estoque inventariada, ou melhor, soma todos os itens e suas características dos endereços inventariados para gerar a informação que será integrada.
Dica de negócio: No ERP esta integração deve gerar o processo de inventário e as informações recebidas do WMS, devem ser consideradas as contagens deste inventário.
| tenantId | string Example: T1,D MG 01 |
| codigoInventario | string codigoInventario |
Array of objects items |
{- "codigoInventario": "string",
- "items": [
- {
- "dataInventario": "string",
- "codigo": "string",
- "armazem": "string",
- "quantidade": 0,
- "lote": "string",
- "numeroSerie": "string",
- "atributosEstoque": [
- {
- "id": "string",
- "descricao": "string",
- "formato": "string",
- "controleQualidade": "string",
- "valores": [
- "string"
]
}
], - "avariado": true
}
]
}{- "message": "string"
}O processo de atualização de montagem ou desmontagem de kits é integrado do WMS para o ERP.
No WMS, a montagem de kits consiste na baixa dos itens que compõem o kit e na entrada do saldo do produto final (kit montado). Já a desmontagem realiza o processo inverso: baixa do kit e entrada dos itens componentes.
Ao final da operação no WMS, a integração envia ao ERP a posição consolidada do estoque (itens baixados e kits gerados ou desmontados). Com essas informações, o ERP executa as análises comparativas e aplica os ajustes necessários para manter a consistência entre os sistemas.
| tenantId | string Example: T1,D MG 01 |
| processoKitId | string <uuid> Identificador do processo de montagem do kit |
| identificador | string Identificador único da operação (ex. número de lote ou referência externa) |
| tipo | string Tipo do processo (ex. MONTAGEM, DESMONTAGEM) |
| unidadeId | string <uuid> Identificador da unidade/filial responsável |
| dataMovimento | string <date-time> Data e hora do movimento |
Array of objects Lista de produtos de saída (matéria-prima consumida) | |
Array of objects Lista de produtos de entrada (kits montados ou produzidos) |
{- "processoKitId": "4c5f8fd5-5d6b-4211-9c9f-c09bc24f2202",
- "identificador": "string",
- "tipo": "string",
- "unidadeId": "e71e7cbf-5e66-4537-8cad-edc4491c7c6c",
- "dataMovimento": "2019-08-24T14:15:22Z",
- "saidas": [
- {
- "requisicaoMateriaPrimaId": "f7d0d962-ff16-47c4-a8b4-7e14006e3966",
- "produto": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "codigo": "string",
- "descricaoComercial": "string",
- "descricaoMobile": "string"
}, - "reservas": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "quantidade": 0,
- "caracteristicas": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "descricao": "string",
- "formato": "string",
- "valor": "string"
}
], - "tipoEstoque": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "descricao": "string"
}
}
]
}
], - "entradas": [
- {
- "apontamentoProducaoId": "64f2b6c6-0442-42e8-a99e-3a64542ae547",
- "produto": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "codigo": "string",
- "descricaoComercial": "string",
- "descricaoMobile": "string"
}, - "quantidade": 0,
- "caracteristicas": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "descricao": "string",
- "formato": "string",
- "valor": "string"
}
], - "tipoEstoque": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "descricao": "string"
}
}
]
}{- "message": "string"
}No APP do WMS, existe a rotina de entrada e saída simplificada, normalmente utilizada para pequenos ajustes de estoque no WMS. O POST Finalização movimento simplificado permite atualizar estas informações no ERP, para que seja possível creditar ou debitar o saldo.
Para o ERP, sugerimos criar uma camada de validação, pois este POST sempre é realizado na finalização do processo e esta camada teria que validar se gera o movimento de estoque e qual o tipo ou dispensa o registro.
| tenantId | string Example: T1,D MG 01 |
Array of objects array dos movimentos |
{- "movimentos": [
- {
- "codigo": "string",
- "lote": "string",
- "dataValidade": "string",
- "tipo": "string",
- "emissao": "string",
- "observacao": "string",
- "armazem": "string",
- "quantidade": 0
}
]
}{- "message": "string"
}O WMS atende os fluxos de manufatura para produtos acabados, nomeado de Entrada de produção e as requisições, que pode ser os atendimentos das matérias primas para o abastecimento da linha de produção e as devoluções que podem ser consideradas os retornos dessas requisições ou até mesmo sobras de matérias primas da linha de volta para o almoxarifado.
O fluxo de requisição e retornos, podem ser também utilizados para movimentações de saídas e entradas internas no WMS, como por exemplo uma transferência entre depósitos, requisição de estoque, etc.
Para gerar os processo de requisição devem ser utilizadas as APIs:
O GET Buscar lista de requisições e por requisição realiza a busca dos documentos que foram disponibilizados para integração, gerando uma fila de demandas que devem ser integradas. O CORE está parametrizado para executar em frações de tempo o GET, a qual deve retornar os documentos disponíveis para integração no formato definido no swagger. Esta etapa é denominada pré-fila e registra somente o cabeçalho dos pedidos, buscando somente os pedidos, conforme horário do STAMP.
É importante a API somente disponibilizar os documentos que não serão alterados quando liberados para integração, para evitar divergência de informações entre os sistemas.
No ERP, a confirmação da liberação para integração do documento, deve registrar o data TIME (Ex: 2023-08-19 11:10:12), o qual denominamos STAMP, que é uma das chaves do filtro. Esta informação é utilizada para que o CORE saiba qual o último horário para realizar nova busca (GET), por isso passamos no filtro e também é recebido no GET de Buscar a lista de pedidos de venda. Ex: no filtro GET o CORE passou 2023-08-19 11:10:12, assim devem ser enviados todos os documentos com time stamp >= que 2023-08-19 11:10:12. Supondo que na lista de documentos foi recebido o último registro recebido foi 2023-08-19 12:05:10, na próxima execução do GET, o filtro encaminhado será 2023-08-19 12:05:11.
Dica: Utilize os campo “dadosexternos” para guardar a sua chave ou ID do seu documento. A integração CORE, mesmo usando as chaves do WMS, recebe e devolve estas informações em todas as transações, para que seja possível na api do ERP usar a chave usual, mitigando as adaptações de desenvolvimentos.
| filter | string Exemplo (dtcriacao gt '20220614') para obter a lista ou (ordemproducao eq '11728701001' and produto eq '000000101940A') para buscar completo |
| tenantId | string Exemplo '01,05' ou seja 'grupo,filial' |
{- "items": [
- {
- "ordemProducao": "string",
- "skus": [
- {
- "codigoBarras": [
- "789125387111747",
- "123456789012345"
], - "descricao": "string",
- "quantidadeUnidadesProduto": 0,
- "peso": 0,
- "fracionado": "string",
- "imprimeEtiqueta": "string"
}
], - "caracteristicasEstoque": {
- "lote": "string",
- "dataValidade": "string",
- "numeroSerie": "string",
- "documentoOrigem": "string"
}, - "tipoEstoque": {
- "codigoArmazem": "string",
- "descricaoArmazem": "string"
}, - "produto": "string",
- "quantidade": 0,
- "saldo": 0,
- "unidadeMedida": "string",
- "sequencia": "string",
- "categoria": "string",
- "filial": "string",
- "descricao": "string",
- "subtipoFluxoProcesso": "string",
- "enderecoProducao": "string",
- "referenciaProducao": "string"
}
], - "hasNext": true
}O processo de finalização da separação de requisição é disparado do WMS Saas ao ERP depois da baixa de estoque do produto.
| tenantId | string Example: T1,D MG 01 |
| ordemProducao | string Código da ordem de produção |
Array of objects items |
{- "ordemProducao": "string",
- "produtos": [
- {
- "sequencia": "string",
- "codigo": "string",
- "armazem": "string",
- "quantidade": 0,
- "lote": "string",
- "dataValidade": "string"
}
]
}{- "message": "string"
}O WMS atende os fluxos de manufatura para produtos acabados, nomeado de Entrada de produção e as requisições, que pode ser os atendimentos das matérias primas para o abastecimento da linha de produção e as devoluções que podem ser consideradas os retornos dessas requisições ou até mesmo sobras de matérias primas da linha de volta para o almoxarifado.
O fluxo de requisição e retornos, podem ser também utilizados para movimentações de saídas e entradas internas no WMS, como por exemplo uma transferência entre depósitos, requisição de estoque, etc.
Para gerar os processo de devolução, devem ser utilizadas as APIs:
O GET Buscar lista dos documentos de devolução a serem integrados, realiza a busca dos documentos que foram disponibilizadas para integração, gerando uma fila de demandas que devem ser integradas.O CORE está parametrizado para executar em frações de tempo o GET, a qual deve retornar os documentos disponíveis para integração no formato definido no swagger. Esta etapa é denominada pré-fila e registra somente o cabeçalho das notas fiscais, buscando somente as notas disponibilizadas, conforme horário do STAMP.
É importante a API somente disponibilizar os documentos que não serão alterados quando liberados para integração, para evitar divergência de informações entre os sistemas.
Dica: Utilize os campo “dadosexternos” para guardar a sua chave ou ID do seu documento. A integração CORE, mesmo usando as chaves do WMS, recebe e devolve estas informações em todas as transações, para que seja possível na api do ERP usar a chave usual, mitigando as adaptações de desenvolvimentos.
A liberação para integração, deve registrar o data TIME (Ex: 2023-08-19 11:10:12), o qual denominamos STAMP, que é uma das chaves do filtro. Esta informação é utilizada para que o CORE saiba qual o ultimo horário para realizar nova busca (GET), por isso passamos no filtro e também é recebido no GET de Buscar a lista de documentos de recebimento. Ex: no filtro GET o CORE passou 2023-08-19 11:10:12, assim devem ser enviados todos os documentos com time stamp => que 2023-08-19 11:10:12. Supondo que na lista de documentos foi recebido o último registro recebido foi 2023-08-19 12:05:10, na próxima execução do GET, o filtro encaminhado será 2023-08-19 12:05:11.
| filter | string Exemplo (dtcriacao ge '20220614') para obter a lista ou (ordemproducao eq '11728701001' and produto eq '000000101940A') para buscar completo |
| tenantId | string Exemplo '01,05' ou seja 'grupo,filial' |
{- "statusCode": "string",
- "body": {
- "items": [
- {
- "dtCriacao": "string",
- "filial": "string",
- "ordemProducao": "string",
- "subtipoFluxoProcesso": "string",
- "referenciaProducao": "string"
}
], - "hasNext": true
}
}Os documentos recebidos pelo Buscar lista dos documentos de devolução a serem integrados geram uma fila de execução onde Buscar dados COMPLETOS do documento de Devolução é executado para buscar o documento por completo. O documento considerado completo, é composto pelo Cabeçalho + itens/sequências do documento. Este processo executa a geração de documento no WMS, onde se casos o WMS retorne algum erro, este registro é apresentado no Monitor de integração, embedado no WMS.
| ordemProducao required | string |
| tenantId | string Exemplo '01,05' ou seja 'grupo,filial' |
{- "dtCriacao": "string",
- "items": [
- {
- "skus": [
- {
- "codigoBarras": [
- "789125387111747",
- "123456789012345"
], - "descricao": "string",
- "quantidadeUnidadesProduto": 0,
- "peso": 0,
- "fracionado": "string",
- "imprimeEtiqueta": "string"
}
], - "caracteristicasEstoque": {
- "lote": "string",
- "dataValidade": "string",
- "numeroSerie": "string",
- "documentoOrigem": "string"
}, - "tipoEstoque": {
- "codigoArmazem": "string",
- "descricaoArmazem": "string"
}, - "produto": "string",
- "quantidade": 0,
- "unidadeMedida": "string",
- "sequencia": "string",
- "categoria": "string",
- "descricao": "string"
}
], - "filial": "string",
- "ordemProducao": "string",
- "subtipoFluxoProcesso": "string",
- "referenciaProducao": "string"
}O WMS atende os fluxos de manufatura para produtos acabados, nomeado de Entrada de produção e as requisições, que pode ser os atendimentos das matérias primas para o abastecimento da linha de produção e as devoluções que podem ser consideradas os retornos dessas requisições ou até mesmo sobras de matérias primas da linha de volta para o almoxarifado.
O fluxo de requisição e retornos, podem ser também utilizados para movimentações de saídas e entradas internas no WMS, como por exemplo uma transferência entre depósitos, requisição de estoque, etc.
Para gerar os processo de apontamento de produção, devem ser utilizadas as APIs:
Retorna todas as informações de apontamentos de produção para integração com o WMS Saas.
| filter | string Exemplo (dataEmissao gt '20231015' and status eq ' ') para obter a lista de apontamentos |
| tenantId | string Exemplo '01,05' ou seja 'grupo,filial' |
{- "items": [
- {
- "descricao": "string",
- "stamp": "string",
- "documento": "string",
- "skus": [
- {
- "codigoBarras": [
- "789125387111747",
- "123456789012345"
], - "descricao": "string",
- "quantidadeUnidadesProduto": 0,
- "peso": 0,
- "fracionado": "string",
- "imprimeEtiqueta": "string"
}
], - "caracteristicasEstoque": {
- "lote": "string",
- "dataValidade": "string",
- "numeroSerie": "string",
- "documentoOrigem": "string"
}, - "chave": 0,
- "tipoEstoque": {
- "codigoArmazem": "string",
- "descricaoArmazem": "string"
}, - "ordemProducao": "string",
- "referenciaProducao": "string",
- "apontamento": "string",
- "produto": "string",
- "quantidade": 0,
- "tipo": "string",
- "grupo": "string",
- "categoria": "string",
- "unidadeMedida": "string",
- "dataEmissao": "string",
- "tipoProduto": "string",
- "filial": "string",
- "origem": "string",
- "dadosExternos": "string",
- "subtipoFluxoProcesso": "string"
}
], - "hasNext": true
}Atualizar o status da produção no ERP para Integrado com o WMS Saas.
| producao required | string |
| tenantId | string Agrupador de filiais. Dexiar valor vazio caso não possuir. |
| dadosExternos | string (DadosExternos) Informação inerente ao processo, será trafegada nos retornos para o documento |
{- "dadosExternos": "string"
}{- "message": "string"
}Realizar o cancelamento do apontamento de produção no ERP.
| producao required | string |
| tenantId | string Agrupador de filiais. Dexiar valor vazio caso não possuir. |
| dadosExternos | string (DadosExternos) Informação inerente ao processo, será trafegada nos retornos para o documento |
{- "dadosExternos": "string"
}{- "message": "string"
}