Skip to main content

Visão Geral

A API de Documentos de Entrada do WMS foi desenvolvida para receber informações de sistemas externos e transformar esses dados em registros estruturados dentro do processo de recebimento do armazém. Seu objetivo é permitir a integração padronizada de documentos de entrada, centralizando no backend toda a validação, normalização e persistência das informações. Com isso, a integração não depende de regras no front-end e garante maior consistência operacional. A integração segue o conceito de processamento em lote, permitindo o envio de um ou mais documentos na mesma requisição, com retorno estruturado por item processado. Método HTTP: POST /v1/documentos-entrada

Headers

NomeValor
Content-Typeapplication/json
AuthorizationBearer <token>

Campos

Documento

NomeTipoDescrição
codigostringCódigo ou Numero
tipostringnfe ou op
seriestringSérie do documento
data_emissaostringformato yyyy-mm-ddd

Emitente

NomeTipoDescrição
codigostringcodigo interno do erp
nomestringNome ou razão social do destinatário
documentostringCNPJ ou CPF do destinatário
tipo_pessoastringjuridica ou fisica
endereco.logradourostringNome da rua / avenida
endereco.numerostringNúmero do endereço
endereco.bairrostringBairro
endereco.cidadestringCidade
endereco.ufstringUF (sigla do estado)
endereco.cepstringCEP no formato 00000-000

Destinatário

NomeTipoDescrição
codigostringcodigo interno do erp
nomestringNome ou razão social do destinatário
documentostringCNPJ ou CPF do destinatário
tipo_pessoastringjuridica ou fisica
endereco.logradourostringNome da rua / avenida
endereco.numerostringNúmero do endereço
endereco.bairrostringBairro
endereco.cidadestringCidade
endereco.ufstringUF (sigla do estado)
endereco.cepstringCEP no formato 00000-000

Itens [array]

NomeTipoDescrição
sequencialstringNúmero da Nota Fiscal de Entrada
produtojsonCodigo do produto ou dados
lotesringLote do item
data_validadesringformato yyyy-mm-ddd
quantidadenumberQuantidade do produto
valor_unitarionumberValor unitário do produto

Produto

NomeTipoDescrição
codigostringCódigo do produto
descricaostringDescrição do produto
tipostringS ou L (Sólido ou Líquido
unidade_medidastringCX, LT, BD,BB
peso_brutonumberPeso Bruto unitário do produto
peso_liquidonumberPeso Líquido unitário do produto
peso_cubadonumberPeso Cubado unitário do produto
valor_unitarionumberValor unitário do produto

Exemplo

[
	{
		"documento": {
			"codigo": "NF987654",
			"tipo": "nfe",
			"serie": "1",
			"data_emissao": "2026-02-02"
		},
		"emitente": {
			"codigo": "EMIT0001",
			"nome": "EMPRESA EMBARCADORA LTDA",
			"documento": "55.444.333/0001-22",
			"tipo_pessoa": "juridica",
			"endereco": "Av. Central",
			"numero": "500",
			"bairro": "Centro",
			"cidade": "Curitiba",
			"uf": "PR",
			"cep": "80010-000"
		},
		"destinatario": {
			"codigo": "DEST0001",
			"nome": "AG LOGISTICA SUL",
			"documento": "98.765.432/0001-11",
			"tipo_pessoa": "juridica",
			"endereco": "Rodovia BR-116",
			"numero": "KM 150",
			"bairro": "Zona Rural",
			"cidade": "Caxias do Sul",
			"uf": "RS",
			"cep": "95010-000"
		},
		"itens": [
			{
				"sequencial": 1,
				"produto": {
					"codigo": "PROD-COMPANHIA-01",
					"descricao": "Produto COMPANHIA",
					"tipo": "S",
					"unidade_medida": "UN",
					"peso_bruto": 12.5,
					"peso_liquido": 12.0,
					"peso_cubado": 0.08
				},
				"lote": "CL20260202",
				"data_validade": "2026-06-20",
				"quantidade": 200,
				"valor_unitario": 5.30
			},
			{
				"sequencial": 2,
				"produto": {
					"codigo": "PROD-COMPANHIA-02",
					"descricao": "Produto COMPANHIA 02",
					"tipo": "S",
					"unidade_medida": "CX",
					"peso_bruto": 8.0,
					"peso_liquido": 7.5,
					"peso_cubado": 0.05
				},
				"lote": "CL20260203",
				"data_validade": "2026-07-15",
				"quantidade": 50,
				"peso_bruto": 400,
				"peso_liquido": 375,
				"peso_cubado": 2.5,
				"valor_total": 425.00
			}
		]
	}
]
{
	"ok": true,
	"status": 200,
	"message": "Integração de documentos de entrada processada",
	"resultado": [
		{
			"ok": true,
			"acao": "update",
			"indice": 0,
			"status": 200,
			"emitente_id": "8d10b4f4-fdce-4a0f-ab15-d6c8781aefaf",
			"valor_total": 1485,
			"documento_id": "fea86313-a5bc-40d4-8b73-18359d68a9cc",
			"destinatario_id": "bf74cf56-3b79-4a15-8f7d-b9e6cbd8f2e1",
			"documento_codigo": "NF987654",
			"peso_bruto_total": 2900,
			"itens_processados": 2,
			"peso_cubado_total": 18.5,
			"peso_liquido_total": 2775
		}
	],
	"processados": 1
}

Erros comuns

CódigoMensagemCausa Provável
400Campos obrigatórios ausentesCampo obrigatório não enviado no payload, como
documento.codigo, documento.tipo, documento.data_emissao,
emitente.nome, destinatario.nome ou itens sem produto.codigo e quantidade
400Tipo de documento inválidoValor de documento.tipo diferente dos aceitos pela API. Para entrada: nfe ou op
401Sessão inválidaToken Bearer ausente, inválido, expirado ou não reconhecido
500Erro interno ao processar entradaFalha inesperada no processamento da RPC, normalmente causada por inconsistência de dados, relacionamento inválido ou estrutura incompleta no banco
  • Se o produto, emitente ou destinatário ainda não existir, será criado automaticamente vinculado à empresa.
  • A função respeita as RLS policies para garantir que o usuário só altere dados da empresa à qual está vinculado.