Endpoint de Conversão
Realize conversões de arquivos financeiros enviando uma requisição POST com multipart/form-data
📋 Parâmetros da Requisição
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| layout | string | Sim | Número do layout para conversão. Exemplos: 001, 001.1, 104.3, 240, 400 |
| senha | string | Opcional | Senha do documento (caso o arquivo PDF ou OFX seja protegido) |
| banco_id | integer | Sim | Código do banco (ex: 001 = Banco do Brasil, 104 = Caixa Econômica, 237 = Bradesco, 341 = Itaú) |
| pdf_file | file (upload) | Sim |
Arquivo PDF enviado via upload. Representa o arquivo binário enviado no corpo da requisição (multipart/form-data) com o campo nomeado como "pdf_file". Formato aceito: .pdf |
Exemplos de Implementação
curl -X POST https://contas.detonix.com.br/api/apiExtractFileDetoFinc \ -H 'Authorization: Bearer SEU_TOKEN_AQUI' \ -F 'layout=001' \ -F 'senha=minha_senha' \ -F 'banco_id=001' \ -F 'file=@/caminho/do/arquivo.ofx'
$client = new \GuzzleHttp\Client(); $response = $client->post('https://contas.detonix.com.br/api/apiExtractFileDetoFinc', [ 'headers' => [ 'Authorization' => 'Bearer SEU_TOKEN_AQUI' ], 'multipart' => [ ['name' => 'layout', 'contents' => '001'], ['name' => 'senha', 'contents' => 'minha_senha'], ['name' => 'banco_id', 'contents' => '001'], ['name' => 'file', 'contents' => fopen('/caminho/arquivo.ofx', 'r')] ] ]);
const formData = new FormData(); formData.append('layout', '001'); formData.append('senha', 'minha_senha'); formData.append('banco_id', '001'); formData.append('file', fileInput.files[0]); fetch('https://contas.detonix.com.br/api/apiExtractFileDetoFinc', { method: 'POST', headers: { 'Authorization': 'Bearer SEU_TOKEN_AQUI' }, body: formData });
import requests url = 'https://contas.detonix.com.br/api/apiExtractFileDetoFinc' headers = { 'Authorization': 'Bearer SEU_TOKEN_AQUI' } files = { 'file': open('arquivo.ofx', 'rb') } data = { 'layout': '001', 'senha': 'minha_senha', 'banco_id': '001' } response = requests.post(url, headers=headers, files=files, data=data)
📤 Exemplo de Resposta da API
{
"status": 7,
"data": {
"num_conta": "XXXXXX",
"saldo_anterior": "0.00",
"saldo": "0.00",
"total_somado": "0.00",
"start_date": "00010109",
"end_date": "20260131",
"data": [
{
"valor": "0.00",
"detalhes": "Saldo Anterior",
"data": "20251231",
"FITID": "",
"alert": false
},
{
"valor": "1267.03",
"detalhes": "Recebimento Fornecedor XXXXXX",
"data": "20260102",
"FITID": "",
"alert": false
}
],
"message": "Algumas informações neste documento podem conter inconsistências. Por isso, destacamos os lançamentos (63, 124, 240, 300) que possivelmente estão incorretos. Pedimos, por gentileza, que revise cuidadosamente os lançamentos para garantir que tudo esteja correto."
},
"bankid": "001"
}
Campos Principais:
- status: 7 - Sucesso
- bankid: Código do banco processado
Objeto data:
- num_conta: Número da conta (mascarado)
- saldo_anterior: Saldo do período anterior
- saldo: Saldo atual
- total_somado: Total de movimentações
- start_date/end_date: Período do extrato (AAAAMMDD)
Array data (transações):
- valor: Valor da transação
- detalhes: Descrição do lançamento
- data: Data da transação (AAAAMMDD)
- alert: Indica se há inconsistência no lançamento
O campo "message" contém alertas sobre possíveis inconsistências nos lançamentos destacados.
🔐 Autenticação e Segurança
Todas as requisições devem ser autenticadas utilizando o padrão Bearer Token. Seu token é gerado automaticamente após a ativação da conta.
🔑 Bearer Token
Inclua no header Authorization de todas as requisições
🔒 Chave de Criptografia (32 bits)
Armazenada internamente em nosso sistema para segurança dos seus dados
📊 Rate Limits
Limitações por plano para garantir performance
- ✓ Plano: 1000 req/dia