Extrato de Transações

O endpoint de extrato permite consultar o histórico de transações da sua conta. Você pode filtrar por tipo de transação, período e paginar os resultados para facilitar a navegação em grandes volumes de dados.

Visão Geral

O endpoint de Extrato de Transações permite consultar o histórico completo de transações da sua conta. Você pode filtrar por tipo de transação, período e paginar os resultados para facilitar a navegação em grandes volumes de dados.

Endpoint: /api/v1/statement

Metado: GET

Base URL (Produção): https://api.vexapagamentos.com.br/api/v1

Autenticação

Antes de fazer requisições, você precisa obter um token de acesso OAuth 2.0. Consulte a documentação de autenticação para mais detalhes.

Headers necessários:

Authorization: Bearer <seu-access-token>
Content-Type: application/json

Requisição

/api/v1/statement/vexa-pay

Consulta o histórico de transações da conta com filtros opcionais.

Parâmetros de Query

Todos os parâmetros são opcionais:

  • page - Número da página (padrão: 1, mínimo: 1)
  • limit - Quantidade de itens por página (padrão: 8, mínimo: 1)
  • type - Tipo de transação (DEPOSIT, WITHDRAW, PAYMENT, REFUND, TRANSFER)
  • period - Período (7dias, 15dias, mes_atual, mes_anterior, custom)
  • startDate - Data inicial ISO 8601 (obrigatório se period=custom)
  • endDate - Data final ISO 8601 (obrigatório se period=custom)

Resposta

Resposta de Sucesso (200)

{
  "transactions": [
    {
      "id": "abc123def456",
      "amount": 100.00,
      "fee": 0.99,
      "type": "DEPOSIT",
      "description": "Depósito via PIX",
      "createdAt": "2024-01-15T10:30:00Z",
      "externalId": "PIX123456"
    },
    {
      "id": "xyz789ghi012",
      "amount": 50.00,
      "fee": 0.99,
      "type": "WITHDRAW",
      "description": "Saque para conta externa",
      "createdAt": "2024-01-14T14:20:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 8,
    "total": 25,
    "totalPages": 4
  }
}

Campos da resposta:

  • transactions: Array de transações com id, amount, fee, type, description, createdAt, externalId
  • pagination: Informações de paginação com page, limit, total, totalPages

Exemplos de Requisição

Exemplo 1: Consultar todas as transações (primeira página)

curl -X GET "https://api.vexapagamentos.com.br/api/v1/statement/vexa-pay?page=1&limit=8" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Exemplo 2: Filtrar apenas depósitos dos últimos 7 dias

curl -X GET "https://api.vexapagamentos.com.br/api/v1/statement/vexa-pay?type=DEPOSIT&period=7dias" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Exemplo 3: Período personalizado

curl -X GET "https://api.vexapagamentos.com.br/api/v1/statement/vexa-pay?period=custom&startDate=2024-01-01T00:00:00Z&endDate=2024-01-31T23:59:59Z" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Exemplo usando JavaScript (fetch)

const params = new URLSearchParams({
  page: '1',
  limit: '10',
  type: 'DEPOSIT',
  period: 'mes_atual'
});

const response = await fetch(
  `https://api.vexapagamentos.com.br/api/v1/statement/vexa-pay?${params.toString()}`,
  {
    method: 'GET',
    headers: {
      'Authorization': `Bearer ${accessToken}`,
      'Content-Type': 'application/json'
    }
  }
);

const data = await response.json();
// Transações disponíveis em data.transactions
// Total de páginas em data.pagination.totalPages

Possíveis Erros

Status 400 - Bad Request

Erros de validação:

{
    "message": [
        "page must not be less than 1",
        "limit must not be less than 1"
    ],
    "error": "Bad Request",
    "statusCode": 400
}

Status 401 - Unauthorized

Erros de autenticação:

{
    "message": "Unauthorized",
    "statusCode": 401
}

Notas Importantes

  • • As transações são ordenadas por data de criação (mais recentes primeiro)
  • • O limite padrão é de 8 itens por página, mas você pode ajustar conforme necessário
  • • Use a paginação para navegar por grandes volumes de transações
  • • As datas devem estar no formato ISO 8601 quando usar período custom
  • • O campo externalId pode estar vazio para algumas transações
  • • Os valores de amount e fee são retornados em formato numérico