Crear transacción y referencia del endpoint POST /transactions en contexto de monitoreo
POST /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 rulesResult incluye executionTimeMs, auditId, isNewAudit y rulesExecutionSummary.
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.
executeRules: true (por defecto), se ejecuta el motor de reglas y la respuesta incluye rulesResult y rulesExecutionSummary.
Authorization:
string (longitud mínima: 1)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ónenum - 'PAYMENT' | 'TRANSFER' | 'WITHDRAWAL' | 'DEPOSIT' | 'REFUND' | 'CHARGEBACK' | 'REVERSAL' | 'FEE' | 'ADJUSTMENT' | 'OTHER'CREATED - Transacción creada (por defecto)PROCESSING - Transacción en procesoSUSPENDED - Transacción temporalmente suspendidaSENT - Transacción enviada/transmitidaEXPIRED - Transacción expiradaDECLINED - Transacción rechazada/declinadaREFUNDED - Transacción reembolsada/reversadaSUCCESSFUL - Transacción completada exitosamenteenum - '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.number (> 0)string (longitud: 3)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"string (uuid, opcional)string (opcional)string (longitud máxima: 500, opcional)string (longitud: 2, opcional)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 horariapaymentDetails (object) - Información específica de pago para el origen. Puede enviar cualquier campo relacionado con el pago:
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)pixKey (string) - Clave PIXpixType (enum) - Tipo de clave PIX: email | phone | cpf | cnpj | randomcardLast4 (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 seguimientowalletAddress (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”)walletId (string) - Identificador de wallet digitalwalletProvider (string) - Proveedor de wallet (ej: “paypal”, “venmo”, “cashapp”)walletEmail (string) - Email asociado con el walletisVpn (boolean) - VPN detectadoisTor (boolean) - Red Tor detectadaisProxy (boolean) - Proxy detectadogovernmentAccount (boolean) - Bandera de cuenta gubernamentalstring (uuid, opcional)string (opcional)string (longitud máxima: 500, opcional)string (longitud: 2, opcional)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 comerciantedeviceId (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/provinciapaymentDetails (object) - Información específica de pago para el destino. Puede enviar cualquier campo relacionado con el pago:
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)pixKey (string) - Clave PIXpixType (enum) - Tipo de clave PIX: email | phone | cpf | cnpj | randomcardLast4 (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 seguimientowalletAddress (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”)walletId (string) - Identificador de wallet digitalwalletProvider (string) - Proveedor de wallet (ej: “paypal”, “venmo”, “cashapp”)walletEmail (string) - Email asociado con el walletcryptoExchange (boolean) - Es exchange de criptomonedashighRisk (boolean) - Bandera de comerciante de alto riesgoprivateSector (boolean) - Bandera de sector privadostring (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 partnertransaction_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, OTHERobject (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 distritolatitude (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 similarobject (opcional)Campos Soportados:Identificación de Dispositivo:deviceId (string) - Identificador único del dispositivoexternalId (string) - Su ID externo del dispositivoplatform (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 dispositivobrowser (string) - Nombre del navegador (ej: “Chrome”, “Safari”, “Firefox”)browserVersion (string) - Versión del navegadoruserAgent (string) - String completo del user agentisEmulator (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 proxydeviceFingerprint (string) - Hash único de huella digital del dispositivo para rastreoscreenResolution (string) - Resolución de pantalla (ej: “1920x1080”)language (string) - Idioma del dispositivotimezone (string) - Zona horaria del dispositivostring (longitud máxima: 1000, opcional)string (longitud máxima: 100, opcional)object (opcional, estructura validada)Campos Estándar Soportados:tags (object) - Sistema de Categorización Clave-Valortags le permite agregar pares clave-valor personalizados para categorización flexible, filtrado y gestión de flujos de trabajo. Esto es particularmente útil para:{ "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”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 cumplimientostring (datetime ISO 8601, opcional)boolean (por defecto: true)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 retiroPERSONAL - 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 cuenta5411 - Supermercados5812 - Restaurantes5999 - Venta al por menor diversa6011 - ATM / Retiro de efectivo7995 - Juegos de azarcurrency de una transacción difiere de la moneda base de tu organización, se activa la conversión automáticaamount (original) o amountInUsd (convertido a USD)| 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 |
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)amountInUsd en reglas para asegurar umbrales consistentes independientemente de la moneda de la transacción.
transaction.amountInUsd y transaction.exchangeRate serán nullamountInUsd usarán el amount original como fallback si la conversión fallótransaction). Ver Crear transacción para la estructura completa.
transaction como objeto (una sola transacción creada).
true. Incluye success, executed, result (opcional), rulesExecutionSummary, rulesTriggered, executionTimeMs, auditId, isNewAudit. Ver Crear transacción para el detalle.rulesResult.rulesExecutionSummary. 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.active, shadow), conditions (array de { field, value, operator? }), actions (alerts, suggestion, status, assignedUser).{ 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.shadow.| 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 |
| 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 |
rateSource indica cómo se obtuvo la tasa de cambio: