API Reference - Monitoreo de Transacciones
Referencia API
Endpoint Crear Transacción para Monitoreo
Referencia del endpoint POST /transactions para monitoreo: esquema de request, conversión de moneda, métodos de pago y ejemplos prácticos para fraude y AML.
POST
API Reference - Monitoreo de Transacciones
Referencia canónica del endpoint
La referencia oficial del endpointPOST /transactions (estructura de respuesta, errores, campos) está en:
Crear transacción (API Reference → Transacciones)
En esa página encontrarás la respuesta actual: transaction es un objeto (la transacción creada) y, cuando se ejecutan reglas, rulesExecutionSummary va en la raíz de la respuesta (ver Resumen de Ejecución de Reglas).
Esta página añade contexto de uso para monitoreo: conversión de moneda, ejemplos por método de pago (PIX, tarjeta, multi-moneda) y campos detallados.
Endpoint: Crear Transacción
executeRules: true (por defecto), se ejecuta el motor de reglas y la respuesta incluye rulesExecutionSummary en la raíz cuando se ejecutan las reglas.
Autenticación
Todas las solicitudes deben incluir una clave API en el encabezadoAuthorization:
Encabezados Requeridos
Cuerpo de la Solicitud
Tu identificador único para esta transacción en tu sistemaTipo:
string (longitud mínima: 1)Tipo de transacción. Opciones:
PAYMENT- Compra o pago a comercianteTRANSFER- Transferencia entre cuentas/usuariosWITHDRAWAL- Retiro de efectivo o débito de cuentaDEPOSIT- Depósito o crédito de cuentaREFUND- Reembolso de una transacción anteriorCHARGEBACK- Disputa de contracargoREVERSAL- Reversión de transacciónFEE- Cargo de comisión o tarifaADJUSTMENT- Ajuste de saldoOTHER- Otro tipo de transacción
enum - 'PAYMENT' | 'TRANSFER' | 'WITHDRAWAL' | 'DEPOSIT' | 'REFUND' | 'CHARGEBACK' | 'REVERSAL' | 'FEE' | 'ADJUSTMENT' | 'OTHER'Estado de la transacción. Sigue un modelo de máquina de estados con estados abiertos y cerrados.Estados Abiertos (pueden transicionar a otros estados):
CREATED- Transacción creada (por defecto)PROCESSING- Transacción en procesoSUSPENDED- Transacción temporalmente suspendida
SENT- Transacción enviada/transmitidaEXPIRED- Transacción expiradaDECLINED- Transacción rechazada/declinadaREFUNDED- Transacción reembolsada/reversadaSUCCESSFUL- Transacción completada exitosamente
enum - 'CREATED' | 'PROCESSING' | 'SUSPENDED' | 'SENT' | 'EXPIRED' | 'DECLINED' | 'REFUNDED' | 'SUCCESSFUL' (por defecto: ‘CREATED’)Importante: Una vez que una transacción alcanza un estado cerrado, no puede volver a un estado abierto. Esto garantiza la integridad de la transacción y un rastro de auditoría apropiado.Monto de la transacción (debe ser positivo)Tipo:
number (> 0)Código ISO 4217 de moneda (ej: “USD”, “BRL”, “EUR”)Tipo:
string (longitud: 3)Método de pago utilizado para la transacciónTipo:
string (enum, opcional)Valores Posibles:CARD- Pago con tarjeta de crédito o débitoACH- Automated Clearing House (transferencia bancaria US)PIX- Sistema de pagos instantáneos de BrasilTED- Transferencia bancaria brasileña (Transferência Eletrônica Disponível)BOLETO- Boleto de pago brasileñoWALLET- Billetera digital (PayPal, Venmo, etc.)SWIFT- Transferencia internacional SWIFTIBAN- Transferencia bancaria basada en IBANCBU- Cuenta bancaria argentina (Clave Bancaria Uniforme)CVU- Cuenta virtual argentina (Clave Virtual Uniforme)DEBIN- Sistema de débito instantáneo argentinoGENERIC_BANK_ACCOUNT- Transferencia de cuenta bancaria genéricaMPESA- M-Pesa mobile money (Kenia)UPI- Unified Payments Interface (India)CHECK- Pago con chequeECHECK- Cheque electrónicoQR_CODE- Pago con código QRONLINE_PAYMENT- Pago online genéricoWITHDRAWAL_ORDER- Orden de retiro
"PIX" o "CARD"UUID de la entidad origen (remitente) en el sistema gu1Tipo:
string (uuid, opcional)Su ID externo para la entidad origenTipo:
string (opcional)CUIT o documento del origen en el cuerpo raíz. Tercer criterio de vinculación (tras
originEntityId y originExternalId); match normalizado con entity.taxId. Si hay coincidencia, se rellenan enlace, nombre y país. Máx. 50 caracteres. Tipo: string (opcional)Nombre de la entidad origen (remitente)Tipo:
string (longitud máxima: 500, opcional)Código de país ISO 3166-1 alpha-2 de la entidad origenTipo:
string (longitud: 2, opcional)Información contextual sobre el origen de la transacción (dispositivo, geolocalización, cuenta, flags de seguridad). Estos campos coinciden con el schema de la API; también puedes enviar campos custom adicionales (ej. Se permiten campos personalizados - el sistema validará los campos conocidos y preservará los personalizados.
paymentDetails anidado u otras claves) y se almacenarán.Tipo: object (opcional, estructura validada; claves extra permitidas)Diferencia Clave:originCountry(campo directo) = País de la entidadoriginDetails.country= País del dispositivo/IP al momento de la transacción (puede diferir si está viajando)
deviceId(string) - Identificador del dispositivodeviceFingerprint(string) - Hash de huella digital del dispositivodeviceType(enum) -mobile|desktop|tablet|pos|atmuserAgent(string) - User agent del navegadoripAddress(string) - Dirección IP (formato validado)
country(string) - Código ISO de 2 letrascity(string) - Nombre de la ciudadregion(string) - Estado/provincialatitude(number) - Latitud (-90 a 90)longitude(number) - Longitud (-180 a 180)timezone(string) - Identificador de zona horaria
paymentDetails(object) - Información específica de pago para el origen. Puede enviar cualquier campo relacionado con el pago:- Detalles Bancarios/Cuenta:
accountNumber(string) - Número de cuentaaccountType(enum) -checking|savings|business|personalbankCode(string) - Código del bancobankName(string) - Nombre del bancoroutingNumber(string) - Routing number (US)swiftCode(string) - Código SWIFT/BICiban(string) - IBAN (International Bank Account Number)
- Detalles PIX (Brasil):
pixKey(string) - Clave PIXpixType(enum) - Tipo de clave PIX:email|phone|cpf|cnpj|random
- Detalles de Tarjeta:
cardLast4(string) - Últimos 4 dígitos de la tarjetacardBrand(string) - Marca de tarjeta (Visa, Mastercard, Amex, etc.)cardholderName(string) - Nombre en la tarjetacardBin(string) - Primeros 6 dígitos de la tarjeta (BIN)cardType(enum) -credit|debit|prepaidcardCountry(string) - País emisor de la tarjeta (ISO 2 letras)cardExpiry(string) - Fecha de vencimiento (MM/YY)cardFingerprint(string) - Huella digital única de la tarjeta para seguimiento
- Detalles Crypto:
walletAddress(string) - Dirección de wallet de criptomonedawalletType(string) - Tipo de wallet (ej: “metamask”, “coinbase”)blockchain(string) - Red blockchain (ej: “ethereum”, “bitcoin”)tokenSymbol(string) - Símbolo del token (ej: “ETH”, “BTC”, “USDT”)
- Wallet/Pago Digital:
walletId(string) - Identificador de wallet digitalwalletProvider(string) - Proveedor de wallet (ej: “paypal”, “venmo”, “cashapp”)walletEmail(string) - Email asociado con el wallet
- Y cualquier otro campo relacionado con el pago que necesite
- Detalles Bancarios/Cuenta:
isVpn(boolean) - VPN detectadoisTor(boolean) - Red Tor detectadaisProxy(boolean) - Proxy detectadogovernmentAccount(boolean) - Bandera de cuenta gubernamental
UUID de la entidad destino (receptor) en el sistema gu1Tipo:
string (uuid, opcional)Su ID externo para la entidad destinoTipo:
string (opcional)Documento / tax del destino en la raíz; tercer criterio, misma lógica que
originTaxId. Tipo: string (opcional)Nombre de la entidad destino (receptor)Tipo:
string (longitud máxima: 500, opcional)Código de país ISO 3166-1 alpha-2 de la entidad destinoTipo:
string (longitud: 2, opcional)Información contextual sobre el destino de la transacción (comerciante, dispositivo, geolocalización, cuenta, flags de riesgo). Estos campos coinciden con el schema de la API; también puedes enviar campos custom adicionales (ej. Se permiten campos personalizados - el sistema validará los campos conocidos y preservará los personalizados.
paymentDetails anidado u otras claves) y se almacenarán.Tipo: object (opcional, estructura validada; claves extra permitidas)Campos Soportados:Información de Comerciante:mcc(string) - Merchant Category Code (4 dígitos, ISO 18245)mccDescription(string) - Descripción del MCC (ej: “Restaurants”)merchantId(string) - Identificador del comerciantemerchantName(string) - Nombre del comerciantemerchantType(string) - Tipo/categoría del comerciante
deviceId(string) - Identificador del dispositivodeviceType(enum) -pos|online|mobile|atmipAddress(string) - Dirección IP (formato validado)
country(string) - Código ISO de 2 letrascity(string) - Nombre de la ciudadregion(string) - Estado/provincia
paymentDetails(object) - Información específica de pago para el destino. Puede enviar cualquier campo relacionado con el pago:- Detalles Bancarios/Cuenta:
accountNumber(string) - Número de cuenta destinoaccountType(enum) -checking|savings|business|merchantbankCode(string) - Código del bancobankName(string) - Nombre del bancoroutingNumber(string) - Routing number (US)swiftCode(string) - Código SWIFT/BICiban(string) - IBAN (International Bank Account Number)
- Detalles PIX (Brasil):
pixKey(string) - Clave PIXpixType(enum) - Tipo de clave PIX:email|phone|cpf|cnpj|random
- Detalles de Tarjeta:
cardLast4(string) - Últimos 4 dígitos de la tarjetacardBrand(string) - Marca de tarjeta (Visa, Mastercard, Amex, etc.)cardholderName(string) - Nombre en la tarjetacardBin(string) - Primeros 6 dígitos de la tarjeta (BIN)cardType(enum) -credit|debit|prepaidcardCountry(string) - País emisor de la tarjeta (ISO 2 letras)cardExpiry(string) - Fecha de vencimiento (MM/YY)cardFingerprint(string) - Huella digital única de la tarjeta para seguimiento
- Detalles Crypto:
walletAddress(string) - Dirección de wallet de criptomonedawalletType(string) - Tipo de wallet (ej: “metamask”, “coinbase”)blockchain(string) - Red blockchain (ej: “ethereum”, “bitcoin”)tokenSymbol(string) - Símbolo del token (ej: “ETH”, “BTC”, “USDT”)
- Wallet/Pago Digital:
walletId(string) - Identificador de wallet digitalwalletProvider(string) - Proveedor de wallet (ej: “paypal”, “venmo”, “cashapp”)walletEmail(string) - Email asociado con el wallet
- Y cualquier otro campo relacionado con el pago que necesite
- Detalles Bancarios/Cuenta:
cryptoExchange(boolean) - Es exchange de criptomonedashighRisk(boolean) - Bandera de comerciante de alto riesgoprivateSector(boolean) - Bandera de sector privado
El canal a través del cual se inició la transacción (máximo 50 caracteres).Tipo:
string (longitud máxima: 50, opcional)Ejemplos Comunes:mobile_app- Aplicación móvilweb_browser- Navegador webpos_terminal- Terminal punto de ventaapi- Integración API directaatm- Cajero automáticophone_banking- Banca telefónicabranch- Sucursal físicacall_center- Centro de llamadaspartner_api- Integración con partner
Razón opcional del resultado de la transacción (ej. rechazo, fallo, límite excedido). El cliente puede enviar cualquier valor del enum
transaction_reason_type. Si se omite, el sistema usa WITHOUT_REASON. No es obligatorio — las integraciones actuales siguen siendo válidas.Tipo: string (enum, opcional, valor por defecto: WITHOUT_REASON)Valores comunes (el enum completo tiene 60+ valores):WITHOUT_REASON- Sin razón específica (por defecto si se omite)INSUFFICIENT_FUNDS- Fondos insuficientesLIMIT_EXCEEDED,DAILY_LIMIT_EXCEEDED,MONTHLY_LIMIT_EXCEEDED,TRANSACTION_LIMIT_EXCEEDEDACCOUNT_BLOCKED,ACCOUNT_FROZEN,ACCOUNT_CLOSEDCARD_EXPIRED,CARD_BLOCKED,CARD_LOST_OR_STOLEN,INVALID_CARD,INVALID_ACCOUNTFRAUD_SUSPECTED,COMPLIANCE_BLOCK,SANCTIONS_MATCH,AML_ALERT,RISK_SCORE_THRESHOLDMERCHANT_BLOCKED,COUNTRY_RESTRICTION,CURRENCY_NOT_SUPPORTED,CHANNEL_NOT_ALLOWEDSYSTEM_ERROR,TIMEOUT,INVALID_AMOUNT,KYC_PENDING,KYC_REJECTEDEXPIRED,CANCELLED_BY_USER,CANCELLED_BY_MERCHANT,REFUSED_BY_ISSUER,DO_NOT_HONORINVALID_PIN,PIN_TRIES_EXCEEDED,INSUFFICIENT_LIQUIDITY,VALIDATION_FAILED,OTHER
Información de ubicación geográfica donde ocurrió la transacción. Útil para detección de fraude, análisis de riesgo geográfico y reportes de cumplimiento.Tipo: Casos de Uso:
object (opcional)Campos Soportados:Información de Dirección:country(string) - Código de país ISO 3166-1 alpha-2 (ej: “US”, “BR”, “AR”)countryName(string) - Nombre completo del paíscity(string) - Nombre de la ciudadregion(string) - Estado o provinciaaddress(string) - Dirección completastreet(string) - Nombre de la callestreetNumber(string) - Número de callepostalCode(string) - Código postalneighborhood(string) - Barrio o distrito
latitude(number) - Coordenada de latitud (-90 a 90)longitude(number) - Coordenada de longitud (-180 a 180)
timezone(string) - Zona horaria IANA (ej: “America/Sao_Paulo”)placeId(string) - ID de Google Places o identificador similar
- Detección de Fraude: Identificar transacciones desde ubicaciones inusuales o países de alto riesgo
- Análisis Geográfico: Analizar patrones de transacciones por región
- Cumplimiento: Rastrear transacciones transfronterizas para reportes regulatorios
- Reglas de Velocidad: Detectar viajes imposibles (mismo usuario en diferentes ubicaciones en poco tiempo)
Información del dispositivo para la transacción. Crítico para detección de fraude, fingerprinting de dispositivos y análisis de seguridad.Tipo: Casos de Uso:
object (opcional)Campos Soportados:Identificación de Dispositivo:deviceId(string) - Identificador único del dispositivoexternalId(string) - Su ID externo del dispositivo
platform(enum) - Plataforma del dispositivo:android,ios,web,desktop,mobile,tablet,pos,atmosName(string) - Nombre del sistema operativo (ej: “Android”, “iOS”, “Windows”, “macOS”)osVersion(string) - Versión del SO (ej: “13.0”, “16.4”)
manufacturer(string) - Fabricante del dispositivo (ej: “Samsung”, “Apple”)model(string) - Modelo del dispositivo (ej: “Galaxy S22”, “iPhone 14”)brand(string) - Marca del dispositivodeviceName(string) - Nombre asignado por el usuario al dispositivo
browser(string) - Nombre del navegador (ej: “Chrome”, “Safari”, “Firefox”)browserVersion(string) - Versión del navegadoruserAgent(string) - String completo del user agent
isEmulator(boolean) - Si el dispositivo es un emuladorisRooted(boolean) - Si el dispositivo está rooteado (Android)isJailbroken(boolean) - Si el dispositivo está jailbreakeado (iOS)
ipAddress(string) - Dirección IP (formato validado)isVpn(boolean) - Si la conexión es a través de VPNisTor(boolean) - Si la conexión es a través de TorisProxy(boolean) - Si la conexión es a través de proxy
deviceFingerprint(string) - Hash único de huella digital del dispositivo para rastreo
screenResolution(string) - Resolución de pantalla (ej: “1920x1080”)language(string) - Idioma del dispositivotimezone(string) - Zona horaria del dispositivo
- Detección de Fraude: Identificar dispositivos sospechosos (emuladores, dispositivos rooteados, uso de VPN)
- Fingerprinting de Dispositivo: Rastrear dispositivos únicos a través de transacciones para análisis de comportamiento
- Análisis de Seguridad: Detectar anomalías en patrones de dispositivos (nuevo dispositivo, velocidad de dispositivo imposible)
- Cumplimiento: Documentar información del dispositivo para rastros de auditoría
- Experiencia de Usuario: Personalizar experiencia basada en tipo y capacidades del dispositivo
Descripción de la transacciónTipo:
string (longitud máxima: 1000, opcional)Categoría de transacción para agrupaciónTipo:
string (longitud máxima: 100, opcional)Metadatos personalizados para almacenar información adicional de la transacción.Tipo:
El campo Ejemplo 2: Categorización de negocioEjemplo 3: Seguimiento multi-canalEjemplo 4: Operaciones bancariasFiltrar transacciones por tags: Posteriormente puede filtrar transacciones usando estos tags en endpoints de listado o dashboards.Se permiten campos personalizados más allá de los estándar y serán preservados.
object (opcional, estructura validada)Campos Estándar Soportados:tags (object) - Sistema de Categorización Clave-Valor
El campo tags le permite agregar pares clave-valor personalizados para categorización flexible, filtrado y gestión de flujos de trabajo. Esto es particularmente útil para:- Filtrado personalizado en dashboards y reportes
- Activar lógica de negocio específica
- Seguimiento del estado de revisión
- Categorización por nivel de riesgo o fuente
- Estados de flujo de trabajo personalizados
{ "clave1": "valor1", "clave2": "valor2" }Patrones Comunes de Tags:risk_level(string) - “low”, “medium”, “high”, “critical”source(string) - “api”, “web”, “mobile”, “batch”, “import”channel(string) - “online”, “branch”, “atm”, “call_center”, “partner”reviewed(boolean) - false (pendiente de revisión), true (revisado)category(string) - “payroll”, “supplier”, “refund”, “investment”, “loan”, “bill_payment”priority(string) - “low”, “normal”, “high”, “urgent”team(string) - “compliance”, “fraud”, “support”, “operations”campaign(string) - Identificador de campaña de marketing o negocioapproved_by(string) - Usuario o sistema que aprobórequires_approval(boolean) - Requiere aprobación manualcustomer_segment(string) - “vip”, “regular”, “new”, “dormant”product_type(string) - “savings”, “investment”, “loan”, “transfer”region(string) - “north”, “south”, “latam”, “emea”, “apac”business_unit(string) - “retail”, “corporate”, “wealth”, “sme”
Otros Campos de Metadata:
purpose(string) - Propósito de la transacción (ej: “salary”, “invoice_payment”)frequency(string) - Frecuencia de la transacción (ej: “monthly”, “one-time”)contract_number(string) - Número de contrato (para pagos empresariales)enhanced_due_diligence(boolean) - Bandera de EDDblock_reason(string) - Razón de bloqueocompliance_alert(boolean) - Bandera de alerta de cumplimiento
Cuándo ocurrió la transacción (timestamp ISO 8601). Por defecto es la hora actual si no se proporciona.Tipo:
string (datetime ISO 8601, opcional)Si ejecutar reglas de riesgo automáticamente después de crear la transacciónTipo:
boolean (por defecto: true)Métodos de Pago
CARD- Pago con tarjeta de crédito/débitoACH- Transferencia ACH (EE.UU.)PIX- Pago instantáneo brasileñoTED- Transferencia bancaria brasileña (TED)BOLETO- Pago con boleto brasileñoWALLET- Pago con billetera digitalSWIFT- Transferencia internacional SWIFTIBAN- Transferencia basada en IBANCBU- Cuenta bancaria argentina (CBU)CVU- Billetera virtual argentina (CVU)DEBIN- Débito directo argentinoGENERIC_BANK_ACCOUNT- Transferencia bancaria genéricaMPESA- Dinero móvil M-PesaUPI- Pago UPI de IndiaCHECK- Cheque físicoECHECK- Cheque electrónicoQR_CODE- Pago con código QRONLINE_PAYMENT- Pago en línea genéricoWITHDRAWAL_ORDER- Orden de retiro
Tipos de Cuenta
PERSONAL- Cuenta personalBUSINESS- Cuenta empresarialMERCHANT- Cuenta de comercianteSAVINGS- Cuenta de ahorrosCHECKING- Cuenta corrienteINVESTMENT- Cuenta de inversiónESCROW- Cuenta en garantíaPREPAID- Cuenta prepagoOTHER- Otro tipo de cuenta
Códigos MCC
Los Merchant Category Codes (MCC) clasifican tipos de negocio:5411- Supermercados5812- Restaurantes5999- Venta al por menor diversa6011- ATM / Retiro de efectivo7995- Juegos de azar
Tags y Metadata
Multi-Currency Support
gu1 proporciona conversión automática de moneda para todas las transacciones. Cada organización tiene una moneda base configurada (por defecto: USD), y todas las transacciones se convierten automáticamente a esta moneda base para una evaluación de reglas y reportes consistentes.Cómo Funciona
- Detección Automática: Cuando la
currencyde una transacción difiere de la moneda base de tu organización, se activa la conversión automática - Tasas en Tiempo Real: Las tasas de cambio se obtienen de nuestro servicio de monedas en tiempo real
- Almacenamiento Dual de Montos: Se almacenan tanto los montos originales como los convertidos
- Evaluación de Reglas: Las reglas pueden usar
amount(original) oamountInUsd(convertido a USD)
Monedas Soportadas
Más de 150 monedas soportadas incluyendo:- Principales: USD, EUR, GBP, JPY, CHF, CAD, AUD
- América Latina: BRL, ARS, MXN, COP, CLP, PEN, UYU
- Asia: CNY, INR, KRW, SGD, HKD, THB, MYR
- Crypto: BTC, ETH, USDT, USDC
- Y muchas más (estándar ISO 4217)
Fuentes de Tasa de Cambio
| Fuente | Descripción | Cuándo se Usa |
|---|---|---|
ms-provider | Tasas en tiempo real del microservicio de monedas | Fuente primaria |
cache-fallback | Tasas en caché cuando el servicio no está disponible | Fallback (< 1h de antigüedad) |
no-conversion | No se necesita conversión (misma moneda) | Igual a la base |
client-provided | Tasa personalizada proporcionada por el cliente | Override opcional |
Campos de respuesta
Los datos de conversión van en el objeto transaction:transaction.amount,transaction.currency– monto y moneda originalestransaction.amountInUsd– monto convertido a USD (null si falló la conversión o no aplica)transaction.exchangeRate,transaction.rateSource– tasa usada y fuente (ej.ms-provider)
Uso de Montos Convertidos en Reglas
Las reglas pueden referenciar ambos montos:amountInUsd en reglas para asegurar umbrales consistentes independientemente de la moneda de la transacción.
Manejo de Errores
Si la conversión de moneda falla:- El procesamiento de la transacción continúa con el monto original
transaction.amountInUsdytransaction.exchangeRateserán null- Las reglas que usan
amountInUsdusarán elamountoriginal como fallback si la conversión falló - El error se registra pero no bloquea la transacción
Ejemplo: Transacción Multi-Moneda
transaction). Ver Crear transacción para la estructura completa.
Complete Request Examples
PIX Transfer (Brazil)
Card Payment
Multi-Currency Transfer
Response
Detalle completo en Crear transacción. La respuesta devuelvetransaction como objeto (una sola transacción creada).
Success Response (201 Created)
Response Fields (resumen)
La transacción creada. Incluye id, externalId, type, status, amount (string), currency, amountInUsd, exchangeRate, rateSource, riskScore (string), riskFactors, flagged, reason, originDetails, destinationDetails, processingTimeMs, processedAt, createdAt, updatedAt. Ver Crear transacción para la lista completa.
En la raíz de la respuesta. Solo presente cuando executeRules es true y se ejecutó el motor de reglas. Resumen de qué reglas hicieron match (hit) y cuáles no (no hit), acciones ejecutadas y puntuación total. No se incluye cuando
executeRules es false. Estructura completa y ejemplo: Resumen de Ejecución de Reglas.- rulesHit (array) - Reglas cuyas condiciones se cumplieron. Cada ítem: name, description, score, priority, category, status (ej.
active,shadow), conditions (array de{ field, value, operator? }), actions (alerts, suggestion, status, assignedUser). - rulesNoHit (array) - Reglas evaluadas cuyas condiciones no se cumplieron. Misma estructura que rulesHit (incluye acciones configuradas, no ejecutadas).
- actionsExecuted (object) - Acciones ejecutadas agregadas de todas las reglas que hicieron hit: alerts (array de
{ name?, type?, severity?, description? }), suggestion (BLOCK|SUSPEND|FLAG, la de mayor peso), status (estado de entidad aplicado, si hubo), assignedUser ({ userId }, si hubo), customKeys (array de strings, opcional) — claves de acciones personalizadas de las reglas que hicieron match (ej.require_kyc,flag_for_review). Presente cuando alguna regla que hizo match tiene una acción personalizada con clave; para integraciones/workflows. - totalScore (number) - Suma del score de todas las reglas que hicieron hit y no están en estado
shadow.
Transaction Status Values
El estado de la transacción sigue un modelo de máquina de estados con estados abiertos y cerrados:Estados Abiertos (Pueden Transicionar)
| Estado | Descripción | Puede Transicionar A |
|---|---|---|
CREATED | Transacción creada (estado inicial) | PROCESSING, SUSPENDED, SENT, EXPIRED, DECLINED, SUCCESSFUL |
PROCESSING | Transacción siendo procesada | SUSPENDED, SENT, EXPIRED, DECLINED, REFUNDED, SUCCESSFUL |
SUSPENDED | Transacción temporalmente suspendida | PROCESSING, SENT, EXPIRED, DECLINED, REFUNDED, SUCCESSFUL |
Estados Cerrados (Finales)
| Estado | Descripción | Nota |
|---|---|---|
SENT | Transacción enviada/transmitida | Estado final - no más transiciones |
EXPIRED | Transacción expirada | Estado final - no más transiciones |
DECLINED | Transacción rechazada/declinada | Estado final - no más transiciones |
REFUNDED | Transacción reembolsada/reversada | Estado final - no más transiciones |
SUCCESSFUL | Transacción completada exitosamente | Estado final - no más transiciones |
Risk Score Ranges
Puntuación de riesgo de 0 a 100 (almacenada con precisión de 2 decimales):- 0-30: Riesgo bajo (verde)
- 31-60: Riesgo medio (amarillo)
- 61-80: Riesgo alto (naranja)
- 81-100: Riesgo crítico (rojo)
Currency Conversion Rate Sources
El camporateSource indica cómo se obtuvo la tasa de cambio:
- ms-provider: Tasa en tiempo real del microservicio de monedas (fuente primaria)
- cache-fallback: Tasa en caché (< 1h de antigüedad) cuando el servicio no está disponible
- no-conversion: No se necesita conversión (la moneda ya es USD)
- null: La conversión falló o no aplica
Error Responses
400 Bad Request - Validation Error
Ejemplo 1: Missing required fields400 Bad Request - Missing Organization
401 Unauthorized
500 Internal Server Error
Next Steps
Rules Configuration
Learn to create rules
Fraud Detection
Fraud detection examples
AML Monitoring
AML compliance rules
Overview
Back to overview