Cadastros
Clientes, produtos, transportadoras e perfis fiscais.
Cadastros reutilizáveis na emissão. Use o IBGE do CEP — não invente município. CRT 1/2 → csosn; CRT 3 → cst.
Clientes
cMun é opcional se houver UF+cidade ou CEP (resolvido na base IBGE). Na emissão você também pode mandar o cliente inline em POST /v1/nfe (customer) — upsert por CPF/CNPJ, sem duplicar.
GET
/v1/customersPOST
/v1/customersPUT
/v1/customers/:idPOST /v1/customersjson
{
"nome": "Cliente Exemplo LTDA",
"cpfCnpj": "00000000000191",
"tipoPessoa": "J",
"endereco": {
"logradouro": "Rua Exemplo",
"numero": "100",
"bairro": "Centro",
"cMun": "4106902",
"xMun": "Curitiba",
"UF": "PR",
"CEP": "80010000"
}
}Produtos
Peso é opcional, em kg por unidade. Um campo só: peso. Os dois: pesoLiquido / pesoBruto. Na NF-e com frete, vira soma nos volumes.
GET
/v1/productsPOST
/v1/productsPUT
/v1/products/:idPOST /v1/productsjson
{
"codigo": "SKU-001",
"descricao": "PRODUTO TESTE",
"ncm": "61091000",
"cfop": "5102",
"valorUnitario": 150.00,
"unidade": "UN",
"origem": 0,
"csosn": "102",
"peso": 0.85
}Transportadoras
Cadastro para o bloco de transportadora da NF-e. Modalidade: modFrete / modalidadeFrete (9 = sem frete). Custo: valorFrete na nota.
GET
/v1/carriersPOST
/v1/carriersDELETE
/v1/carriers/:idExemplojson
{
"razaoSocial": "Logística Rápida LTDA",
"cnpjCpf": "00000000000191",
"ie": "123456789",
"uf": "SP"
}Perfis fiscais
Geram regras (CSOSN/CFOP/PIS/COFINS) por segmento. Na emissão, informe fiscalProfileId no item. Exclusão é soft-delete.
GET
/v1/fiscal-profilesPOST
/v1/fiscal-profilesPUT
/v1/fiscal-profiles/:idPOST
/v1/fiscal-profiles/seed-defaultsPUT /v1/fiscal-profiles/:idjson
{
"nome": "Venda Geral (Revenda)",
"segmento": "revenda",
"paraConsumidorFinal": false,
"descricao": "Vendas interestaduais de mercadoria"
}