Buscar Transacciones
Descripción General
El endpoint de búsqueda de transacciones le permite consultar el historial de transacciones PIX de su cuenta con diversos filtros y paginación. Los datos se retornan en un formato amigable, con estados y tipos traducidos al portugués y montos en BRL.
Autenticación
Este endpoint requiere un Bearer token válido en el encabezado Authorization:
Authorization: Bearer <your_token>El token debe obtenerse a través del endpoint Generar Token.
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 | Filtrar por estado: PENDING, CONFIRMED, ERROR |
type | string | Filtrar por tipo: PAYMENT, WITHDRAW, REFUND_IN, REFUND_OUT |
startDate | date | Fecha de inicio (ISO 8601). Predeterminado: últimos 31 días |
endDate | date | Fecha de fin (ISO 8601). Predeterminado: hoy |
externalId | string | Filtrar por su identificador externo |
endToEndId | string | Filtrar por ID End-to-End 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 Retornado |
|---|---|
PENDING | Pendente |
CONFIRMED | Confirmado |
ERROR | Error |
Tipo de Operación
Los tipos de transacción se traducen al portugués:
| Valor Interno | Valor Retornado | Descripción |
|---|---|---|
PAYMENT | Pix in | Recepción PIX |
WITHDRAW | Pix out | Pago PIX |
REFUND_IN | Refund in | Devolución solicitada (débito) |
REFUND_OUT | Refund out | Reversión recibida (crédito) |
Tipo de Movimiento
Indica si la transacción es una entrada o salida en la cuenta:
| Tipo de Operación | Movimiento |
|---|---|
Pix in | CREDIT |
Pix out | DEBIT |
Refund in | DEBIT |
Refund out | CREDIT |
Montos
Todos los valores monetarios se retornan en BRL con 2 decimales:
originalAmount: Monto original de la transacciónfeeAmount: Tarifa aplicadafinalAmount: Monto final (original +/- tarifa)
Enmascaramiento de Documentos
Por seguridad, los documentos de la contraparte están enmascarados:
- CPF:
123.456.789-00->***.456.789-** - CNPJ:
12.345.678/0001-90->**.345.678/****-**
Ejemplos de Uso
Buscar todas las transacciones confirmadas
curl -X GET "https://api.gateway.goforge.com.br/api/transactions?status=CONFIRMED&page=1&size=10" \
-H "Authorization: Bearer your_token_here"const response = await fetch(
'https://api.gateway.goforge.com.br/api/transactions?status=CONFIRMED&page=1&size=10',
{
headers: {
'Authorization': 'Bearer your_token_here'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.gateway.goforge.com.br/api/transactions',
params={
'status': 'CONFIRMED',
'page': 1,
'size': 10
},
headers={
'Authorization': 'Bearer your_token_here'
}
)
data = response.json()
print(data)Buscar transacciones por período
curl -X GET "https://api.gateway.goforge.com.br/api/transactions?startDate=2025-01-01&endDate=2025-01-15&type=PAYMENT" \
-H "Authorization: Bearer your_token_here"const params = new URLSearchParams({
startDate: '2025-01-01',
endDate: '2025-01-15',
type: 'PAYMENT'
});
const response = await fetch(
`https://api.gateway.goforge.com.br/api/transactions?${params}`,
{
headers: {
'Authorization': 'Bearer your_token_here'
}
}
);Buscar por identificador específico
# By externalId (your identifier)
curl -X GET "https://api.gateway.goforge.com.br/api/transactions?externalId=order-12345" \
-H "Authorization: Bearer your_token_here"
# By endToEndId (PIX ID)
curl -X GET "https://api.gateway.goforge.com.br/api/transactions?endToEndId=E12345678901234567890123456789012" \
-H "Authorization: Bearer your_token_here"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,
"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 | Número de registros por página |
total | Total de registros encontrados |
totalPages | Total de páginas disponibles |
hasNext | Indica si hay una página siguiente |
hasPrevious | Indica si hay una página anterior |
Navegar entre páginas
// First page
const page1 = await fetchTransactions({ page: 1, size: 20 });
if (page1.metadata.hasNext) {
// Next page
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 o intervalo de fechas excede 31 días |
401 | Token no proporcionado o inválido |