API de integração WMS Control - Manual

Sumário

  1. Visão geral
    1. Topologia
      1. Requisições
    2. Autenticação
    3. Contato
  2. Serviços
    1. Enviar Produtos
    2. Enviar NF de Entrada
    3. Buscar Termo de FSA do recebimento da Nota Fiscal
    4. Enviar Pedido de Saída (Nota Fiscal de Saída)
    5. Buscar Retorno da Separação
    6. Enviar Estoque
    7. Buscar Estoque

Visão geral

Este documento descreve as características técnicas da API de integração com o WMS Control, módulo através do qual sistemas de terceiros conectam-se ao negócio WMS Control.

Topologia

Os serviços de integração são expostos através de uma interface HTTP em que os dados trafegam formatados em json. O pacote de funcionalidades está definido na camada de serviços.

Os serviços representam as requisições que partem dos sistemas de terceiros.

Antes de iniciar o uso efetivo dos serviços providos para camada de integração será necessário realizar a autenticação, onde deverão ser fornecidas as informações de acesso.

Requisições

Todas as requisições da API devem ser realizadas usando o método POST e seus parâmetros devem ser fornecidos no corpo da requisição como um objeto json. Deve-se observar que todos os nomes de parâmetros são case-sensitive, portanto, devem coincidir precisamente com o descrito nesta documentação.

Em boa parte dos cenários descritos na API se adota um modelo assíncrono, portanto, ao fim da requisição HTTP invocando de um dado serviço, ter-se-á como resposta da referida requisição uma indicação, de sucesso ou falha, de que o serviço em questão fora solicitado.

Todas as respostas das requisições HTTP adotam o objeto de retorno padronizado mostrado abaixo:

{ 
    status: 0,
    mensagem: "",
    dados: { token: "", expiraEm: "" }
}

Em que as propriedades possuem os seguintes significados:

Nome Descrição
status Indica o resultado da requisição, terá o valor 0 (zero) para indicar sucesso ou outro valor para indicar um erro.
mensagem Mensagem que descreve sucintamente alguma condição de erro.
dados Objeto que representa dados associados ao retorno específico da requisição, deste modo, sua forma eventualmente varia de acordo com cada requisição e estará detalhada na descrição de cada comando.

Autenticação

A API de integração WMS Control usa o esquema de autenticação HTTP comumente chamado de autenticação bearer. Neste modelo, o cliente da API precisará requisitar o serviço de autenticação fornecendo credencias válidas de acesso, conforme descrito adiante.

Url do serviço:

POST: /administracao/autenticar

Dados de entrada:

{ 
    usuario: "admin",
    senha: "admin"
}
Nome Descrição
usuario Login de um usuário devidamente cadastrado no WMS Control.
senha Senha literal do usuário do WMS Control.

Dados de saída:

{ 
    status: 0,
    mensagem: "",
    dados: { token: "", expiraEm: "" }
}

Caso a validação das credenciais de acesso sejam verificadas corretamente, será retornado um token de autenticação. A posse de um token válido permitirá que o cliente faça requisições aos demais serviços da API. Para tanto, será necessário introduzir o cabeçalho Authorization indicando o tipo Bearer e o token recebido anteriormente.

Authorization: Bearer token

O ambiente de teste deste comando pode ser acessado aqui.

Contato

Fortaleza – CE
Av. Dom Luis, 300 - Sala 1226 - Aldeota.
CEP: 60196-160
Telefone: +55 (85) 4102.0694

Solicitação de Integração

Esta documentação pode sofrer alterações à medida em que vão surgindo funcionalidades. Para solicitar a integração e homologação junto a LinkedBy, o interessado deve enviar e-mail ao daniel.araujo@mobweb.net.br, informando:

A partir dessa demanda, entraremos em contato com o Responsável Técnico e agendaremos os próximos passos.

Serviços

Esta seção apresenta os serviços disponíveis na API de integração com o WMS Control.

Enviar Produtos

Serviço para o envio de produtos ao WMS Control.

Url do serviço:

POST: /produtos/enviar_produtos

Dados de entrada:

