> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.erp.olist.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Versão 3.1.10

*Atualização de Setembro de 2026*

A versão 3.1.10 traz novos endpoints de estoque e expedição, e melhorias na resposta de produtos, pedidos, contatos, notas fiscais e ordens de compra.

## **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`, `localizacao` e `depositos`

### **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 `idsPedidos` por 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

## **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 pedido
  * `idNota` (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 `idsExpedicoes` no 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 `tags` e `custos`:
  * `tags` (array de objetos ou `null`) — marcadores vinculados ao produto; `null` quando não existir nenhum
  * `custos` (array de objetos ou `null`) — custos do produto; `null` quando 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 ou `null`) — linhas/itens da nota fiscal; `null` quando 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 ou `null`) — linhas/itens da ordem de compra; `null` quando não houver informação

### **Pedidos**

* **GET /pedidos/\{idPedido}** - A resposta agora inclui os campos `marcadores` e `notaFiscal`:
  * `marcadores` (array de objetos ou `null`) — marcadores vinculados ao pedido
  * `notaFiscal` (objeto ou `null`) — dados da nota fiscal vinculada ao pedido (`id`, `numero`, `serie`, `chaveAcesso`, `dataEmissao`, `valor`, `situacao`); `null` quando o pedido não tiver nota fiscal vinculada

### **Contatos**

* **GET /contatos** e **GET /contatos/\{idContato}** - A resposta de cada contato agora inclui os campos `tipos` e `contatos`:
  * `tipos` (array de objetos ou `null`) — tipos de contato associados
  * `contatos` (array de objetos ou `null`) — pessoas de contato associadas

## **Correções**

### **Expedição — Agrupamentos**

* **GET /agrupamentos** - Corrigido o campo `quantidadeObjetos`, que sempre retornava `0` independentemente 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 `idPedido` ou `idNota` em agrupamentos com múltiplas expedições
* **GET /agrupamentos** - Os filtros `idPedido` e `idNota` agora são mutuamente exclusivos; informar os dois na mesma requisição retorna erro 400


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.