Buscar Transacciones
Descripción General
El endpoint de búsqueda de transacciones permite consultar el historial de transacciones PIX de su cuenta con diversos filtros y paginación. Los datos se devuelven en un formato amigable, con estados y tipos traducidos al portugués y valores en reales.
Autenticación
Este endpoint requiere un token Bearer válido en el header Authorization:
Authorization: Bearer <su_token>El token debe obtenerse a través del endpoint Generar Token.
Límite de Solicitudes
GET /api/transactions acepta hasta 30 solicitudes por minuto por cuenta. Por encima de eso, la API responde 429 Too Many Requests; espere el final de la ventana de 1 minuto antes de intentar de nuevo. Para recorrer un período largo, prefiera páginas más grandes (size hasta 100) en lugar de muchas llamadas pequeñas.
Parámetros de Consulta
| Parámetro | Tipo | Descripción |
|---|---|---|
page | integer | Número de página (predeterminado: 1) |
size | integer | Registros por página (predeterminado: 20, máximo: 100) |
status | string | Filtro por estado: PENDING, CONFIRMED, ERROR |
type | string | Filtro por tipo: PAYMENT, WITHDRAW, REFUND_IN, REFUND_OUT |
startDate | date | Fecha inicial (ISO 8601, ej.: 2025-01-01). Predeterminado: últimos 31 días |
endDate | date | Fecha final (ISO 8601). Predeterminado: hoy |
externalId | string | Filtro por su identificador externo |
endToEndId | string | Filtro por End-to-End ID del PIX |
El intervalo entre startDate y endDate no puede exceder 31 días.
Mapeo de Campos
Estado
Los estados internos se traducen al formato público:
| Valor Interno | Valor Devuelto |
|---|---|
PENDING | Pendente |
CONFIRMED | Confirmado |
ERROR | Error |
Tipo de Operación
Los tipos de transacción se traducen al portugués:
| Valor Interno | Valor Devuelto | Descripción |
|---|---|---|
PAYMENT | Pix in | Recepción vía PIX |
WITHDRAW | Pix out | Pago vía PIX |
REFUND_IN | Refund in | Devolución solicitada (débito) |
REFUND_OUT | Refund out | Devolución recibida (crédito) |
Tipo de Movimiento
Indica si la transacción es una entrada o una salida en la cuenta:
| Tipo de Operación | Movimiento |
|---|---|
Pix in | CREDIT |
Pix out | DEBIT |
Refund in | DEBIT |
Refund out | CREDIT |
Valores
Todos los valores monetarios se devuelven en reales con 2 decimales:
originalAmount: Valor efectivamente pagado; antes de la confirmación, muestra el valor cobradofeeAmount: Tarifa aplicadafinalAmount: Valor final (original ± tarifa)amountPaid: Valor efectivamente pagado;nullmientras el pago no se confirmamismatchAmount: Diferencia entre el valor cobrado y el pagado;nullsin divergencia. Positivo: pagó de menos. Negativo: pagó de más
Enmascaramiento de Documentos
Por seguridad, los documentos de las contrapartes se enmascaran:
- CPF:
123.456.789-00→***.456.789-** - CNPJ:
12.345.678/0001-90→**.345.678/****-**
Ejemplo de Uso
Buscar todas las transacciones confirmadas
curl -X GET "https://api.fypay.me/api/transactions?status=CONFIRMED&page=1&size=10" \
-H "Authorization: Bearer su_token_aqui"const response = await fetch(
'https://api.fypay.me/api/transactions?status=CONFIRMED&page=1&size=10',
{
headers: {
'Authorization': 'Bearer su_token_aqui'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.fypay.me/api/transactions',
params={
'status': 'CONFIRMED',
'page': 1,
'size': 10
},
headers={
'Authorization': 'Bearer su_token_aqui'
}
)
data = response.json()
print(data)Buscar transacciones por período
curl -X GET "https://api.fypay.me/api/transactions?startDate=2025-01-01&endDate=2025-01-15&type=PAYMENT" \
-H "Authorization: Bearer su_token_aqui"const params = new URLSearchParams({
startDate: '2025-01-01',
endDate: '2025-01-15',
type: 'PAYMENT'
});
const response = await fetch(
`https://api.fypay.me/api/transactions?${params}`,
{
headers: {
'Authorization': 'Bearer su_token_aqui'
}
}
);Buscar por identificador específico
# Por externalId (su identificador)
curl -X GET "https://api.fypay.me/api/transactions?externalId=order-12345" \
-H "Authorization: Bearer su_token_aqui"
# Por endToEndId (ID del PIX)
curl -X GET "https://api.fypay.me/api/transactions?endToEndId=E12345678901234567890123456789012" \
-H "Authorization: Bearer su_token_aqui"Ejemplo de Respuesta
{
"data": [
{
"transactionId": "12345",
"externalId": "order-abc123",
"status": "Confirmado",
"operationType": "Pix in",
"movementType": "CREDIT",
"originalAmount": 100.00,
"feeAmount": 1.00,
"finalAmount": 99.00,
"amountPaid": 100.00,
"mismatchAmount": null,
"endToEndId": "E12345678901234567890123456789012",
"createdAt": "2025-01-15T10:30:00.000Z",
"processedAt": "2025-01-15T10:30:05.000Z",
"counterpart": {
"name": "João Silva",
"document": "***.456.789-**",
"bank": {
"bankISPB": "00000000",
"bankName": "Banco do Brasil",
"bankCode": "001",
"accountBranch": "0001",
"accountNumber": "123456-7"
}
}
}
],
"metadata": {
"page": 1,
"size": 20,
"total": 150,
"totalPages": 8,
"hasNext": true,
"hasPrevious": false
}
}Paginación
La respuesta incluye metadatos de paginación para facilitar la navegación:
| Campo | Descripción |
|---|---|
page | Página actual |
size | Cantidad de registros por página |
total | Total de registros encontrados |
totalPages | Total de páginas disponibles |
hasNext | Indica si existe una página siguiente |
hasPrevious | Indica si existe una página anterior |
Navegación entre páginas
// Primera página
const page1 = await fetchTransactions({ page: 1, size: 20 });
if (page1.metadata.hasNext) {
// Página siguiente
const page2 = await fetchTransactions({ page: 2, size: 20 });
}Casos de Uso Comunes
Códigos de Error
| Código | Descripción |
|---|---|
400 | Parámetros inválidos, fecha inicial posterior a la final (PIX_INVALID_DATE_RANGE) o intervalo de fechas superior a 31 días (PIX_DATE_RANGE_EXCEEDED) |
401 | Token no proporcionado o inválido |
429 | Más de 30 solicitudes por minuto para la cuenta |