{
    "cnpj":"11696563000182",
    "cnpjDepositario":"35457333000129",
    "cnpjDepositante":"11696563000182",
    "produtos":[
        {
            "codigo":"753443",
            "descricao":"LEITE EM PO NINHO 400 GR",            
            "unidadeCompra":"CX",            
            "unidadeVenda":"UN",
            "controlaValidade":"1",
            "controlaLote":"1",
            "controlaIMEI":"0",
            "shelfLife":"60",
            "vidaUtil":"360",
            "nivelMinimo":"0",
            "nivelMaximo":"6",
            "kit":"0",
            "codigoFabricante":"",
            "nomeFabricante":"",
            "sku":[
               {
                    "unidade":"UN",
                    "fator":"1",
                    "codigoBarra":"7898918452987",
                    "pesoLiquido":"2,4",
                    "pesoBruto":"2,6",
                    "altura":"15,62",
                    "largura":"10,15",
                    "comprimento":"2",
                    "lastroPalete":"6",
                    "alturaPalete":"5"
               },
               {
                    "unidade":"CX",
                    "fator":"24",
                    "codigoBarra":"7898918452986",
                    "pesoLiquido":"2,4",
                    "pesoBruto":"2,6",
                    "altura":"15,62",
                    "largura":"10,15",
                    "comprimento":"2",
                    "lastroPalete":"6",
                    "alturaPalete":"5"
               }
               ]
        }
    ]
}

Dados dos Produtos

Nome Valor Aceito Descrição
cnpj string(14) CNPJ do depositante devidamente cadastrado no WMS Control. (Substituir por cnpjDepositante)
cnpjDepositario string(14) CNPJ do déposito no WMS Control.
cnpjDepositante string(14) CNPJ do depositante devidamente cadastrado no WMS Control.
codigo string(30) Código INTERNO do produto (utilizado no ERP do depositante).
descricao string(200) Descrição da mercadoria.
unidadeCompra string(3) Sigla para unidade de compra do produto junto ao fornecedor.
unidadeVenda string(3) Sigla para unidade de venda do produto que será enviado no documento de saída (Nota Fiscal de Saída).
controlaValidade 1 ou 0 Indica se controla validade. 1 para sim, 0 para não.
controlaLote 1 ou 0 Indica se controla Lote. 1 para sim, 0 para não.
controlaIMEI 1 ou 0 Indica se controla IMEI (Número de Série). 1 para sim, 0 para não.
shelfLife integer Quantidade de dias de Vida útil restante (opcional).
vidaUtil integer Quantidade de dias para data de vencimento do produto (opcional).
nivelMinimo integer Indica se irá controlar o menor nível de armazenagem do produto (opcional).
nivelMaximo integer Indica se irá controlar o maior nível de armazenagem do produto (opcional).
kit 1 ou 0 Indica se irá o produto é do tipo KIT. 1 para sim, 0 para não.
codigoFabricante string(20) Código do Fabricante (opcional).
nomeFabricante string(100) Nome do Fabricante (opcional).

Dados das Embalagens (SKU´s)

Nome Valor Aceito Descrição
unidade string(20) Embalagem (Ex: UN - unidade, PC - Peça, CX - Caixa.).
fator integer Quantidade da mercadoria na embalagem.
codigoBarra string(30) Código de barras.
pesoLiquido float Peso Líquido em Kg.
pesoBruto float Peso Bruto em Kg.
altura float Altura da embalagem.
largura float Largura da embalagem.
comprimento float Comprimento da embalagem.
lastroPalete integer Lastro da Paletização (itens por camada).
alturaPalete integer Empilhamento máximo da Paletização.

Ambiente de Teste

O ambiente de teste deste serviço pode ser acessado aqui.

Enviar NF de Entrada

Serviço para o envio da nota fiscal de entrada ao WMS Control.

Url do serviço:

POST: /nf/enviar_nf_entrada

Dados de entrada:

{
    "documentoEntrada": {
        "cnpjDepositario":"35457333000129",
        "cnpjDepositante":"18983263000557",
        "cnpjRemetente":"94516671000153",
        "observacao":"N.F.: 459607",
        "tipoDestinatario":"2",
        "tipoEntrada":"0",
        "numeroNotaFiscal":"720993",
        "serieNotaFiscal":"2",
        "dataEmissao":"02/02/2021",
        "valorTotalNotaFiscal":"1012,20",
        "numeroPedido":"344442",
        "chaveNotaFiscal":"35290394516671000153550020004596071023377876",
        "itens":[
            {
            "sequencial":"1",
            "codigoProduto":"645343",
            "quantidade":"400",
            "valorItem":"250,00",
            "unidade":"CX",
            "deposito":"100"
            },
            {
            "sequencial":"2",
            "codigoProduto":"11343",
            "quantidade":"100",
            "valorItem":"1100,00",
            "unidade":"UN",
            "deposito":"200"
            }
        ]
    }
}

