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 GraphQLAutenticación: Requerida (JWT Bearer Token)
Scopes requeridos:
LIST_PAYMENT Y LIST_PURCHASESLí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 procesadaSETTLED- La transacción se completó exitosamente
Filtros por monto
amount, amountGte, amountLte
Tipo: FloatDescripción: Filtra por monto exacto o rango de monto en USD.
amount- Coincidencia exacta del montoamountGte- Monto mínimo (mayor o igual)amountLte- Monto máximo (menor o igual)
finalAmount, finalAmountGte, finalAmountLte
Tipo: FloatDescripción: Filtra por monto final (monto + comisiones). Ejemplo:
Filtros de cashback
cashbackAmount, cashbackAmountGte, cashbackAmountLte
Tipo: FloatDescripción: Filtra por monto de cashback ganado. Ejemplo:
cashbackPercentage, cashbackPercentageGte, cashbackPercentageLte
Tipo: FloatDescripción: Filtra por porcentaje de tasa de cashback. Ejemplo:
Filtros de comisiones
feeAmount, feeAmountGte, feeAmountLte
Tipo: FloatDescripción: Filtra por el monto de la comisión de la transacción. Ejemplo:
Filtros por fecha
createdGte, createdLte
Tipo: DateTimeFormato: 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: DateTimeDescripció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ósitosGift Card Purchase- Compras de tarjeta de regaloTransfer - In- Transferencias entrantesTransfer - Out- Transferencias salientesVirtual Card Purchase- Compras con tarjeta virtualWithdrawal
Ejemplo:
channel
Tipo: [String!]Descripción: Filtra por el canal de la plataforma. Valores comunes:
WEB- Navegador webMOBILE- App móvilAPI- Solicitudes API
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: StringDescripción: Filtra por ID de referencia externa (p. ej., ID visible de compra). Ejemplo:
liabilityId
Tipo: UUIDDescripción: Filtra por ID de obligación (para pagos de facturas).
Paginación
OffsetInput
Ejemplo - Página 1:
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:Ejemplo 2: Filtrado por rango de fechas
Consulta:Ejemplo 3: Solo compras con saldos
Consulta: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:Manejo de errores
Errores comunes
Token faltante o inválido
Permisos insuficientes
Parámetros de filtro inválidos
Límite de tasa excedido
Mejores prácticas
1. Usa la paginación de forma efectiva
Siempre verificahasNextPage 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 constatus: 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 permitidasX-RateLimit-Remaining- Solicitudes restantes en la ventana actualX-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 campohasNextPage 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 porstatus: [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 scopesLIST_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:
amountfiltra el monto base de la transacciónfinalAmountfiltra monto + comisiones (el total cobrado al usuario)
P: ¿Cómo filtro por rango de fechas?
R: UsacreatedGte y createdLte para la fecha de creación:
Soporte
- Estado de la API: https://status.fluz.app
- Portal para desarrolladores: https://developers.fluz.app
- Correo de soporte: api-support@fluz.app
- Comunidad en Slack: https://fluz-dev.slack.com
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_PAYMENTyLIST_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.