Saltar al contenido principal

Descripción general

La API de Transacciones te permite recuperar un historial completo de todas las transacciones financieras asociadas con tu cuenta. Esto incluye compras, depósitos, retiros, transferencias, pagos de facturas y todas las demás actividades financieras. Tipo de endpoint: Consulta GraphQL
Autenticación: Requerida (JWT Bearer Token)
Scopes requeridos: LIST_PAYMENT Y LIST_PURCHASES
Límite de tasa: Se aplican los límites estándar de GraphQL

Inicio rápido

Consulta básica



Estructura de la consulta

Parámetros


Estructura de la respuesta

TransactionConnection


Opciones de filtro

TransactionFilterInput

Detalles de los campos de filtro

Filtros de registro y estado

recordId
Tipo: [UUID]
Descripción: Filtra por IDs específicos de registros de transacciones.
Ejemplo:
status
Tipo: [TransactionStatus]
Descripción: Filtra por estado de la transacción.
Opciones:
  • PENDING - La transacción está siendo procesada
  • SETTLED - La transacción se completó exitosamente
Ejemplo:

Filtros por monto

amount, amountGte, amountLte
Tipo: Float
Descripción: Filtra por monto exacto o rango de monto en USD.
  • amount - Coincidencia exacta del monto
  • amountGte - Monto mínimo (mayor o igual)
  • amountLte - Monto máximo (menor o igual)
Ejemplo:
finalAmount, finalAmountGte, finalAmountLte
Tipo: Float
Descripción: Filtra por monto final (monto + comisiones).
Ejemplo:

Filtros de cashback

cashbackAmount, cashbackAmountGte, cashbackAmountLte
Tipo: Float
Descripción: Filtra por monto de cashback ganado.
Ejemplo:
cashbackPercentage, cashbackPercentageGte, cashbackPercentageLte
Tipo: Float
Descripción: Filtra por porcentaje de tasa de cashback.
Ejemplo:

Filtros de comisiones

feeAmount, feeAmountGte, feeAmountLte
Tipo: Float
Descripción: Filtra por el monto de la comisión de la transacción.
Ejemplo:

Filtros por fecha

createdGte, createdLte
Tipo: DateTime
Formato: ISO 8601 (p. ej., 2025-01-01T00:00:00Z)
Descripción: Filtra por rango de fecha de creación de la transacción.
Ejemplo:
updatedGte, updatedLte
Tipo: DateTime
Descripción: Filtra por rango de fecha de la última actualización de la transacción.

Filtros por comercio

merchantId
Tipo: [UUID]
Descripción: Filtra por IDs específicos de comercios.
Ejemplo:
merchant
Tipo: [String]
Descripción: Filtra por nombres de comercios (coincide con el campo destination).
Ejemplo:

Propiedades de la transacción

transactionType
Tipo: [String]
Descripción: Filtra por tipos específicos de transacción.
Valores comunes:
  • Add Money - Depósitos
  • Gift Card Purchase - Compras de tarjeta de regalo
  • Transfer - In - Transferencias entrantes
  • Transfer - Out - Transferencias salientes
  • Virtual Card Purchase - Compras con tarjeta virtual
  • Withdrawal

Ejemplo:
channel
Tipo: [String!]
Descripción: Filtra por el canal de la plataforma.
Valores comunes:
  • WEB - Navegador web
  • MOBILE - App móvil
  • API - Solicitudes API
Ejemplo:
category
Tipo: [String]
Descripción: Filtra por categoría de transacción.
Ejemplo:

Filtros de tarjeta virtual

virtualCardProgram
Tipo: [String]
Descripción: Filtra por programa/emisor de tarjeta virtual.
Ejemplo:
virtualCard
Tipo: [UUID]
Descripción: Filtra por IDs específicos de tarjetas virtuales.
Ejemplo:

Otros filtros

fundingSource
Tipo: [String]
Descripción: Busca nombres de fuentes de fondos (coincidencia parcial en origen o destino).
Ejemplo:
referenceId
Tipo: String
Descripción: Filtra por ID de referencia externa (p. ej., ID visible de compra).
Ejemplo:
liabilityId
Tipo: UUID
Descripción: Filtra por ID de obligación (para pagos de facturas).

Paginación

OffsetInput

Ejemplo - Página 1:
Ejemplo - Página 2:
Ejemplo - Verificar si existen más páginas:

Tipo Transaction

Descripciones de campos

Campos principales de la transacción

Detalles financieros

Instantáneas de saldo

Importante: Todos los campos de saldo muestran el saldo después de que se aplicó esta transacción.

Detalles de la transacción

Información del comercio

Información de tarjeta virtual

Conversión de moneda

Metadatos


Ejemplos

Ejemplo 1: Lista básica de transacciones

Consulta:
Respuesta:

Ejemplo 2: Filtrado por rango de fechas

Consulta:

Ejemplo 3: Solo compras con saldos

Consulta:
Respuesta:

Ejemplo 4: Transacciones con alto cashback

Consulta:

Ejemplo 5: Filtro por rango de montos

Consulta:

Ejemplo 6: Transacciones con tarjeta virtual

Consulta:

Ejemplo 7: Ejemplo de paginación

Consulta - Obtener la primera página y verificar si hay más:
La respuesta muestra hasNextPage=true:
Consulta - Obtener la segunda página:

Manejo de errores

Errores comunes

Token faltante o inválido

Estado HTTP: 401 No autorizado

Permisos insuficientes

Estado HTTP: 403 Prohibido

Parámetros de filtro inválidos

Estado HTTP: 400 Solicitud incorrecta

Límite de tasa excedido

Estado HTTP: 429 Demasiadas solicitudes

Mejores prácticas

1. Usa la paginación de forma efectiva

Siempre verifica hasNextPage para determinar si existen más resultados:

2. Solicita solo los campos necesarios

Especifica únicamente los campos que necesitas para reducir el tamaño de la respuesta:

3. Usa filtros de fecha para consultas históricas

Al consultar transacciones antiguas, utiliza siempre filtros de fecha:

4. Cachea transacciones liquidadas

Las transacciones con status: SETTLED son inmutables y se pueden cachear:

5. Combina filtros de forma eficiente

Usa filtros de rango para acotar resultados antes de aplicar otros filtros:

Límites de tasa

Encabezados:
  • X-RateLimit-Limit - Máximo de solicitudes permitidas
  • X-RateLimit-Remaining - Solicitudes restantes en la ventana actual
  • X-RateLimit-Reset - Momento en que se restablece el límite (timestamp Unix)

Ejemplos de código

JavaScript/TypeScript


Python


cURL


Preguntas frecuentes

P: ¿Cuál es el número máximo de transacciones que puedo recuperar en una sola solicitud?

R: El límite máximo es de 20 transacciones por solicitud. Usa el campo hasNextPage para implementar la paginación.

P: ¿Hasta qué fecha llega el historial de transacciones?

R: Todas las transacciones desde la creación de la cuenta están disponibles indefinidamente.

P: ¿Se incluyen las transacciones pendientes?

R: Sí, las transacciones pendientes se incluyen por defecto. Filtra por status: [SETTLED] para excluirlas.

P: ¿En qué zona horaria están las marcas de tiempo?

R: Todas las marcas de tiempo están en UTC (formato ISO 8601).

P: ¿Qué scopes necesito?

R: Necesitas ambos scopes LIST_PAYMENT Y LIST_PURCHASES.

P: ¿Puedo filtrar por ID de usuario dentro de mi cuenta?

R: No, la API siempre devuelve todas las transacciones de tu cuenta. No hay filtrado a nivel de usuario.

P: ¿Cuál es la diferencia entre los filtros amount y finalAmount?

R:
  • amount filtra el monto base de la transacción
  • finalAmount filtra monto + comisiones (el total cobrado al usuario)

P: ¿Cómo filtro por rango de fechas?

R: Usa createdGte y createdLte para la fecha de creación:

Soporte


Registro de cambios

v1.0.0 (Branch: 13-fluz-15659-add-transactions-query-and-webhook-to-api)

  • Lanzamiento inicial de la API de consulta de Transacciones
  • Soporte para filtrado integral (15+ tipos de filtros)
  • Paginación con el tipo de respuesta TransactionConnection
  • Instantáneas de saldo incluidas en los registros de transacción
  • Requiere los scopes LIST_PAYMENT y LIST_PURCHASES
  • Acceso a transacciones a nivel de cuenta únicamente

¿Necesitas ayuda? Contacta a nuestro equipo de soporte para desarrolladores en api-support@fluz.app o visita nuestro Developer Portal.