--- title: 11.2. Pastas de Leitura do Bucket url: https://docs.vehub.com.br/API/Integra%C3%A7%C3%A3o%20FIDC/11.%20Leitura%20do%20Bucket%20da%20Administradora/11.2.%20Pastas%20de%20Leitura%20do%20Bucket/ --- Configura as pastas do bucket da administradora que a VeHub lê para a operação — retorno de cessão, retorno de baixas, estoque diário, liquidados, aquisições. Cada pasta é lida periodicamente: só os arquivos diretamente na pasta são lidos, e nada é movido nem apagado no bucket da administradora. ## Listar pastas | Método | URL | |--------|-----| | ![GET](https://img.shields.io/badge/GET-blue) | `https://BASE_URL/public/api/v1/operacoes/{idOperacao}/configuracoes-leitura-arquivo` | ```` bash title="Exemplo de cURL" curl -X GET "https://BASE_URL/public/api/v1/operacoes/23/configuracoes-leitura-arquivo" \ -H "Authorization: Bearer {token}" \ -H "GrupoEconomico: {grupo}" ```` ```` json title="Response Body — 200 OK" [ { "id": 7, "idConfiguracaoEnvioArquivo": 41, "nome": "Retornos de cessão", "ativo": true, "tipoArquivoLeitura": "RetornoCessao", "pathOrigem": "retornos/cessao", "extensoesAceitas": "csv" } ] ```` ## Criar pasta | Método | URL | |--------|-----| | ![POST](https://img.shields.io/badge/POST-green) | `https://BASE_URL/public/api/v1/operacoes/{idOperacao}/configuracoes-leitura-arquivo` | ## Atualizar pasta | Método | URL | |--------|-----| | ![PUT](https://img.shields.io/badge/PUT-orange) | `https://BASE_URL/public/api/v1/operacoes/{idOperacao}/configuracoes-leitura-arquivo/{id}` | Para parar de ler uma pasta sem apagar a configuração, atualize com `ativo: false`. ## Path Params | Campo | Tipo | Descrição | |-------|------|-----------| | `idOperacao` | Número | Identificador da operação. | | `id` | Número | Identificador da configuração de leitura (só na atualização). | ## Request Body | Campo | Tipo | Obrigatório | Descrição | |-------|------|-------------|-----------| | `idConfiguracaoEnvioArquivo` | Número | Sim | Conexão `AmazonS3` **da mesma operação** usada na leitura. Ver [Configurações de Envio de Arquivos](11.1.%20Configura%C3%A7%C3%B5es%20de%20Envio%20de%20Arquivos.md). | | `nome` | Texto | Sim | Nome da configuração (até 200 caracteres). | | `ativo` | Booleano | Não | Se a pasta deve ser lida. Padrão `true`. | | `tipoArquivoLeitura` | Texto | Sim | O que os arquivos da pasta são, pelo nome (ver tabela abaixo). | | `pathOrigem` | Texto | Sim | Pasta dentro do bucket (até 500 caracteres). Não pode ser a raiz. | | `extensoesAceitas` | Texto | Não | Extensões aceitas, separadas por vírgula (ex.: `csv,txt`). Omitido, aceita qualquer extensão. | | `tipoArquivoLeitura` | Conteúdo da pasta | |----------------------|-------------------| | `RetornoCessao` | Retorno das ofertas de cessão (aceites e críticas). | | `RetornoBaixa` | Retorno das baixas (liquidações e recompras). | | `EstoqueDiario` | Estoque diário do fundo. | | `Liquidados` | Relatório de liquidados. | | `Aquisicao` | Relatório de aquisições. | | `Renegociacao` | Renegociações. | | `RetornoRenegociacao` | Retorno das renegociações. | ```` json title="Request Body" { "idConfiguracaoEnvioArquivo": 41, "nome": "Retornos de cessão", "ativo": true, "tipoArquivoLeitura": "RetornoCessao", "pathOrigem": "retornos/cessao", "extensoesAceitas": "csv" } ```` ```` json title="Response Body — 200 OK" { "id": 7, "idConfiguracaoEnvioArquivo": 41, "nome": "Retornos de cessão", "ativo": true, "tipoArquivoLeitura": "RetornoCessao", "pathOrigem": "retornos/cessao", "extensoesAceitas": "csv" } ```` ## Erros Erros de regra retornam o envelope `RetornoPadrao`. | HTTP | Quando | |------|--------| | `404 Not Found` | Operação inexistente ou inativa; na atualização, configuração que não é da operação. | | `409 Conflict` | A mesma pasta, do mesmo bucket, já está em outra configuração **ativa** da operação. | | `400 Bad Request` | Conexão de outra operação ou que não é `AmazonS3`, pasta em branco ou na raiz do bucket. | ```` json title="Response Body — 400 Bad Request (conexão de outra operação)" { "status": "erro", "mensagem": "A configuração de envio 41 não pertence à operação 23." } ```` !!! note "Validação da requisição" Campo obrigatório ausente, `tipoArquivoLeitura` fora da lista ou texto acima do limite é recusado antes da regra: `400 Bad Request` no formato `ProblemDetails`, descrito em [Primeiros Passos](../1.%20In%C3%ADcio/1.1.%20Primeiros%20Passos.md). # Modelo de dados ## Configuração de leitura | Campo | Tipo | Descrição | |-------|------|-----------| | `id` | Número | Identificador da configuração de leitura. | | `idConfiguracaoEnvioArquivo` | Número | Conexão do bucket usada na leitura. | | `nome` | Texto | Nome da configuração. | | `ativo` | Booleano | Indica se a pasta está sendo lida. | | `tipoArquivoLeitura` | Texto | O que os arquivos da pasta são. | | `pathOrigem` | Texto | Pasta lida dentro do bucket. | | `extensoesAceitas` | Texto | Extensões aceitas; `null` aceita qualquer extensão. | # Observações - **Uma pasta, uma leitura:** duas configurações ativas não leem a mesma pasta do mesmo bucket. Desative a antiga antes de criar outra para a mesma pasta. - **Arquivos já lidos não se repetem:** cada arquivo é lido uma vez; acompanhe o resultado em [Arquivos Lidos do Bucket](11.3.%20Arquivos%20Lidos%20do%20Bucket.md).