Dados da Nota Fiscal

Nome Valor Aceito Descrição
cnpjDepositario string(14) CNPJ do déposito no WMS Control.
cnpjDepositante string(14) CNPJ do depositante devidamente cadastrado no WMS Control.
cnpjRemetente string(14) CNPJ do remetente (Fornecedor).
observacao string(200) Observação resumida do DP ( Nome Fornecedor + CGC Reme) – Compatibilidade CORPEM.
tipoDestinatario 1, 2 ou 3 Ver detalhamento no tópico abaixo (Informações adicionais do Tipo Destinatário N.F).
tipoEntrada 0 ou 1 Indica se a nota fiscal é de devolução ou Entrada Normal (1 NOTA DE DEVOLUÇÃO , 0 NOTA NORMAL).
numeroNotaFiscal string(20) Número da nota fiscal.
serieNotaFiscal string(3) Série da nota fiscal.
dataEmissao data Data e Hora de emissão da nota fiscal. (DD/MM/AAAA)
valorTotalNotaFiscal float Valor total da nota fiscal.
numeroPedido string(50) Número do pedido (deve ser único) (opcional).
chaveNotaFiscal string(50) Chave da nota fiscal eletrônica.

Dados dos Itens da NF

Nome Valor Aceito Descrição
sequencial integer Número de sequência no item da nota fiscal.
codigoProduto string(50) Código do produto.
quantidade integer Quantidade do produto.
valorItem float Valor do unitário do produto (Item da nota fiscal).
unidade string(20) Embalagem (Ex: UN - unidade, PC - Peça, CX - Caixa).
deposito string(20) Depósito (opcional).

Informações adicionais do Tipo Destinatário N.F

Armazém - (1)

Cliente - Normal - (2)

Cliente - Entrada - (3)

Ambiente de Teste

O ambiente de teste deste serviço pode ser acessado aqui.

Buscar Termo de FSA do recebimento da Nota Fiscal

Busca do termo de Falta/Sobra/Avaria do recebimento da Nota Fiscal.

Url do serviço:

GET: /nf/termo_fsa_nf/[chaveNotaFiscal]

Dados de saída:

{
  "status": 0,
  "dados": {
    "chaveNotaFiscal": "35190394516671000153550020004596081023377806",
    "numeroNotaFiscal":"720993",
    "serieNotaFiscal":"2",
    "itens": [
      {
        "sequencial": 1,
        "codigo": "21100",
        "quantidade": 100,
        "avaria": 1,
        "falta": 1,
        "sobra": 0,
        "dataValidade": "2021-05-06T00:00:00-03:00",
        "lote": "24131A001",
        "numeroSerie": "",
        "deposito": ""
      }
    ]
  }
}

Dados do Cabeçalho

Nome Valor Aceito Descrição
chaveNotaFiscal string(50) Chave da nota fiscal eletrônica importada na integração Enviar NF de Entrada.
numeroNotaFiscal string(20) Número da nota fiscal.
serieNotaFiscal string(3) Série da nota fiscal.

Dados dos Itens

Nome Valor Aceito Descrição
sequencial integer Sequencial do item da Nota.
codigo string(30) Código do produto.
quantidade integer Quantidade total do produto.
avaria integer Quantidade de avarias no recebimento.
falta integer Quantidade de faltas no recebimento.
sobra integer Quantidade de sobras no recebimento.
dataValidade DateTime Data de validade (opcional).
lote string(20) Lote (opcional).
numeroSerie string(100) Quantidade número série (opcional).
deposito string(10) Depósito (opcional).

Ambiente de Teste

O ambiente de teste deste serviço pode ser acessado aqui.

Enviar Pedido de Saída (Nota Fiscal de Saída)

Serviço para o envio da nota fiscal de saída ao WMS Control.

Url do serviço:

POST: /nf/enviar_nf_saida

Dados de entrada:

