Pular para o conteúdo principal

Visão Geral

Retorna uma lista paginada de todos os pagamentos de boletos realizados pela conta, com suporte a filtros avançados por status, data inicial e data final.

Parâmetros de Query

page
integer
default:"1"
Número da página a ser retornadaValor mínimo: 1
limit
integer
default:"20"
Quantidade de itens por páginaValor mínimo: 1 Valor máximo: 100
status
string
Filtrar por status do pagamentoValores aceitos:
  • PENDING: Pagamentos em processamento
  • PAID: Pagamentos confirmados
  • CANCELED: Pagamentos cancelados
  • REFUND_OCCURRENCE: Pagamentos com ocorrência de estorno
startDate
string
Data inicial para filtro (formato: YYYY-MM-DD)Retorna pagamentos criados a partir desta data (inclusive)Exemplo: 2024-01-01
endDate
string
Data final para filtro (formato: YYYY-MM-DD)Retorna pagamentos criados até esta data (inclusive)Exemplo: 2024-01-31

Resposta de Sucesso

data
array
Lista de pagamentos
meta
object
Metadados da paginação

Exemplos de Requisição

Listar últimos 20 pagamentos

cURL
curl -X GET "https://api-gateway.firebanking.com.br/bank-slip/v1/payment/withdraws?page=1&limit=20" \
  -H "x-api-key: YOUR_API_KEY"

Filtrar por status PAID

cURL
curl -X GET "https://api-gateway.firebanking.com.br/bank-slip/v1/payment/withdraws?status=PAID" \
  -H "x-api-key: YOUR_API_KEY"

Filtrar por período

cURL
curl -X GET "https://api-gateway.firebanking.com.br/bank-slip/v1/payment/withdraws?startDate=2024-01-01&endDate=2024-01-31" \
  -H "x-api-key: YOUR_API_KEY"

Filtros combinados

cURL
curl -X GET "https://api-gateway.firebanking.com.br/bank-slip/v1/payment/withdraws?page=1&limit=10&status=PAID&startDate=2024-01-01" \
  -H "x-api-key: YOUR_API_KEY"
JavaScript
const params = new URLSearchParams({
  page: '1',
  limit: '10',
  status: 'PAID',
  startDate: '2024-01-01'
});

const response = await fetch(`https://api-gateway.firebanking.com.br/bank-slip/v1/payment/withdraws?${params}`, {
  headers: {
    'x-api-key': 'YOUR_API_KEY'
  }
});

const data = await response.json();
Python
import requests

params = {
    'page': 1,
    'limit': 10,
    'status': 'PAID',
    'startDate': '2024-01-01'
}

response = requests.get(
    'https://api-gateway.firebanking.com.br/bank-slip/v1/payment/withdraws',
    params=params,
    headers={
        'x-api-key': 'YOUR_API_KEY'
    }
)

data = response.json()

Exemplo de Resposta

{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "externalId": "PAY-2024-001",
      "status": "PAID",
      "amount": 152.50,
      "dueDate": "2024-01-15T03:00:00.000Z",
      "createdAt": "2024-01-10T14:00:00.000Z",
      "updatedAt": "2024-01-10T14:30:00.000Z"
    },
    {
      "id": "660e8400-e29b-41d4-a716-446655440001",
      "externalId": "PAY-2024-002",
      "status": "PAID",
      "amount": 89.99,
      "dueDate": "2024-01-20T03:00:00.000Z",
      "createdAt": "2024-01-12T10:15:00.000Z",
      "updatedAt": "2024-01-12T10:45:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 45,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  }
}

Códigos de Resposta

200
success
Listagem retornada com sucesso
400
error
Parâmetros inválidosPossíveis causas:
  • Data em formato inválido
  • Status inválido
  • Limit maior que 100
401
error
API key inválida ou ausente
500
error
Erro interno do servidor

Ordenação

Os pagamentos são retornados ordenados por data de criação decrescente (mais recentes primeiro).

Performance

Otimização: O filtro por status é aplicado após a consulta no banco de dados (post-filtering). Para grandes volumes, considere usar apenas filtros de data para melhor performance.

Casos de Uso

Dashboard de pagamentos

// Buscar últimos 10 pagamentos
const recent = await listWithdraws({ page: 1, limit: 10 });

// Buscar pagamentos pendentes
const pending = await listWithdraws({ status: 'PENDING' });

// Buscar pagamentos do mês
const thisMonth = await listWithdraws({
  startDate: '2024-01-01',
  endDate: '2024-01-31'
});

Paginação

async function getAllPayments() {
  const allPayments = [];
  let page = 1;
  let hasMore = true;

  while (hasMore) {
    const response = await listWithdraws({ page, limit: 100 });
    allPayments.push(...response.data);
    hasMore = response.meta.hasNextPage;
    page++;
  }

  return allPayments;
}

Relatório financeiro

async function getMonthlyReport(year, month) {
  const startDate = `${year}-${month.toString().padStart(2, '0')}-01`;
  const endDate = new Date(year, month, 0).toISOString().split('T')[0];

  const response = await listWithdraws({
    startDate,
    endDate,
    status: 'PAID',
    limit: 100
  });

  const total = response.data.reduce((sum, payment) => sum + payment.amount, 0);

  return {
    total,
    count: response.meta.total,
    payments: response.data
  };
}

Filtros Disponíveis

FiltroTipoDescrição
pageintegerPágina atual (padrão: 1)
limitintegerItens por página (padrão: 20, máx: 100)
statusstringStatus do pagamento
startDatestringData inicial (YYYY-MM-DD)
endDatestringData final (YYYY-MM-DD)

Próximos Passos

  • Consultar detalhes: Use Consultar Status para ver detalhes de um pagamento específico
  • Criar pagamento: Use Pagar Boleto para criar um novo pagamento
  • Verificar dados: Use Verificar Dados antes de criar o pagamento
Dica: Combine filtros de data e status para criar relatórios personalizados. Por exemplo, listar todos os pagamentos pagos em um determinado período.