API para integração com o e-Millennium

Modelo de integração, contendo os detalhes sobre nossa API no padrão ODATA que permite conversar utilizando REST, JSON, utilizado no e-Millennium.

O Servidor de aplicação Millennium (wtsBroker) é um serviço que permite a invocação de procedimentos de negócios (chamados de transações) executando em um computador servidor por um programa client. A plataforma Millennium é totalmente construída com base neste servidor, ou seja, não se trata de um recurso feito apenas para permitir integrações. Por isto, o servidor é escalável e provado, provendo um grande número de funções disponíveis que podem ser chamadas pelas APIs disponíveis.

Para permitir a chamada das funções expostas pelo servidor Millennium por qualquer linguagem de programação do Windows, a Millennium desenvolveu um componente ActiveX capaz de manipular e invocar as transações no servidor de aplicações por meio de TCP/IP utilizando um protocolo extremamente compacto e eficiente. A versão 2.0 do SDK possui também um gateway que permite a comunicação via OData/REST com o servidor. Este protocolo utiliza apenas padrões abertos da internet, permitindo a qualquer linguagem capaz de fazer chamadas HTTP acesso às funções do servidor. Qualquer nova integração deve utilizar a API OData/REST.

Devido ao grande volume de chamadas disponíveis na aplicação Millennium, foram desenvolvidas algumas bibliotecas específicas, com chamadas mais concisas, especializadas em certas áreas. Neste documento trataremos do MILLENIUM_LOG, que foi desenvolvido para integrações onde o pré-faturamento de venda é capturado externamente ao MILLENNIUM. Este cenário é típico de integrações WMS, mas pode também ser utilizados em outros cenários como integração com coletores de dados ou qualquer outro dispositivo.

A biblioteca Millenium_Log foi desenvolvida especialmente para facilitar o uso por integradores com a plataforma Millennium. Esta biblioteca expõe apenas métodos especializados em tarefas comuns de integração como:

  • Leitura de notas referentes a entradas e saídas
  • Leitura de produtos com suas características
  • Leitura de Geradores (Clientes e Transportadoras)
  • Leitura e Manutenção das separações
  • Solicitação de Faturamento automático
  • Consulta de XML
  • Contagem de estoque por meio de inventário
Para evitar problemas de sincronização, recomendamos o armazenamento do número da última transação lida diretamente dos registros retornados. Isto é possível porque os métodos retornam e são ordenados pelo campo TRANS_ID. Desta forma é apenas necessário armazenar o valor do último registro lido e repassá-lo à consulta na próxima vez.
Além de limitar a lista dos registros antigos, é possível utilizar a opção QTD_ITENS nas chamadas para limitar o número de registros retornados. Esta forma de leitura é importante porque equilibra o processamento em lotes menores entre o servidor e sua aplicação. Os métodos que suportam controle de mudança são:

  • RECEBIMENTO.ListaNotas
  • PRODUTOS.Listar
  • GERADORES.ListaTransportadoras
  • GERADORES.ListaFornecedores
  • GERADORES.ListaClientes
Para isto é utilizada a chamada Produtos.Listar. Os parâmetros Trans_id e Qtd_itens devem ser utilizados conforme o padrão demonstrado no tópico 2.1, este método lista as informações relacionadas aos produtos como Código, SKU (Composto por código do produto, cor, estampa e tamanho), Quantidade_caixa, Unidade, Descrição etc.
Para isto é utilizada a chamada do Objeto Geradores. Os parâmetros Trans_id e Qtd_itens devem ser utilizados conforme o padrão demonstrado no tópico 2.1. Método possui retorno dos cadastros de clientes, fornecedores e transportadoras.
Os recebimentos são obtidos através do método RECEBIMENTO.ListaNotas que não possui identificadores obrigatórios, ao executar o método serão obtidas informações das notas fiscais com seus produtos e quantidades. Durante o processo de leitura o método Recebimento.EmProcesso deve ser executado informando o parâmetro IDNFE para marcar o recebimento com o status em processo, após o passo de “Em Processo” ser informado o método Recebimento.Finaliza deve ser executado com os parâmetros IDNFE e PRODUTOS para informar a integração que o recebimento desta nota já foi executado excluindo o recebimento da fila.
Este objeto se destina ao picking de novos pré-faturamentos, conferencia, faturamento e envio do rastreamento através dos métodos listados abaixo.

2.5.1 ListaNovos

Método Picking.ListaNovos possui como função a listagem dos pré-faturamentos que podem ser conferidos, não possui identificadores e ao executa-lo teremos como retorno o número da separação, CNPJ ou CPF do cliente e array de produtos que pertencem a este pré-faturamento.

2.5.2 EmProcesso

Método Picking.EmProcesso tem a função de marcar o pré-faturamento como em conferencia, após a execução deste método que possui como parâmetro o campo “NUMERO” que deve receber o número da separação obtido através do método Picking.ListaNovos o pré-faturamento não será mais exibido no método de listagem e informará o usuário através do monitor que a separação já está em processamento.

2.5.3 Finaliza Conferência

Método Picking.FinalizaConferencia tem como função a finalização da conferência e a autorização para execução do faturamento, possui como parâmetro número da separação, array de produtos obtidos através do método Picking.ListaNovos e array de volumes.

2.5.4 Cancela Conferência

Método Picking.CancelaConferencia tem como finalidade o cancelamento da conferencia da separação, possui como parâmetro o número da separação em questão.

2.5.5 Faturar

Método Picking.Faturar destina-se a solicitação do faturamento pelo sistema, tem como identificador o campo NUMERO que deve ser o número da separação obtido através do método Picking.ListaNovos, método tem como resultado o XML e Status de NFE caso já esteja disponível.

2.5.6 Solicita XML

Método Picking.SolicitaXML tem como função o retorno do XML e Status da NFE caso esteja disponível, possui como parâmetro o campo número da separação.

2.5.7 Envia Rastreamento

Método Picking.EnviaRastreamento tem como função o recebimento do código de rastreio, possui como parâmetros os campos NUMERO e NUMERO_OBJETO onde o campo NUMERO está relacionado ao campo número da separação obtido através do método Picking.ListaNovos.

Permite contagem de inventário já cadastrado no sistema através dos métodos disponíveis abaixo.

2.6.1 Lista Novos

Método Picking.ListaNovos tem como função listar as contagens abertas em poder de terceiros, método não possui parâmetros e tem como resultado número, descrição e array de produtos da contagem.

2.6.2 Em Processo

Método Inventario.EmProcesso, marca inventário cadastrado no sistema Millennium como “Em contagem”, possui como parâmetro o campo NUMERO que representa o Número da contagem e é obtido através da execução do método Picking.ListaNovos.

2.6.3 Finaliza

Método Inventario.Finaliza tem como função finalizar a contagem do inventário em questão, possui como parâmetros os campos NUMERO, DATA_HORA_CONTAGEM e array de produtos que devem possuir a quantidade da contagem.

Baixe Documentação Completa

Servidor de Teste

Todos os nossos métodos para integração estão disponíveis e atualizados online em uma instância de integração que permite iniciar os testes de integração imediatamente.

Servidor de Testes

Que tal uma coleção de exemplos prontos de nossa API?

Instale a extensão do Google Chrome – Postman:

Instale o Postman

Após instalar o Postman, importe a nossa Collection para ver os exemplos.

É bem simples, Copie e cole esse endereço https://www.getpostman.com/collections/f015d4034ca5ad30e01c na Opção “Import a Collection” disponível no Postman, conforme figura abaixo:

collection_tela-300x213