Listar Transações

Consulte todas as transações da sua empresa com paginação, ordenação e filtros.

GET/api/Transaction/company/transactions

Retorna uma lista paginada de todas as transações da empresa autenticada.

Headers Obrigatórios

HeaderValorDescrição
Acceptapplication/jsonFormato da resposta
X-Client-Idseu-client-idID público do aplicativo
X-API-Keysua-api-key-secretaChave secreta da empresa

Parâmetros de Query (Opcionais)

ParâmetroTipoPadrãoDescrição
pagenumber1Número da página
pageSizenumber50Itens por página (máx: 100)
sortstringcreatedAt_descOrdenação: createdAt_desc, createdAt_asc

Resposta de Sucesso (200 OK)

Retorna um objeto com array items contendo as transações.

{
  "ok": true,
  "res": {
    "items": [
      {
        "id": 19,
        "leadId": "56c77781-349b-4014-8992-a1d943a4dec2",
        "lead": {
          "id": "56c77781-349b-4014-8992-a1d943a4dec2",
          "externalId": null,
          "name": "João Teste",
          "email": "joao.teste@exemplo.com",
          "phone": "11987654321",
          "documentNumber": "47534460263",
          "documentType": "CPF",
          "street": null,
          "streetNumber": null,
          "complement": null,
          "zipCode": null,
          "neighborhood": null,
          "city": null,
          "state": null,
          "country": null
        },
        "amount": 10000,
        "status": "PENDING",
        "paymentMethod": "PIX",
        "providerTxId": "abc123xyz",
        "createdAt": "2024-10-16T12:15:45.229Z",
        "updatedAt": "2024-10-16T12:15:45.229Z"
      }
    ],
    "totalItems": 150,
    "totalPages": 3,
    "currentPage": 1,
    "pageSize": 50
  }
}

Exemplo: cURL

curl -X GET "https://dfpay.app/api/Transaction/company/transactions?page=1&pageSize=50&sort=createdAt_desc" \
  -H "Accept: application/json" \
  -H "X-Client-Id: e1c98954cc404cbcb2868af9b40c7a33" \
  -H "X-API-Key: HRjxaaZoPhd_3oRq5jmB6C6IpjnZ2vh0qfcaP1d6emHP4rtDKR17aeLxMhUZtUDyPFDe_ihT9PLslqLpz2zJ0g"

Exemplo: JavaScript (fetch)

const CLIENT_ID = 'e1c98954cc404cbcb2868af9b40c7a33';
const API_KEY = 'HRjxaaZoPhd_3oRq5jmB6C6IpjnZ2vh0qfcaP1d6emHP4rtDKR17aeLxMhUZtUDyPFDe_ihT9PLslqLpz2zJ0g';

const query = {
  page: 1,
  pageSize: 50,
  sort: 'createdAt_desc',
};

const queryString = Object.entries(query)
  .filter(([, v]) => v !== undefined && v !== null && String(v) !== '')
  .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`)
  .join('&');

const response = await fetch(
  `https://dfpay.app/api/Transaction/company/transactions?${queryString}`,
  {
    method: 'GET',
    headers: {
      'Accept': 'application/json',
      'X-Client-Id': CLIENT_ID,
      'X-API-Key': API_KEY,
    },
  }
);

const data = await response.json();
console.log('Transações:', data);

Possíveis Erros

401Unauthorized

Credenciais inválidas ou ausentes (X-Client-Id / X-API-Key incorretos).

403Forbidden

Acesso negado. Verifique se sua empresa tem permissão para acessar este recurso.

500Internal Server Error

Erro interno do servidor. Tente novamente mais tarde ou contate o suporte.

Notas Importantes

Paginação: Use os parâmetros page e pageSize para navegar pelos resultados.

Ordenação: O parâmetro sort aceita createdAt_desc (mais recentes primeiro) ou createdAt_asc (mais antigas primeiro).

Limite: O pageSize máximo é 100 itens por página.

Dados do Lead: Cada transação inclui informações completas do lead (cliente) associado.