{
    "documentoSaida": {
        "cnpjDepositario":"35457333000129",
        "cnpjDepositante":"18983263000557",
        "cnpjEmitente":"18983263000557",
        "observacaoPedido":"",
        "observacaoManifesto":"",
        "pedidoCliente":"AX947363",
        "pedidoRCA":"",
        "valorTotal":"23314,40",
        "cnpjClienteDestino":"74653769000172",
        "nomeCliente":"TRES IRMAOS LTDA",
        "cepCliente":"55660000",
        "ufCliente":"SP",
        "codIBGECliente":"3550308",
        "municipioCliente":"São Paulo",
        "bairroCliente":"Santana",
        "logradouroCliente":"RUA CONSELHEIRO MOREIRA DE BARROS,",
        "numeroEnderecoCliente":"200",
        "complementoEndCliente":"",
        "tipoFrete":"C",
        "codigoVendedor":"032",
        "nomeVendedor":"Antonio (e-Commerce)",
        "dataInclusaoPedido":"01/03/2020 10:02:00",
        "dataLiberacaoPedido":"01/03/2020 12:35:00",
        "dataEntregaPedido":"01/03/2020 12:35:00",
        "emailCliente":"contato@teste.com",
        "dddCliente":"44",
        "foneCliente":"123456789",
        "chaveNotaFiscal":"63765954838674836473647346354635645365463873873857",
        "itens":[
            {
                "sequencial":"1",
                "codigoProduto":"436567",
                "quantidade":"50",
                "lote":"",
                "deposito":"100"
            },
            {
                "sequencial":"2",
                "codigoProduto":"576465",
                "quantidade":"10",
                "lote":"",
                "deposito":"200"
            }
        ]
    }
}

Dados do Cabeçalho da NF de Saída

Nome Valor Aceito Descrição
cnpjDepositario string(14) CNPJ do déposito no WMS Control.
cnpjDepositante string(14) CNPJ do depositante devidamente cadastrado no WMS Control.
cnpjEmitente string(14) CNPJ do depositante devidamente cadastrado no WMS Control. (Substituir por cnpjDepositante)
observacaoPedido string(14) Observação do pedido (opcional).
observacaoManifesto string(200) Observação apresentada no manifesto de separação (opcional).
pedidoCliente string(20) Número do pedido.
pedidoRca string(50) Número pedido RCA (compatibilidade CORPEM) (opcional).
valorTotal float Valor total do pedido.
cnpjClienteDestino string(14) CNPJ Cliente (cliente do pedido).
nomeCliente string(200) Nome/Razão Social do cliente. (Preencher com "LGPD" se necessário)
cepCliente string(8) CEP do endereço de destino. (Preencher com "LGPD" se necessário)
ufCliente string(2) UF do endereço de destino. (Preencher com "LGPD" se necessário)
codIBGECliente string(7) Código do IBGE referente ao município de destino (Preencher com "LGPD" se necessário).
municipioCliente string(100) Município do endereço de destino. (Preencher com "LGPD" se necessário)
bairroCliente string(100) Bairro do endereço de destino. (Preencher com "LGPD" se necessário)
logradouroCliente string(100) Logradouro do endereço de destino. (Preencher com "LGPD" se necessário)
numeroEnderecoCliente string(6) Número do endereço de destino. (Preencher com "LGPD" se necessário)
complementoEndCliente string(50) Complemento do endereço de destino. (Preencher com "LGPD" se necessário)
tipoFrete C ou F Tipo do Frete CIF ou FOB.
codigoVendedor string(20) Código do vendedor (compatibilidade CORPEM).
nomeVendedor string(100) Nome do vendedor (compatibilidade CORPEM).
dataInclusaoPedido DateTime Data e hora (timestamp) da inclusão do pedido no ERP.
dataLIberacaoPedido DateTime Data e hora (timestamp) da liberação do pedido no ERP.
dataEntregaPedido DateTime Data de previsão de entrega do pedido.
emailCliente string(200) Email do cliente (para rastreamento). (Preencher com "LGPD" se necessário)
dddFoneCliente string(2) DDD do telefone do cliente para o rastreamento de pedidos. (Preencher com "LGPD" se necessário)
foneCliente string(50) Telefone do cliente para rastreamento dos pedidos. (Preencher com "LGPD" se necessário)
chaveNotaFiscal string(50) Chave da NFe.

Dados dos Itens da NF de Saída

Nome Valor Aceito Descrição
sequencial integer Número sequencial do item no pedido.
codigoProduto string(30) Código do produto.
quantidade integer Quantidade do item no pedido.
lote string(100) Lote de fabricação (opcional).
deposito string(10) Depósito (opcional).

Ambiente de Teste

O ambiente de teste deste serviço pode ser acessado aqui.

