Novas Funcionalidades
Extrato Bancário
Foram adicionados novos endpoints para gerenciar os extratos bancários importados. Com esses endpoints, é possível:- GET /extratos-bancarios - Listar extratos importados com paginação e filtros
- Filtros disponíveis: nome do arquivo, data inicial, data final, conta financeira
- GET /extratos-bancarios/{idExtratoBancario} - Obter os detalhes de um extrato e suas movimentações
- Cada movimentação informa a situação (pendente, ignorado, adicionado ao caixa ou vinculado a duplicata) e o lançamento de caixa conciliado, quando existir
- POST /extratos-bancarios - Importar um arquivo de extrato bancário (OFX ou XML) em uma conta financeira
- Arquivo enviado como multipart/form-data
- Retorna o ID do extrato criado
- DELETE /extratos-bancarios/{idExtratoBancario} - Excluir um extrato importado e todas as suas movimentações
- A exclusão não estorna conciliações já realizadas
Conciliação das Movimentações
- POST /extratos-bancarios/{idExtratoBancario}/movimentacoes/{idMovimentacao}/vinculo-conta - Conciliar uma movimentação com uma ou mais contas a pagar ou a receber, baixando as contas
- Suporta baixa parcial e os campos valor, juros, desconto, acréscimo e taxa
- POST /extratos-bancarios/{idExtratoBancario}/movimentacoes/{idMovimentacao}/lancamento - Transformar uma movimentação em lançamento no caixa
- Suporta categoria, contato e histórico
- POST /extratos-bancarios/{idExtratoBancario}/movimentacoes/{idMovimentacao}/ignorar - Ignorar uma movimentação que não precisa de conciliação
- POST /extratos-bancarios/{idExtratoBancario}/movimentacoes/{idMovimentacao}/desfazer-ignorar - Desfazer a ignoração de uma movimentação
- POST /extratos-bancarios/{idExtratoBancario}/movimentacoes/{idMovimentacao}/estornar - Estornar o tratamento de uma movimentação, voltando ela a ficar pendente
Estoque
- GET /estoque - Novo endpoint para listar, de forma paginada, o saldo atual de estoque de todos os produtos, eliminando a necessidade de consultar produto a produto
- Filtro disponível:
dataAlteracao(filtro incremental, retorna apenas produtos alterados a partir da data informada) - Cada item retorna
idProduto,sku,nome,saldo,reservado,disponivel,localizacaoedepositos
- Filtro disponível:
Expedição — One Step Shipping
- POST /expedicao/etiquetas - Novo endpoint que concentra em uma única chamada todo o fluxo de expedição: cria a expedição, agrupa, conclui o despacho e retorna as URLs das etiquetas
- Aceita até 10
idsPedidospor requisição - Suporta formas de envio ecommerce, gateway e logística própria; para transportadora e customizado, mantenha o fluxo atual (
POST /expedicao→ concluir → obter etiquetas) - Itens não processados dentro do tempo de orçamento da requisição retornam com código de erro 39 e podem ser reenviados
- Lançamento gradual: o endpoint começa desativado e será liberado progressivamente
- Aceita até 10
Permissões
Os endpoints de extrato bancário exigem as novas permissões de extrato bancário (leitura, escrita e exclusão) liberadas no gerenciamento de acessos do usuário da API.Melhorias
Expedição — Agrupamentos
-
GET /agrupamentos - Adicionados dois novos filtros opcionais de pesquisa:
idPedido(integer) — filtra agrupamentos pelo identificador do pedidoidNota(integer) — filtra agrupamentos pelo identificador da nota fiscal
-
POST /agrupamentos - A resposta agora inclui o campo
idsExpedicao:idsExpedicao(array de inteiros) — lista com os identificadores das expedições vinculadas ao agrupamento criado
-
POST /agrupamentos e POST /agrupamentos/{idAgrupamento}/origens - Aceitam o novo campo opcional
idsExpedicoesno corpo da requisição:idsExpedicoes(array de inteiros) — permite informar expedições já existentes para vincular ao agrupamento, sem recriá-las
Produtos
- GET /produtos/{idProduto} - A resposta agora inclui os campos
tagsecustos:tags(array de objetos ounull) — marcadores vinculados ao produto;nullquando não existir nenhumcustos(array de objetos ounull) — custos do produto;nullquando não existir nenhum custo ou o DRE estiver inativo
Notas Fiscais
- GET /notas - A resposta de cada nota agora inclui o campo
itens:itens(array de objetos ounull) — linhas/itens da nota fiscal;nullquando não houver informação
Ordens de Compra
- GET /ordem-compra - A resposta de cada ordem agora inclui o campo
itens:itens(array de objetos ounull) — linhas/itens da ordem de compra;nullquando não houver informação
Pedidos
- GET /pedidos/{idPedido} - A resposta agora inclui os campos
marcadoresenotaFiscal:marcadores(array de objetos ounull) — marcadores vinculados ao pedidonotaFiscal(objeto ounull) — dados da nota fiscal vinculada ao pedido (id,numero,serie,chaveAcesso,dataEmissao,valor,situacao);nullquando o pedido não tiver nota fiscal vinculada
Contatos
- GET /contatos e GET /contatos/{idContato} - A resposta de cada contato agora inclui os campos
tiposecontatos:tipos(array de objetos ounull) — tipos de contato associadoscontatos(array de objetos ounull) — pessoas de contato associadas
Correções
Expedição — Agrupamentos
- GET /agrupamentos - Corrigido o campo
quantidadeObjetos, que sempre retornava0independentemente da quantidade real de objetos do agrupamento - GET /agrupamentos - Corrigida duplicidade de registros na listagem e divergência na contagem total da paginação ao filtrar por
idPedidoouidNotaem agrupamentos com múltiplas expedições - GET /agrupamentos - Os filtros
idPedidoeidNotaagora são mutuamente exclusivos; informar os dois na mesma requisição retorna erro 400
