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.
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.
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. |
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.
Fortaleza – CE
Av. Dom Luis, 300 - Sala 1226 - Aldeota.
CEP: 60196-160
Telefone: +55 (85) 4102.0694
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.
Esta seção apresenta os serviços disponíveis na API de integração com o WMS Control.
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) | |
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.
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.
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.
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) | |
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.
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.
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.
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.