Exportação de Transações (Consolidação)
O sistema de exportação de transações permite que os usuários extraiam relatórios detalhados de suas movimentações financeiras em diversos formatos. Para garantir performance, o sistema suporta tanto o download imediato quanto o processamento em segundo plano (assíncrono).
Endpoint
POST /consolidation/transactions/export-document
Parâmetros de Requisição
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
format | string | Sim | Formato do arquivo: xlsx, csv ou pdf. |
download | boolean | Não | Se true, tenta o download direto. Se false (padrão), processa em background. |
created_at_start | date | Não | Data inicial do período (Y-m-d). |
created_at_end | date | Não | Data final do período (Y-m-d). |
search | string | Não | Filtro por TXID, EndToEndID ou descrição. |
type | array/string | Não | Filtro por ID do tipo de transação (ex: 1, 1,2 ou [1,2]). |
Fluxo de Processamento
1. Download Direto (download=true)
Recomendado para períodos curtos ou poucos registros. A resposta é o próprio arquivo binário.
- Vantagem: Acesso imediato.
- Limitação: Pode sofrer timeout em conjuntos de dados muito grandes.
2. Processamento Assíncrono (download=false)
Obrigatório para grandes volumes de dados.
- O sistema registra a solicitação e dispara um Job (
ExportTransactionsJob). - O usuário recebe uma resposta
200 OKinformando que o processo começou. - Assim que concluído, uma notificação é enviada via e-mail e banco de dados.
Notificações e Acesso ao Arquivo
Ao final do processamento assíncrono, o usuário recebe uma notificação DocumentExported.
Via E-mail
O arquivo é anexado diretamente ao e-mail enviado para o endereço cadastrado do usuário.
Via Banco de Dados (Notificações In-App)
Os dados da notificação contêm a chave file_url, que permite ao frontend disponibilizar um botão de download para o usuário na central de notificações.
Detalhes dos Formatos
PDF
- Orientação: Paisagem (Landscape).
- Conteúdo: Resumo financeiro no topo e tabela detalhada de transações.
- Identidade: Cabeçalho com logo da empresa e informações do exportador.
Excel (XLSX) / CSV
- Planilha estruturada com cabeçalhos fixos.
- Estilização premium no XLSX (cores da marca, logo no topo).
- Mapeamento de campos otimizado para conciliação bancária.
Armazenamento e Segurança
Todos os arquivos gerados são armazenados em storage/app/public/exports/transactions/ com nomes únicos contendo timestamp (transacoes_YYYY-MM-DD_HH-II-SS.ext). O acesso é restrito via lógica de negócio ao account_id que solicitou a exportação.