Buscar Retorno da Separação

Busca retorno da separação.

Url do serviço:

GET: /produtos/retorno_separacao/cnpj/[cnpjDepositante]/pedido/[numeroPedido]

Dados de saída:

{
    "status": 0,
    "dados": {
        "cnpjDepositante": "35457333000129",
        "numeroPedido": "DC - 3",
        "especie": "caixa",
        "pesoVolumes": 20.3,
        "quantidadeVolumes": 2,
        "cnpjTransportador": "",
        "itens": [
            {
                "sequencial": 1,
                "codigo": "563992",
                "codigoBarras": "01234567891011121314",
                "quantidade": 10,
                "quantidadeAtendida": 9,
                "lote": "74655353E83",
                "dataValidade": "2021-08-01T00:00:00",
                "numeroSerie": "",
                "deposito": "100"
            }
        ]
    }
}

Dados do Cabeçalho

Nome Valor Aceito Descrição
cnpjDepositante string(14) CNPJ do depositante devidamente cadastrado no WMS Control.
numeroPedido string(50) Numero do pedido.
especie string(50) Embalagem padrão dos volumes (Ex: Caixa).
pesoVolumes float Peso total dos volumes em Kg.
quantidadeVolumes integer Quantidade de volumes do pedido.
cnpjTransportador string(14) CNPJ da transportadora (opcional).

Dados dos Itens

Nome Valor Aceito Descrição
sequencial integer Número sequencial do item no pedido
codigo string(30) Código do produto
codigoBarras string(20) Codigo de Barras.
quantidade integer Quantidade do item no pedido
quantidadeAtendida integer Quantidade conferida do item do pedido
lote string(100) Lote de Fabricação do produto separado (opcional)
dataValidade DateTime Data de validade do produto separado (opcional)
pesoSeparado float Peso para produtos de peso variável (opcional)
numeroSerie string(100) Número de série do produto separado (opcional)
deposito string(10) Depósito (opcional)

Ambiente de Teste

O ambiente de teste deste serviço pode ser acessado aqui.

Enviar Estoque

Serviço para o envio dos dados do Estoque ao WMS Control.

Url do serviço:

POST: /produtos/enviar_estoque

Dados de entrada:

{
    "estoque": [
        {
            "cnpjDepositante":"10584607000110",
            "codigo":"101824",
            "codigoBarras": "01234567891011121314",
            "quantidade":"5000",
            "unidade":"Un",
            "dataValidade":"",
            "lote":"",
            "deposito":"100"
        },
        {
            "cnpjDepositante":"10584607000110",
            "codigo":"673382",
            "codigoBarras": "01234567891011121314",
            "quantidade":"1997",
            "unidade":"Un",
            "dataValidade":"",
            "lote":"",
            "deposito":"100"
        }
    ]
}

Dados

Nome Valor Aceito Descrição
cnpjDepositante string(14) CNPJ do Cliente WMS (CNPJ do Armazém).
codigo string(50) Codigo do Produto.
codigoBarras string(20) Codigo de Barras.
quantidade integer Quantidade.
unidade string(20) Unidade.
dataValidade DateTime Data de Validade (opcional).
lote string(14) Lote (opcional).
deposito string(10) Deposito (opcional).

Ambiente de Teste

O ambiente de teste deste serviço pode ser acessado aqui.

Buscar Estoque

Serviço para busca dos dados do Estoque no WMS Control.

Url do serviço:

GET: /produtos/buscar_estoque/cnpj/[cnpjDepositante]

Dados de saída:

{
  "status": 0,
  "dados": {
    "estoque": [
      {
        "cnpjDepositante": "10584607000110",
        "codigo": "101824",
        "codigoBarras": "01234567891011121314",
        "quantidade": 5000,
        "unidade": "Un",
        "dataValidade": ""
        "lote": "",
        "deposito": "100"
      }
    ]
  }
}

Dados

Nome Valor Aceito Descrição
cnpjDepositante string(14) CNPJ do Cliente WMS (CNPJ do Armazém).
codigo string(50) Codigo do Produto.
codigoBarras string(20) Codigo de Barras.
quantidade integer Quantidade.
unidade string(20) Unidade.
dataValidade DateTime Data de Validade (opcional).
lote string(14) Lote (opcional).
deposito string(10) Deposito (opcional).

Ambiente de Teste

O ambiente de teste deste serviço pode ser acessado aqui.