Saltar al contenido principal

Glosario de campos

A continuación se muestra el glosario consolidado de los esquemas importados:

Diccionario de Datos

Documentación técnica de campos y estructuras de respuesta.

Mostrando 426 campos

accessToken

string

Token JWT para usar en los headers Authorization.

Ejemplo: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

accessTokenExpiry

integer (int64)

Fecha de expiración del access token en **milisegundos epoch** (UTC). Por defecto el access token vive 15 minutos.

Ejemplo: 1767225600000

accountBank

object

Sin descripción disponible.

Propiedades del objeto:
  • number:
  • rif:
  • phoneNumber:

accountBank_id

string (uuid)

Identificador único de la cuenta bancaria en nuestros sistemas.

accountsBank

array

Sin descripción disponible.

accreditSpidi_id

number

ID de la acreditación en SPIDI.

Ejemplo: 40

action_date

string (date-time)

Fecha y hora de la acción del pagador, en formato ISO 8601 con sufijo Z (UTC).

active_now

array

Conjunto actual de todas las Solicitudes SPIDI activas en una parada, únicamente con estado 'pending'.

address

string

Dirección del comercio.

Ejemplo: "Av. Principal, Edif. Central"

adjustedDebit

number

Monto ajustado del débito.

agreement_rules

array

(**En Desarrollo**) Reglas de acuerdo. En caso de usar origin_bank_code y destination_bank_account_id, se aplicará una regla de ruteo por banco de origen. Cada regla define a qué cuenta bancaria se debe enviar el dinero según el banco del pagador.

agreementRecipient_id

string (uuid)

UUID global SPIDI del agreement de recepción. Este ID se usará en acuerdos de distribución para identificar al receptor del split. (Requerido en distribution)

allowed

boolean

Indica si el usuario autenticado puede acceder a la ruta y método consultados.

Ejemplo: true

allowedRoles

array

Roles autorizados para acceder a la ruta. Si la regla es pública este conjunto se ignora.

Ejemplo: ["ADMIN","USER"]

already_present

array

Lista de Solicitudes SPIDI que ya estaban activas en una Parada.

amountAccredit

number (double)

Monto en bolívares con 2 decimales que especifica la cantidad de dinero que sera acreditado en la cuenta recaudadora. Notese que este campo incluye conceptos de la logica de negocio de SPIDI por lo que no deberia ser usado en las api publicas

Ejemplo: "100.01"

amountCrypto

number (double)

Monto pagado en criptomoneda.

amountReference

number (double)

Monto de referencia en la moneda especificada en currencyReference con 2 decimales.

Ejemplo: "100.001"

amountVes

number (double)

Monto en bolívares con 2 decimales.

amountVesCalculate

number (double)

Monto en bolívares. Si el currency_reference es diferente a VES, este monto se calculó con base a la tasa. Posee 2 decimales

amountVesCheck

number (double)

Monto en bolívares liquidado.

amountVesCredited

number (double)

Monto neto acreditado al receptor en bolívares, luego de aplicar las comisiones correspondientes. Siempre tiene 2 decimales.

Ejemplo: "100.01"

amountWithoutDecimals

number (integer)

Monto en la moneda especificada en el tipo de moneda'currency' sin decimales

Ejemplo: "100"

android_id

string

Sin descripción disponible.

Ejemplo: "xxxx"

app_instance_id

string

Sin descripción disponible.

Ejemplo: "uuid-generado-por-speedypos"

authCreateUser_roles

array

Roles a asignar al usuario. Si se omite o va vacío se asigna `USER`. Solo un usuario con rol `ADMIN` puede asignar roles distintos de `USER`.

Ejemplo: ["OPERATOR"]

authentication--loginValidationError

string

Error general de autenticación.

Ejemplo: "The provided credentials are incorrect"

authLogin_password

string (password)

Contraseña de la cuenta.

Ejemplo: "S3cureP@ssw0rd!"

authLogin_username

string

Nombre de usuario con el que se autentica la cuenta. No se valida formato: las cuentas de dispositivo usan como username un valor AES/Base64 derivado del serial (puede contener `+`, `/` o `=`).

Ejemplo: "john.doe"

authorization--loginValidationError

string

Error de autorización.

Ejemplo: "Invalid or missing Bearer token"

authPermissionCheck_reason

string

Explicación legible del resultado de la verificación de acceso.

Ejemplo: "User has required role"

authRegister_password

string (password)

Contraseña para el registro público. Debe tener entre 12 y 100 caracteres e incluir al menos una minúscula, una mayúscula, un dígito y un carácter especial (`@$!%*?&#`).

Ejemplo: "Sup3rS3gura#2026"

authRegister_username

string

Nombre de usuario para el registro público. Solo admite letras, números, puntos, guiones y guiones bajos.

Ejemplo: "maria.perez"

authRevoke_reason

string

Motivo de la revocación. Si se omite se registra `manual_revocation`.

Ejemplo: "Sospecha de compromiso"

authRole_description

string

Descripción legible del rol.

Ejemplo: "Administrator with full access"

authRole_id

integer (int64)

Identificador numérico del rol. Se ignora al crear o actualizar.

Ejemplo: 1

authRole_name

string

Nombre único del rol, en mayúsculas con guiones bajos (sin el prefijo `ROLE_`).

Ejemplo: "ADMIN"

authRoutePermission_description

string

Descripción de la regla de permiso.

Ejemplo: "Get current user info"

authRoutePermission_id

integer (int64)

Identificador numérico de la regla de permiso de ruta. Se ignora al crear o actualizar.

Ejemplo: 7

authServer_error

string

Frase de razón HTTP asociada al código de estado.

Ejemplo: "Unauthorized"

authServer_status

integer

Código de estado HTTP de la respuesta.

Ejemplo: 401

authServer_timestamp

integer (int64)

Momento en que se generó el error, en **milisegundos epoch**.

Ejemplo: 1767225600000

authUser_id

integer (int64)

Identificador numérico del usuario en el servidor de autenticación.

Ejemplo: 42

bank_code

string

Código del banco. Solo acepta 3–4 dígitos (p.ej., 105 o 0137).

bank_commissions_ves

number (decimal(12,2))

Comisión bancaria total cobrada en bolívares para la liquidación. Eco del request: no.

bank_name

string

Nombre comercial del banco. Eco del request: no.

bank_reference_id

string

Referencia bancaria del pago. Eco del request: no.

bankTransactionId

string

ID de la transacción bancaria.

batch_active_now

array

Conjunto final de activos tras la operación (operación replace)

batch_added

array

Sesiones agregadas como activas (operación add)

batch_already_present

array

Sesiones ya activas, no-op (operación add)

batch_errors

object

Detalle de errores solo si success=false en operaciones batch

batch_operation_payment_stops_payment_sessions_item

object

Sin descripción disponible.

Propiedades del objeto:
  • stop_id:string
    Identificador de la Parada sobre la que se ejecuta la operación. Debe pertenecer al comercio autenticado.
    Ejemplo: "stp_111"
  • op:string
    Operación a ejecutar: **add** (agregar sesiones), **remove** (desasociar sesiones), **replace** (reemplazar conjunto activo), **clear** (limpiar todos los activos)
    Valores posibles: add, remove, replace, clear
    Ejemplo: "add"
  • session_ids:array
    IDs de sesiones involucradas. Requerido para operaciones add, remove y replace. Solo sesiones en estado **pending** pueden activarse (add/replace).
    Ejemplo: ["sess_A","sess_B"]

bcv_exchange_rate

number (double)

Tasa oficial usada para la conversión

Ejemplo: 122.58

bcv_rate_eur_ves

number (decimal(10,4))

Tasa oficial BCV de EUR a VES usada en el cálculo del monto en bolívares. Eco del request: no.

bcv_rate_usd_ves

number (decimal(10,4))

Tasa oficial BCV de USD a VES usada en el cálculo del monto en bolívares. Eco del request: no.

branch

string

Sin descripción disponible.

Ejemplo: "Sucursal Chacao"

button_config

array

Configuración dinámica opcional para personalizar la experiencia comercial del botón de pago.

cancellation_category

string

**Clasificación técnica obligatoria.** Permite segmentar el motivo de cancelación para análisis de conversión y auditoría. **Definiciones:** * `INCORRECT_DATA`: Datos de pago o cliente inválidos (ej. CI/RIF erróneo). * `ALTERNATIVE_PAYMENT_RECEIVED`: El cliente pagó por otra vía (ej. efectivo o transferencia directa). * `OTHER`: Motivos no clasificados previamente (requiere nota adicional).

Ejemplo: "INCORRECT_DATA"

cancellation_categoryCompleted

string

**Clasificación técnica obligatoria.** Permite segmentar el motivo de cancelación para análisis de conversión y auditoría. **Definiciones:** * `INCORRECT_DATA`: Datos de pago o cliente inválidos (ej. CI/RIF erróneo). * `ALTERNATIVE_PAYMENT_RECEIVED`: El cliente pagó por otra vía (ej. efectivo o transferencia directa). * `ORDER_SUPERSEDED`: La orden fue reemplazada por una nueva versión o corrección. * `CUSTOMER_REQUEST`: El cliente solicitó explícitamente cancelar la intención de compra. * `INVENTORY_UNAVAILABILITY`: Ruptura de stock o servicio no disponible al momento de procesar. * `FRAUD_SUSPICION`: Bloqueo preventivo por patrones de riesgo o validación de seguridad fallida. * `DUPLICATE_SESSION`: Se detectó otra sesión activa para la misma operación. * `ADMINISTRATIVE_OVERRIDE`: Cancelación forzada por un administrador del sistema o soporte técnico. * `OTHER`: Motivos no clasificados previamente (requiere nota adicional).

Ejemplo: "INCORRECT_DATA"

cancellation_messageAudit

string

Nota de auditoría interna. Espacio para justificaciones técnicas o administrativas. Este contenido no es visible para el cliente final y se utiliza exclusivamente para trazabilidad recomienda usarlo con esta estructura: (quién, cuándo, por qué).

Ejemplo: "La orden se habia generado de forma automatizada pero el usuario liquido la la sesión en nuestra sucursal por medio de pagos en efectivo."

cancellation_messageUser

string

Mensaje para el usuario final cuado por ejemplo el administrador necesita dar una instrucción específica.

Ejemplo: "Sesión cancelada por pago en efectivo"

cleared

boolean

Indica si se aplicó una operación de limpieza (`op=clear`) sobre las Solicitudes SPIDI activas en la parada.

commissionCharged

boolean

Indica si se cobró comisión.

commissionCreditId

integer

Nivel de comisión semiautomática que el banco aplica al crédito inmediato emitido. `0`: 0,1 %. `1`: 0,2 %. `2`: 0,3 %. El banco calcula el monto final de la comisión, SPIDI solo selecciona el nivel.

Ejemplo: 0

commissionDebitId

number

ID del débito de comisión.

concept

string

Concepto de la transacción.

confirmData

object

Datos de confirmación bancaria. **Este campo SOLO está definido y presente cuando el 'status' es 'PAID_COMPLETE'.** En estados pendientes o cancelados, este campo será null o no existirá.

Propiedades del objeto:
  • authorizationCode:string
    Código de autorización bancaria.
    Ejemplo: "171599"
  • processCode:string
    Ejemplo: "002000"
  • commitAt:
  • amountPaid:
  • currencyPaid:
  • trace:string
    Número de traza (Trace).
    Ejemplo: "000535"
  • utcDate:string
    Timestamp UTC del banco.
    Ejemplo: "1007151715"
  • cardTypeForRpt:string
    Tipo de tarjeta (C=Crédito, D=Débito).
    Ejemplo: "C"
  • visOrMccCard:string
    Franquicia de la tarjeta.
    Ejemplo: "MCC"
  • batchNumber:

confReceiptMethodCrixtoForValidation

object

Define la configuracion para el método de recepción de los fondos en la validaciones: * `Si type=movil-pay`: Se recibe el dinero en la cuenta recaudadora usando pago móvil. * `Si type=transfer`: Se recibe el dinero en la cuenta recaudadora usando transferencias inmediatas este campo hace que sea necesario pasarle el campo `amountAccredit` . * `Si type=wallet`: Se recibe el dinero en la wallet de Spidi.

Propiedades del objeto:
  • type:
  • amountAccredit:

container_session_id

string

ID de la sesión contenedora cuando el pago se realizó vía container.

continueOnerror

boolean

Indica si el procesamiento debe continuar con el resto de los ítems aunque alguno falle en operaciones de batch. - Si es `false`, se detiene en el primer error y las operaciones ya exitosas permanecen válidas. - Si es `true`, continúa procesando hasta el final y luego reporta las fallas acumuladas.

Ejemplo: true

count

integer

Cantidad de elementos devueltos en una colección.

Ejemplo: 3

created_by

string

Identificador del usuario que creó el recurso administrable.

createdAt

string (date-time)

Fecha y hora de creación en formato ISO 8601.

createDate

string (date-time)

Fecha de creación.

creditsBreakdown

array

Los créditos en que se reparte el ingreso: uno por partner de `splitPartners` (en el mismo orden) y uno para el owner, al final. Sin `splitPartners`, solo el del owner. Cada uno trae el **monto a solicitar** (`amountRequestedOutbound`) con el que hay que emitir ese crédito, usando el mismo porcentaje de comisión bancaria de egreso del pago. El residuo y la comisión propia de cada crédito no se cobran sobre el crédito: se suman y se cobran del lado del ingreso, en `amountOutflowInbound`. Montos con 2 decimales, como cadena.

Ejemplo: [{"recipientType":"PARTNER","partnerId":"PARTNER-1","amountPaidInbound":"106.37","amountFeeProviderInboundDeduction":"0.83","amountFeeOwnInboundDeduction":"0.23","amountPaidOutbound":"105.31","amountRequestedOutbound":"104.99","amountFeeProviderOutboundSurcharge":"0.31","amountFeeOwnOutboundSurcharge":"0.00","amountAdjust":"0.01"},{"recipientType":"PARTNER","partnerId":"PARTNER-2","amountPaidInbound":"328.34","amountFeeProviderInboundDeduction":"2.56","amountFeeOwnInboundDeduction":"0.72","amountPaidOutbound":"325.06","amountRequestedOutbound":"324.09","amountFeeProviderOutboundSurcharge":"0.97","amountFeeOwnOutboundSurcharge":"0.00","amountAdjust":"0.00"},{"recipientType":"OWNER","partnerId":null,"amountPaidInbound":"1565.29","amountFeeProviderInboundDeduction":"12.21","amountFeeOwnInboundDeduction":"3.45","amountPaidOutbound":"1549.63","amountRequestedOutbound":"1544.99","amountFeeProviderOutboundSurcharge":"4.63","amountFeeOwnOutboundSurcharge":"0.00","amountAdjust":"0.01"}]

creditSpidi_id

string

ID de la liquidación al receptor del pago.

creditWebhook

object

Sin descripción disponible.

Propiedades del objeto:
  • id:string
  • amount_ves_credited:
  • bank_commissions_ves:
  • receive_date:
  • bank_name:
  • bank_reference_id:
  • recipient:

cronJob_isActive

boolean

Indica si el Cron Job o proceso está activo. Corresponde a la columna `is_active` (BOOLEAN) de la tabla `cron_job`.

Ejemplo: true

cronJob_name

string

Nombre identificador único del Cron Job. Corresponde a la columna `name` (UNIQUE KEY) de la tabla `cron_job`.

Ejemplo: "scan_movements"

crypto

boolean

Indica si se permiten pagos con criptomonedas en la configuración correspondiente. La liquidación siempre ocurre en bolívares.

currency

string

Moneda en la que se realiza la transacción.

currency_crypto

string

Moneda cripto utilizada en el pago (por ejemplo, USDT).

currencyReference

string

Moneda de referencia que se fija para el pago. Usada para calcular el monto en bolívares con la tasa vigente.

cursor_by_stop

object

Mapa de cursores por parada para continuar la paginación de sesiones en múltiples paradas, usando pares `stop_id → cursor` obtenidos de una respuesta previa.

customer_ref

string

Referencia del cliente asociada a una sesión o parada.

data

object

Objeto principal de datos de la operación, que contiene el cuerpo del recurso creado, consultado o afectado (acuerdo, sesión, parada, webhook, etc.).

Usado en:

databaseInfo

object

Información del refresh token persistida en base de datos (`id`, `jwtId`, `userId`, `username`, `deviceInfo`, `version`, `issuedAt`, `expiryDate`, `isExpired`). Vacío si el token no está registrado.

debit_status

string

Estado del débito.

debitId

string

Identificador del débito (string para path).

deeplinkConfig

object

Configuración para el retorno a la app (Deep Linking). Estos campos se usan cuando la app merchant se ubica en el punto, pues al terminar la transacción de compra, el app financiero va a abrir la app en la pantalla específica esperada por parte del merchant.

Propiedades del objeto:
  • returnPackage:string
    Ejemplo: "com.tuapp.kiosco"
  • returnActivity:string
    Ejemplo: "com.tuapp.kiosco.PaymentResultActivity"

deleted_at

string (date-time)

Fecha y hora de eliminación expresada en formato ISO 8601.

details

string

Detalle adicional para diagnosticar el error.

Ejemplo: "Missing Authorization header"

device_fingerprint

string

opcional

device_serial

string

Sin descripción disponible.

Ejemplo: "ABC123456"

distribution

array

Lista de reglas/destinatarios del split. Debe tener ≥ 1 ítem. La suma de amount_reference debe ser menor al amount total de la sesión, porque la diferencia restante se asigna automáticamente al owner, quien siempre debe recibir una parte del pago. (Requerido cuando split=true)

due_date_link

string (date-time)

Fecha y hora límite de vencimiento de la Solicitud SPIDI (link).

duplicates

array

Lista de IDs repetidos detectados al procesar una operación de reordenamiento o batch.

email

string (email)

Dirección de correo electrónico.

Ejemplo: "admin@comercio.com"

error

object

Objeto de error que contiene información estructurada sobre el código y el mensaje de error cuando la operación no es exitosa. Eco del request: no.

errors

object

Detalles específicos de los errores de validación.

Usado en:

event

string

Tipo de evento reportado en un webhook, indicando la acción ocurrida. Eco del request: no.

exchange_commission

string

Costo total del intercambio, expresado como cadena en la moneda de origen. Es **un único monto ya consolidado**: incluye la comisión del banco por la salida del dinero, la comisión propia de SPIDI, el ajuste por redondeo y la comisión que cobró el proveedor externo (convertida a la moneda de origen con la tasa aplicada), acumulado sobre todos los intentos de ejecución — las comisiones de un intento fallido no se reversan. SPIDI hace el cálculo y el redondeo internamente; el desglose no forma parte del contrato. Es `null` mientras el intercambio no se haya ejecutado.

Ejemplo: "1.45"

exchange_completedAt

string (date-time)

Instante en que el proveedor confirmó la acreditación del monto de destino. Es `null` mientras el intercambio no alcance el estado `COMPLETED`.

Ejemplo: "2026-08-20T15:31:44-04:00"

exchange_createdAt

string (date-time)

Instante en que se creó la operación de intercambio en SPIDI.

Ejemplo: "2026-08-20T15:30:12-04:00"

exchange_id

integer

Identificador interno, único y agnóstico al proveedor de una operación de intercambio entre cuentas propias de SPIDI. Cumple para los `exchanges` el mismo rol que el `accreditId` cumple para los `inbounds`: es el único identificador que el consumidor necesita conocer para operar, consultar y conciliar la conversión, sin importar qué proveedor externo la ejecute.

Ejemplo: 8801

exchange_providerName

string

Nombre del proveedor externo que ejecuta la conversión. Se expone solo con fines de trazabilidad y auditoría: el consumidor nunca necesita conocerlo para operar el intercambio, ya que toda la interacción se realiza mediante el `exchangeId`.

Ejemplo: "CRIXTO"

exchange_providerOrderId

string

Identificador asignado por el proveedor externo al registrar la compra (para Crixto corresponde a `data.id_order` de `deposit-bank-reference-usdt`). Se persiste para poder auditar y conciliar la conversión directamente contra el proveedor. Es `null` hasta que el registro se confirma.

Ejemplo: "183097"

exchange_rate

string

Tasa de conversión aplicada por el proveedor, expresada como unidades de la moneda de origen por una unidad de la moneda de destino. Es `null` hasta que el intercambio alcanza el estado `COMPLETED`.

Ejemplo: "920.70"

exchange_rate_from

string

Moneda base utilizada en la tasa de cambio aplicada (por ejemplo, una moneda fuerte desde la cual se convierte a VES). Este campo puede estar obsoleto en el nuevo estándar. Eco del request: no.

exchange_rate_to

string

Moneda destino utilizada en la tasa de cambio aplicada, típicamente la moneda local (VES) a la que se convierte. Este campo puede estar obsoleto en el nuevo estándar. Eco del request: no.

exchange_sourceAmount

string

Monto exacto que sale de la entidad de origen, expresado como cadena para preservar la precisión decimal. Para VES se usan 2 decimales. **Es el total que se debita de la cuenta de origen, no lo que recibe el destino**: de este monto salen tanto el movimiento que efectivamente llega al proveedor como todas las comisiones del intercambio, de modo que siempre se cumple `source.amount` = monto que llegó al proveedor + `commission`. En el algoritmo de reparto de la cuenta recaudadora, este monto es el **`IngresoNeto`**: lo que quedó disponible después de las comisiones de ingreso, que ya se cobraron aguas arriba cuando el dinero entró.

Ejemplo: "450.00"

exchange_sourceCurrency

string

Moneda en la que está expresado el monto de origen del intercambio. Por ahora `VES` es el único valor soportado; se ampliará cuando se habiliten más rutas.

Ejemplo: "VES"

exchange_sourceEntity

string

Cuenta propia de SPIDI desde la cual salen los fondos del intercambio. `ACCOUNT_COLLECTION_SOFITASA`: cuenta recaudadora en Sofitasa. `WALLET_CRIXTO`: wallet de SPIDI en Crixto. Por ahora solo existe una ruta habilitada entre estos dos valores; se ampliará el catálogo cuando se sumen más entidades.

Ejemplo: "ACCOUNT_COLLECTION_SOFITASA"

exchange_sourceIdentifier

string

Identificador del movimiento con el que el dinero salió de la entidad de origen. Es agnóstico al medio: para la cuenta recaudadora Sofitasa corresponde a la referencia bancaria del crédito inmediato emitido. Es `null` mientras el intercambio no se haya ejecutado.

Ejemplo: "7811"

exchange_status

string

Estado agregado del intercambio. `null`: recién creado, todavía no se ejecutó. `PENDING`: ya se ejecutó y no hay todavía un resultado final — el proceso asíncrono que verifica el crédito y registra la compra ante el proveedor sigue en curso. `ERROR`: la ejecución más reciente falló (saldo insuficiente, rechazo del banco, crédito reversado, o registro rechazado por el proveedor); admite un nuevo intento de ejecución. `COMPLETED`: el proveedor confirmó la compra y la conversión quedó cerrada. El detalle de qué ocurrió en cada intento — request/response crudos, código de error, referencias del banco y del proveedor — se registra por separado en `exchange_attempt`, no en este campo.

Ejemplo: "PENDING"

exchange_targetAmount

string

Monto efectivamente acreditado en la entidad de destino, expresado como cadena para preservar la precisión decimal. Para USDT se usan hasta 8 decimales. Es `null` mientras el proveedor no haya confirmado la conversión, ya que la tasa se fija en el momento de la acreditación.

Ejemplo: "0.48000000"

exchange_targetCurrency

string

Moneda en la que está expresado el monto de destino del intercambio. Por ahora `USDT` es el único valor soportado; se ampliará cuando se habiliten más rutas.

Ejemplo: "USDT"

exchange_targetEntity

string

Cuenta propia de SPIDI en la cual se acreditan los fondos convertidos del intercambio. Usa el mismo catálogo que `source.entity` y debe ser distinta de esta.

Ejemplo: "WALLET_CRIXTO"

exchange_targetIdentifier

string

Identificador del movimiento con el que el dinero entró en la entidad de destino. Es agnóstico al proveedor: para Crixto corresponde al `txnId` de la compra confirmada. Es `null` mientras el proveedor no haya confirmado la conversión — que no sea nulo es la señal definitiva de que el intercambio se completó.

Ejemplo: "404799342192"

exchange_type

string

Tipo de conversión que realiza el intercambio. Lo resuelve el servidor a partir de la combinación de entidades y monedas (`source.entity`, `target.entity`, `source.currency`, `target.currency`); el consumidor no lo envía. `FIAT_TO_USDT`: bolívares de una cuenta propia convertidos a USDT en una wallet propia. **Describe la conversión, no al proveedor que la ejecuta**: quién la ejecuta se informa aparte, en `provider.name`, para que cambiar de proveedor no cambie el tipo. Por ahora es el único tipo habilitado; se ampliará cuando se sumen más rutas.

Ejemplo: "FIAT_TO_USDT"

exchangeBsUsdtBuy

number (double)

Tasa de compra de USDT expresada en Bolívares (VES).

Ejemplo: 36.1

exchangeBsUsdtSell

number (double)

Tasa de venta de USDT expresada en Bolívares (VES).

Ejemplo: 36.5

executionDate

string (date)

Fecha de ejecución bancaria en formato ISO 8601 (YYYY-MM-DD).

Ejemplo: "2026-07-15"

exists

boolean

Indica si el recurso consultado existe.

Ejemplo: true

expiration

integer (int64)

Fecha de expiración del token en **milisegundos epoch** (UTC).

Ejemplo: 1767225600000

expirationBehavior

string

Comportamiento aplicado a la sesión o enlace cuando se maneja su expiración. Eco del request: no.

expire_behavior_link

string

Comportamiento configurado para la Solicitud SPIDI cuando alcanza su fecha de vencimiento.

expiredAt

string (date-time)

Fecha y hora en que la Solicitud SPIDI pasó al estado 'expired', en formato ISO 8601. (incluye solo cuando la sesión expira)

expiresAt

integer (int64)

Fecha de expiración del token en **milisegundos epoch** (UTC).

Ejemplo: 1767225600000

expiresIn

integer

Tiempo en segundos antes de expirar.

Ejemplo: 3600

fieldErrors

array

Errores de validación por campo del cuerpo de la petición.

from_date

string (date-time)

Fecha y hora mínima (inclusive) desde la cual devolver resultados. Formato ISO 8601 UTC.

has_next

boolean

Indica si existe una página siguiente en los resultados de la paginación. Eco del request: no.

hasPermission

boolean

Indica si el conjunto de roles tiene acceso a la ruta y método consultados.

Ejemplo: true

httpMethod

string

Método HTTP al que aplica la regla.

Ejemplo: "GET"

idempotency-key

string (uuid)

Clave de idempotencia para evitar duplicados. Debe ser UUID v4.

identification

string

Identificación del usuario o cliente.

identificationLegal

string

Identificación legal puede ser RIF o CI

imei

string

opcional_si_existe

immediate_debit

boolean

Indica si permite pagos con débito inmediato.

inboundCrixto_amountFeeOwnDestInboundDeduction

number (double)

Comisión propia cobrada en la cuenta del proveedor de destino (el que ofrece la cuenta recaudadora). Solo pos_type = 6 (TRANSFER_BANK). Null si no aplica o si todavía no se cobró — ver outflow_inbound_status.

Ejemplo: 2

inboundCrixto_amountFeePaymentMethodOriginInboundSurcharge

number (double)

Igual que processor_commission_crypto, con el nombre nuevo (DR-11): comisión del método de pago usado con el proveedor de origen (BinancePay, CrixtoPay, etc).

Ejemplo: 0.003

inboundCrixto_amountFeeProviderOriginInboundSurcharge

number (double)

Igual que provider_commission_crypto, con el nombre nuevo (DR-11): comisión del proveedor de origen (el que cobra el pago al usuario; hoy Crixto).

Ejemplo: 0.016

inboundCrixto_amountWithAdjust

number (double)

Solo pos_type = 6 (TRANSFER_BANK), requerido ahí. Monto ajustado en VES, análogo a adjustedDebit del débito inmediato. El ajuste del ingreso es amount_with_adjust − amount_transaction_ves (puede ser negativo) y se cobra junto con la comisión propia. Solo se usa para ese cálculo al crear la orden; no se persiste.

Ejemplo: 1000

inboundCrixto_feeCryptoId

number

Solo pos_type = 6 (TRANSFER_BANK), requerido ahí. Nivel de comisión propia; el porcentaje se infiere con la misma relación que commission_debit_id del débito inmediato: 0 = 0.20%, 1 = 0.60%, 2 = 0.90%, 3 = 1.20%, 4 = 1.60%, 5 = 2.0%. Solo se usa para calcular la comisión propia al crear la orden; no se persiste.

Ejemplo: 0

inboundCrixto_id

string

ID de la orden en Crixto

Ejemplo: "392"

inboundCrixto_outflowInboundStatus

string

Solo pos_type = 6 (TRANSFER_BANK). Estatus del cobro de la comisión propia del egreso (amount_fee_own_dest_inbound_deduction): 'PENDING' (reservado, esperando respuesta del banco), 'PAID' (confirmado), 'ERROR' (el banco lo rechazó, reintentar puede funcionar) o 'MANUAL_REVIEW' (ningún reintento automático lo resuelve). Null si no aplica o si todavía no se intentó cobrar.

inboundCrixto_paymentDeeplink

string

Deeplink para realizar el pago en la app del proveedor (ej. Binance).

inboundCrixto_paymentMethod_commission

number (double)

Monto en decimales de comisión aplicado por el procesador tecnológico (BinancePay, CrixtoPay, etc) por la validación, ejecución y aseguramiento de la transacción de pago.

Ejemplo: 0.003

inboundCrixto_paymentMethod_name

string

Nombre del método de pago (ej. Binance Pay, Crixto Pay).

inboundCrixto_posType

string

Numero que indica la forma en que se reciben los pagos desde crixto 3 para recibir dinero en la wallet, 2 pago movil, ...

Ejemplo: "3"

inboundCrixto_provider_commission

number (double)

Monto en decimales de comisión retenido por el provedor (Crixto, Binance, etc) por la gestión de fondos o el uso de su infraestructura de billetera.

Ejemplo: 0.016

inboundCrixto_providerReference

string

Solo pos_type = 6 (TRANSFER_BANK). Referencia del depósito bancario que hace el proveedor de origen a la cuenta recaudadora, la misma que se usa para cobrar amount_fee_own_dest_inbound_deduction. Null si no aplica o si la orden todavía no se completó.

Ejemplo: "00015826"

inboundCrixto_qrPayment

object

Código QR para realizar el pago

Propiedades del objeto:
  • img:string
    Imagen del código QR en formato base64
    Ejemplo: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAklEQVR4AewaftIAAAdiSURBVO3BQY4cy5LAQDLR978yR0tfBZCoav2nGDezP1jrEg9rXeRhrYs8rHWRh7Uu8rDWRR7WusjDWhd5WOsiD2td5GGtizysdZGHtS7ysNZFHta6yMNaF/nhQyp/U8WkMlW8ofJGxRsqU8Wk8kbFpDJVTCpTxRsqf1PFJx7WusjDWhd5WOsiP3xZxTepvKEyVUwqU8UnVKaKE5WTihOV/6WKb1L5poe1LvKw1kUe1rrID79M5Y2KNypOVN5QOal4o+JE5Y2KE5W/SeWNit/0sNZFHta6yMNaF/nhH6cyVUwVb1RMKpPKVDGpTBWTylRxojJVfEJlqrjJw1oXeVjrIg9rXeSHf1zFpPJGxRsVv0nlDZWpYlI5UZkq/mUPa13kYa2LPKx1kR9+WcV/ScWJyonKVDFVfFPFJypOVD5R8V/ysNZFHta6yMNaF/nhy1T+JpWpYlI5UZkqJpWpYlKZKiaVqWJSmSomlaniDZWp4hMq/2UPa13kYa2LPKx1EfuDf5jKScUbKlPFpDJVTCrfVHGiMlWcqJxU/Mse1rrIw1oXeVjrIj98SGWqmFROKiaVNypOVKaKk4o3VKaKE5WTihOVqeJE5aTiRGWqOFGZKiaVk4pPPKx1kYe1LvKw1kV++FDFScWJyknFN6mcVPymihOVqWKqOFGZKt5QmSp+U8U3Pax1kYe1LvKw1kV++JDKVDGpTBVvqEwVk8pJxaQyVUwqU8VJxf8nKm+oTBW/6WGtizysdZGHtS7yw4cqTipOKt5QmSpOVKaKSWWqmFQ+oXJSMVVMKt+kMlW8UXGi8r/0sNZFHta6yMNaF7E/+EUqU8WkMlVMKlPFicobFZ9QOak4UZkqTlS+qWJSOamYVL6p4hMPa13kYa2LPKx1kR8+pDJVfFPFGxUnKm+onFS8ofKJijdUTlSmikllUnmj4kTlmx7WusjDWhd5WOsi9gcfUDmpmFSmihOVk4pJZap4Q+Wk4kTljYoTlaliUjmpeENlqjhRmSomlaniNz2sdZGHtS7ysNZF7A++SGWqOFGZKr5JZaqYVKaKE5WpYlI5qZhU3qh4Q+WkYlL5RMUbKlPFJx7WusjDWhd5WOsiP/wylU+onFScVJxUfELlmyreUJkqPlFxojJVTConFVPFNz2sdZGHtS7ysNZF7A9+kcpJxaQyVUwqU8UnVKaKSWWqmFSmihOVNyreUHmj4kTlpOJE5Y2KTzysdZGHtS7ysNZFfvgylaliUplUTlSmijdUpoqp4g2Vb6o4UZkq3qiYVD5RMalMFf9LD2td5GGtizysdZEfPqQyVZxUfJPKJ1SmiqniDZXfpDJVTBVvqJxUvKEyVUwqU8U3Pax1kYe1LvKw1kV++FDFpDJVTCpTxYnKScUbKn9TxYnKScUnVKaKSeUNlZOKk4pJZar4xMNaF3lY6yIPa13khw+pTBUnFScqU8WkMqlMFd+kMlWcVJyoTBVvqEwVJxXfVHGiMlVMKlPFNz2sdZGHtS7ysNZF7A8+oPJGxaQyVUwqb1RMKp+oOFE5qXhD5RMVk8pU8QmVqeINlanimx7WusjDWhd5WOsi9gd/kcpUMalMFd+k8kbFJ1SmihOVb6qYVN6oOFF5o2JSmSo+8bDWRR7WusjDWhexP/gilU9UTCpTxaQyVUwqv6niROVvqjhR+U0Vk8obFZ94WOsiD2td5GGti/zwyypOVE4qJpUTlU9UvKEyVZxUTCpTxYnKGyonFZPKScWkMqlMFZPKb3pY6yIPa13kYa2L/PCXqUwVJypTxYnKb1J5o2JS+aaKSeWkYlKZKk5UpopJZVI5qfimh7Uu8rDWRR7WusgPH1KZKiaVqWJSOamYVE4qTlSmiknlpGJSeaPiRGWqeKNiUjmpOFF5o+INlaniEw9rXeRhrYs8rHWRHz5U8YbKGyonFZ9QOamYVKaKE5WpYlI5UZkqTlTeUPmEylQxqUwVv+lhrYs8rHWRh7Uu8sMvq/hNKicVn1B5Q2WqeKPiROWk4hMVb6j8lzysdZGHtS7ysNZFfviQyt9UcVJxUnGi8obKJyomlaliqnhDZap4Q2Wq+ITKb3pY6yIPa13kYa2L/PBlFd+k8obKVHGiMlWcqEwV31QxqUwVJypTxaTyRsUnKk5UvulhrYs8rHWRh7Uu8sMvU3mj4o2KN1ROVKaKqeINlanib1KZKiaVSeUTKlPFpDJVfNPDWhd5WOsiD2td5Id/nMpU8YmKSeWk4hMqn1A5qZhUTiomlaliUvkveVjrIg9rXeRhrYv8cBmVk4pJ5aTiRGWqOFE5qThRmSomlU+o/Mse1rrIw1oXeVjrIj/8sorfVHGiclJxojJVvFFxonKi8psq3lB5Q2Wq+E0Pa13kYa2LPKx1kR++TOVvUpkqvqliUjlReaPiEyonKm+onFRMKm+onFR84mGtizysdZGHtS5if7DWJR7WusjDWhd5WOsiD2td5GGtizysdZGHtS7ysNZFHta6yMNaF3lY6yIPa13kYa2LPKx1kYe1LvJ/zXq8jxPRiswAAAAASUVORK5CYII="
  • url:string
    URL para realizar el pago
    Ejemplo: "https://app.binance.com/qr/dplk42fce9f3e97f43cead255ea26f43a458"

inboundCrixto_rateCryptoFiat

number (double)

Tasa Cripto/Fiat usada durante la conversión de cripto-fiat, especificada 4 decimales

Ejemplo: 157.7837

inboundCrixto_receptionStatus

string

Solo pos_type = 6 (TRANSFER_BANK), null si no aplica. PAID significa que ya se recibió la referencia del depósito que hace el proveedor de origen a la cuenta recaudadora (se liquidó) — no que la comisión propia ya se cobró sobre ese ingreso (ver outflow_inbound_status para eso). PENDING mientras esa referencia todavía no llega.

inboundCrixto_urlPayment

string

URL a la que se redirige en caso de éxito o si se genera un error.

inboundCrixto_webhook_url

string

URL a la que se enviará la información al finalizar el proceso.

Ejemplo: "https://miapi.com/spidi/webhook"

inboundCrypto_amountPaidCrypto

number (double)

Igual que amount_pay_by_user_crypto, con el nombre nuevo (DR-11).

Ejemplo: 157.783

inboundCrypto_amountPaidVes

number (double)

Igual que amount_pay_by_user_ves, con el nombre nuevo (DR-11).

Ejemplo: 157.783

inboundCrypto_amountPayByUserCrypto

number (double)

Monto con 3 decimales del pago realizado por el usuario en la moneda cripto. Note que puede variar del monto original si se aplica una comisión por el pago.

Ejemplo: 157.783

inboundCrypto_amountPayByUserVes

number (double)

Monto con 3 decimales del pago realizado por el usuario en la moneda VES. Note que puede variar del monto original si se aplica una comisión por el pago.

Ejemplo: 157.783

inboundCrypto_amountRequestedCrypto

number (double)

Igual que amount_transaction_crypto, con el nombre nuevo (DR-11).

Ejemplo: 157.783

inboundCrypto_amountRequestedVes

number (double)

Igual que amount_transaction_ves, con el nombre nuevo (DR-11).

Ejemplo: 157.783

inboundCrypto_amountTransactionCrypto

number (double)

Monto con 3 decimales de la transacción en la moneda cripto. Note que es el monto original sin incluir la comisión por el pago.

Ejemplo: 157.783

inboundCrypto_amountTransactionVes

number (double)

Monto con 3 decimales de la transacción en la moneda VES. Note que es el monto original sin incluir la comisión por el pago.

Ejemplo: 157.783

inboundCrypto_details

object

Detalles de pago con criptomonedas (null si no aplica).

Propiedades del objeto:
  • provider_name:
  • crypto_order_id:
  • payment_method_name:
  • amount_transaction_ves:
  • amount_pay_by_user_crypto:
  • currency_crypto:
  • exchange_rate:
  • paid_at:

inboundCrypto_id

string

Identificador de la orden cripto generada por el proveedor.

inboundCrypto_paidAt

string (date-time)

Fecha y hora en que se confirmó el pago cripto, en formato ISO 8601.

inboundCrypto_provider_name

string

Nombre de la entidad o plataforma financiera que custodia los activos del usuario. Representa el ecosistema o 'banco digital' donde reside el saldo original (ej. Binance, Crixto).

inboundCrypto_status

string

Estado del pago, tal cual lo reporta Crixto — deliberadamente simple, no mezcla nada del cobro de la comisión propia de pos_type = 6 (TRANSFER_BANK). 'PENDING' (a la espera del pago), 'PAID' (el usuario pagó), 'ERROR' (falló el pago), 'EXPIRED' (el pago expiró) o 'CANCELED' (el pago se canceló). Para el estatus combinado (pago + cobro de la comisión propia, que sí puede salir 'MANUAL_REVIEW'), ver order_details.reception_status.

inboundCrypto_statusConvertion

string

Estado de la transacción de conversión de cripto a fiat: 'PAID' (La transacción fue completada exitosamente), 'PENDING' (a la espera de la confirmación de la transacción) y 'ERROR' (la transacción falló).

inboundMobilePayment_sessionId

string

Identificador de la sesión de pago externa que originó este pago móvil (ej. sesión de checkout o de compra de cripto). Opcional: permite conciliar el pago con su origen.

Ejemplo: "098ace94-ce70-4203-abc3-80e20bb6e4c6"

inboundMobilePayment_status

string

Estado del pago. Al registrarse siempre asume 'PAID' indicando que fue conciliado exitosamente.

inboundMobilePayment_statusReview

string

Estado de revisión del pago móvil.

inboundType

string

El discriminador del tipo de inbound. Cuando el valor es `crixto-binance-pay` se recibiran pagos de Binance Pay a través de Crixto

Ejemplo: "crixto-binance-pay"

include_history

boolean

Indica si debe incluirse el histórico de estados (`paid`, `expired`). Valor por defecto: true.

instrument

string

Instrumento de pago utilizado.

internal_reference

string

Referencia interna única utilizada por el sistema o el comercio para identificar la solicitud de pago o parada (propósito estrictamente técnico,no visible al usuario final). **Importancia para Paradas SPIDI:** - Permite conciliar y auditar operaciones entre tu sistema y SPIDI - Sirve para asociar solicitudes de pago con su Parada correspondiente - Puede vincularse a clientes, contratos o facturas en tu plataforma Se recomienda mantener este campo de forma consistente para facilitar la trazabilidad.

Ejemplo: "8233232"

isActive

boolean

Indica si la regla está activa. Las reglas inactivas no se evalúan.

Ejemplo: true

isPublic

boolean

Indica si la ruta es pública (no requiere roles).

Ejemplo: false

issuedAt

integer (int64)

Fecha de emisión del token (claim `iat`), cuando está disponible.

Ejemplo: 1767224700

isValid

boolean

Indica si el token es válido: firma correcta, no expirado y no revocado.

Ejemplo: true

landing_title

string

Título de la landing page creada por SPIDI.

Ejemplo: "Pago de Servicios"

last_expired_at

string (date-time)

Fecha y hora de la última expiración en formato ISO 8601.

last_expired_by

string

Origen de la expiración: api o system.

lastCheckedAt

string (date-time)

Fecha y hora (timestamp) de la última consulta realizada en formato ISO 8601 con zona horaria.

Ejemplo: "2026-07-15T18:42:31-04:00"

legalName

string

Nombre legal del comercio.

Ejemplo: "Inversiones Spidi C.A."

limit

integer

Máximo de elementos a devolver en una lista. Valor por defecto: 50.

link_amount

number (double)

Monto en la moneda de referencia para una solicitud de pago.

Ejemplo: 15.5

link_status

string

Estado del solicitud de pago.

Ejemplo: "pending"

links_active

array

Lista de solicitudes de pago activas en la parada (Nota: Sugerido cambiar a 'requests_active').

links_active_count

integer

Número de solicitudes de pago activas (Nota: Sugerido cambiar a 'requests_active_count').

manufacturer

string

Sin descripción disponible.

Ejemplo: "PAX"

matchedRoute

string

Patrón de ruta (estilo Ant, p. ej. `/api/roles/**`) de la regla que coincidió. Nulo si ninguna regla aplica.

Ejemplo: "/api/users/get-info"

memo

string

Nota o referencia interna para el crédito.

merchant_id

string (uuid)

Identificador único en formato UUID del comercio

Ejemplo: "3ddc4cfb-c09a-43de-92c1-e4a069732e90"

merchant_name

string

Nombre del comercio.

merchant_type

string

Tipo de comercio

Ejemplo: "INDIVIDUAL"

message

string

Mensaje de confirmación o error legible.

Usado en:

metadata

object

Datos adicionales definidos por el comercio. Eco del request: no.

metaPagination

object

Metadatos de paginación.

Propiedades del objeto:
  • totalCount:integer
    Total de registros encontrados que coinciden con los criterios de búsqueda.
    Ejemplo: 150
  • totalPages:integer
    Total de páginas calculadas según el parámetro size.
    Ejemplo: 8
  • currentPage:integer
    Página de resultados actual.
    Ejemplo: 2
  • size:integer
    Cantidad de elementos solicitados por página.
    Ejemplo: 20

method

string

Método HTTP.

Ejemplo: "GET"

missing_actives

array

Solicitudes SPIDI activas no incluidas en la lista durante un reordenamiento.

mobile_payment

boolean

Permitir pagos con pago móvil.

model

string

Sin descripción disponible.

Ejemplo: "A920"

next_cursor

string

Cursor para continuar la paginación. (Eco del request: no)

numeric_debitId

number

Identificador del débito (numérico para response).

offset

integer

Desplazamiento para paginación (cantidad de elementos a saltar).

only_fields

string

Coma-separado para limitar los campos devueltos en el payload.

order

string

Orden de clasificación: asc (ascendente) o desc (descendente). Por defecto: desc.

order_index

integer

Posición relativa de la sesión en la parada.

originalOrderId

string

Identificador de la orden original en caso de cancelación.

Ejemplo: "3ddc4cfb-c09a-43de-92c1-e4a069732e90"

outboundCredit_amountCommission

number

Monto de la comisión verificada en la consulta bancaria; null si no se encontró.

outboundCredit_amountCredit

number

Monto del crédito verificado en la consulta bancaria; null si no se encontró.

outboundCredit_amountReversal

number

Monto del reverso verificado en la consulta bancaria (contiene únicamente el monto principal del crédito devuelto; la comisión cobrada no se reversa); null si no se encontró.

outboundCredit_commissionFound

boolean

Indica si se encontró el cobro de comisión en los movimientos bancarios.

outboundCredit_creditFound

boolean

Indica si se encontró la transacción de crédito emitida en los movimientos bancarios.

outboundCredit_executionDate

Sin descripción disponible.

outboundCredit_id

integer

Identificador interno de la operación de crédito.

outboundCredit_lastCheckedAt

Sin descripción disponible.

outboundCredit_referenceBank

Sin descripción disponible.

outboundCredit_reversalFound

boolean

Indica si se encontró la devolución o reverso en los movimientos bancarios.

outboundCredit_status

string

Estado consolidado de la liquidación de crédito (PENDING, PAID, REVERSED, ERROR).

owner

object

Datos del crédito recibido por el owner.

page

integer

Número de página solicitada (Request) o número de página devuelta.

page_size

integer

Cantidad de elementos por página solicitada (Request) o cantidad de elementos devueltos (Response). Eco del request: no.

pageBasedPaginationRequest

object

Parámetros de paginación Page-Based (Velocidad 1).

Propiedades del objeto:
  • page:integer
    Número de la página de resultados a retornar.
  • size:integer
    Cantidad máxima de elementos a incluir en la página (límite operacional: 100).
  • sort:string
    Criterio de ordenamiento. Prefijo '-' para orden descendente. Campos múltiples separados por comas.

paid_origin

object

Origen del pago cuando proviene de container. Incluye container_session_id.

paid_via

string

Indica el tipo de flujo de pago utilizado. Eco del request: no.

partner_email

string (email)

Correo electrónico del partner.

partner_id

string (uuid)

Identificador único del partner.

partner_name

string

Nombre o razón social del partner

partner_observations

string

Mensaje libre para el partner (máx. 500 caracteres). (Requerido en distribution, Eco del request: sí)

partner_phone

string

Teléfono del partner.

partner_phoneOrAccountForPayment

string

Teléfono o número de cuenta para el pago.

partner_rifNumber

string

RIF del partner

partner_shortName

string

Nombre corto del partner. Se genera automáticamente a partir del owner que lo crea seguido de p1 p2 p3 etc

partner_type

string

Tipo de usuario.

partners

array

Listado de créditos extra asociados a partners. (Nota: Posiblemente obsoleto). Eco del request: no.

path

string

Ruta de la petición que originó el error.

Ejemplo: "/api/users/get-info"

payer_identification

string

Identificación de la persona que va a pagar. Campo **opcional**: si no se envía, todo funciona igual que antes. Se envía como un único valor que une la letra del tipo y el número, sin espacios ni guiones (ej. `V30523769`). **Reglas según la letra:** - `V` o `E`: entre 7 y 9 dígitos (solo números). - `P` (pasaporte): entre 6 y 15 caracteres alfanuméricos (letras y números). Solo se aceptan las letras `V`, `E` y `P`. El tipo `J` no aplica porque con ese tipo de identificación no se pueden realizar pagos. El valor se guarda en mayúsculas aunque se envíe en minúsculas. **Efecto al enviarlo:** cuando el pagador abre el enlace, la identificación aparece precargada (separada en tipo y número) y el sistema busca únicamente el teléfono y el banco asociados a esa persona. Si la persona ya existe, esos datos también se precargan; si no existe, no se produce error y el pagador completa el resto. En la consulta de estado de la sesión, si la sesión se creó sin este campo, se devuelve `null`. Eco del request: sí.

Ejemplo: "V30523769"

payer_identification--validationError

string

Error relacionado con el campo payer_identification. Mensajes posibles: `Allowed identification types are: V, E, P`, `Identification number must have between 7 and 9 digits`, `Passport must have between 6 and 15 alphanumeric characters`.

Ejemplo: "Identification number must have between 7 and 9 digits"

payer_identifier

string

Identificador del pagador.

payer_name

string

Nombre del pagador.

payment_details

object

Detalles del pago bancario. Es 'null' si no aplica. (Nota: Revisar si es objeto vacío o null). Eco del request: no.

Propiedades del objeto:
  • action_date:
  • bank_name:
  • bank_reference_id:
  • amount_ves:
  • bcv_rate_usd_ves:
  • bcv_rate_eur_ves:
  • rate_usdt_ves:
  • rate_col_ves:

payment_method

string

Método de pago utilizado. Eco del request: no.

payment_methods

array

Métodos de pago permitidos solicitados (Request) o devueltos (Response). Eco del request: no.

paymentDate

Fecha en que se realizo el pago

Ejemplo: "2025-15-01"

paymentFailure

object

Detalle del intento de pago fallido. Cada intento fallido genera un webhook distinto con su propio bloque `failure`.

Propiedades del objeto:
  • id:
  • attempt_number:
  • message:
  • bank_name:
  • failed_at:

paymentFailure_attemptNumber

integer

Número del intento fallido dentro de la sesión de pago. Es el campo que distingue un aviso de otro: si el pagador falla tres veces, llegan tres webhooks idénticos salvo por `attempt_number`, `id` y `failed_at`.

Ejemplo: 2

paymentFailure_failedAt

string (date-time)

Fecha y hora del intento fallido, en formato ISO 8601 con desfase horario.

Ejemplo: "2026-10-01T10:32:08-04:00"

paymentFailure_id

string (uuid)

Identificador único del intento fallido. Útil para rastrear el caso con soporte de SPIDI.

paymentFailure_message

string

Motivo del fallo del intento de pago.

Ejemplo: "Clave de pago incorrecta"

paymentMerchant_status

string

Indica el status del pago. ```PENDING```: la orden fue creada y el POS aún no ha confirmado el pago. ```DISCARDED```: el sistema merchant descartó la orden antes de la confirmación del POS (si el POS confirma el pago después, este estado es sobrescrito a PAID). ```PAID```: el POS confirmó exitosamente el pago. ```VOID_PENDING```: se solicitó la anulación de un pago ya confirmado y se espera la confirmación del POS. ```VOIDED```: el POS confirmó la anulación del pago.

Ejemplo: "PAID"

per_stop

object

Configuración de filtros y paginación por parada. Eco del request: no.

phone

string

Número de teléfono.

Ejemplo: "+584141234567"

phoneNumber

string

Número de teléfono.

Ejemplo: "+584141234567"

phoneNumberLocal

string

Número de teléfono local.

Ejemplo: "04141234567"

posBatchId

integer

Este campo será un número autoincremental gestionado directamente desde el POS. El POS debe enviarlo para identificar correctamente el número de lote de las operaciones.

Ejemplo: 3

previous_status

string

Estado anterior de la sesión antes de expirar o fallar. Eco del request: no.

problemDetails

object

Detalles del problema. Implementación del estándar RFC 7807 / RFC 9457 para respuestas de error.

Propiedades del objeto:
  • title:string
    Un resumen breve y legible por humanos sobre el tipo de problema.
    Ejemplo: "Bad Request"
  • status:integer
    El código de estado HTTP generado por el servidor de origen.
    Ejemplo: 400
  • type:string (uri-reference)
    Una referencia URI que identifica el tipo de problema.
    Ejemplo: "about:blank"
  • detail:string
    Una explicación legible por humanos específica para esta ocurrencia del problema.
    Ejemplo: "Validation failed for request parameters"
  • instance:string (uri-reference)
    Una referencia URI que identifica la ocurrencia específica del problema.
    Ejemplo: null
  • errors:array
    Lista de errores específicos de validación con punteros JSON (RFC 6901). Si no existen errores de validación, se retorna un arreglo vacío [].

problemDetailsJose

object

Detalles del problema. Implementación del estándar RFC 9457 extendido para incluir lista de errores detallados y soporte de retrocompatibilidad multiformato.

Propiedades del objeto:
  • status:integer
    El código de estado HTTP generado por el servidor de origen.
  • title:string
    Un resumen breve y legible por humanos sobre el tipo de problema.
  • type:string (uri-reference)
    Una referencia URI que identifica el tipo de problema.
  • detail:string
    Una explicación legible por humanos específica para esta ocurrencia del problema.
  • message:
    Este campo se incluyo para que jose puediera crear el endpoint de forma mas sencilla sin embargo se debe priorizar el uso de 'detail' y 'errors' solo se mantendra hasta que jose pueda hacer la migracion.
  • instance:string (uri-reference)
    Una referencia URI que identifica la ocurrencia específica del problema.
  • errors:array
    Lista de errores específicos de validación con punteros JSON (RFC 6901).

processedAt

string (date-time)

Fecha y hora de procesamiento en formato ISO 8601.

Ejemplo: "2026-05-06T17:15:00-04:00"

processedAtNoUtc

string (date-time)

Fecha y hora de procesamiento en formato local no utc.

Ejemplo: "2026-05-06T17:15:00"

provider

string

Sin descripción disponible.

Ejemplo: "proveedor_x"

q

string

Búsqueda por texto en stop_title y/o internal_reference (contiene).

qr_payment_url

string

Cadena en base64 que representa la imagen de un QR que apunta al payment_url.

qrImgBase64

string

Imagen del código QR en formato Base64.

Ejemplo: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAACkCAYAAAAZtYVBAAAAAklEQVR4AewaftIAAAZGSURBVO3BQW4ER5IAQfdE..."

rate_col_ves

number (decimal(10,4))

Tasa de cambio COP a VES.

rate_usdt_ves

number (decimal(10,4))

Tasa de cambio USDT a VES.

reason

string

Razón de expiración o fallo.

receipt_url

string (uri)

URL del comprobante de pago SPIDI.

receiptMethodCrixto

string

Define el método de recepción de los fondos: * `movil-pay`: Se recibe el dinero en la cuenta recaudadora usando pago móvil. * `transfer`: Se recibe el dinero en la cuenta recaudadora usando tranferencia inmediata. * `wallet`: Se recibe el dinero en la wallet de Spidi.

receive_date

string (date-time)

Fecha y hora en que se acreditó el pago (ISO 8601).

receiver_credit.created

string (date-time)

Fecha asociada a la liquidación del receptor del pago.

receiverCredits

object

Detalles de la liquidación de créditos (Owner y Partners).

Propiedades del objeto:
  • owner:object
    Crédito asignado al dueño de la cuenta principal.
    • receiver_id:
    • memo:
    • spidi_credit_id:
    • amount_ves_credited:
    • bank_commissions_ves:
    • receive_date:
    • bank_name:
    • bank_reference_id:
  • partners:array
    Lista de créditos asignados a partners (split).

receiverCreditsSummary

object

Resumen agregado de liquidaciones al o los receptores.

Propiedades del objeto:
  • total_credits:
  • total_amount_ves_credited:
  • total_bank_commissions_ves:

recipient

object

Sin descripción disponible.

Propiedades del objeto:
  • id:
  • type:
  • split_recipient_agreement_id:
  • partner:object
    • observations:
    • name:
    • rif_number:

recipientId

string

Identificador del receptor del crédito.

recipientType

string

Tipo del receptor del crédito.

redis_healthy

boolean

Indica si Redis (almacén distribuido de la blacklist) responde correctamente.

Ejemplo: true

referenceBank

string

Referencia bancaria usada para correlacionar movimientos.

referenceByUser

string

Referencia proporcionada por el usuario para identificar el pago o transacción.

Ejemplo: "1234567891"

referencePayment

string

Referencia para identificar el pago o transacción.

Ejemplo: "1234567891"

refreshToken

string

Refresh token JWT. Permite obtener un nuevo par de tokens sin reenviar credenciales. Vive 7 días por defecto y es de **un solo uso**: cada renovación emite uno nuevo e invalida el anterior.

Ejemplo: "eyJhbGciOiJIUzUxMiJ9.eyJ0eXBlIjoicmVmcmVzaCJ9.c2lnbmF0dXJl"

refreshTokenExpiry

integer (int64)

Fecha de expiración del refresh token en **milisegundos epoch** (UTC).

Ejemplo: 1767830400000

reorder_session_ids

array

Nuevo orden deseado. Deben ser `session_id` **activos** en esa Parada (ver `mode`)

replaced_previous

array

Sesiones que dejaron de estar activas en Parada (op=replace).

requested

object

Eco de parámetros aplicados en la consulta.

requiredRoles

array

Roles exigidos por la regla que coincidió.

Ejemplo: ["ADMIN","USER","MODERATOR"]

rif

string

Sin descripción disponible.

Ejemplo: "J-00000000-0"

role

string

Nombre del rol consultado.

Ejemplo: "USER"

roles

array

Nombres de los roles asignados (sin el prefijo `ROLE_`).

Ejemplo: ["USER"]

route

string

Ruta concreta a verificar (sin query string).

Ejemplo: "/api/merchants/123/transactions"

routePath

string

Ruta concreta a verificar para el usuario autenticado.

Ejemplo: "/api/roles"

routePattern

string

Patrón de ruta estilo Ant (`*` un segmento, `**` varios segmentos). Debe comenzar con `/`.

Ejemplo: "/api/roles/**"

search

string

Texto para buscar por referencias internas u otros campos indexados.

serial

string

Número de serie del dispositivo (terminal). El servidor deriva de él, vía AES, el username y la password de la cuenta, con las mismas claves que usa el firmware para autenticarse.

Ejemplo: "PB12345678"

serialPos

string

Serial del POS

Ejemplo: "98202003219630"

serialSettlement

string

Serial del terminal que debe ejecutar el cierre.

Ejemplo: "98202003219630"

session_durationMinutes

integer

Duración en minutos de la sesión.

Ejemplo: 10

session_internal_reference

string

Referencia interna del comercio asociada a la sesión de pago (propósito estrictamente técnico, no visible al pagador). Sirve para conciliar y auditar operaciones entre tu sistema y SPIDI; puede vincularse a una factura, una orden o un cliente de tu plataforma. Texto de máximo 255 caracteres. - **Solicitud de pago:** es obligatoria al crearla. - **Botón de pago:** es opcional. Si no se envía, o se envía vacío, la sesión queda con `null`. Es el único caso en que el campo puede ser `null`. Se devuelve en la respuesta de creación del botón y en la consulta de estado de la sesión (botón o solicitud). **No se incluye en los webhooks.**

Ejemplo: "FACT-2026-00123"

sessionPayment

object

Detalles del pago y estado de la sesión.

Propiedades del objeto:
  • payment_method:string
    Método de pago: "crypto", "immediate_debit" o "mobile_payment".
  • spidi_transaction_id:integer
    ID de la transacción en Spidi (null si no se ha completado).
  • spidi_transaction_url:string
    URL del comprobante de pago (null si no se ha completado).
  • due_date_session:string
    Fecha límite para completar el pago (ISO 8601).
  • due_date_reached_behavior:string
    Comportamiento al expirar: "keep_active" o "expire".
  • late_notice_message:string
    Mensaje para mostrar cuando el pago está atrasado.
  • expired_at:string
    Fecha hora ISO 8601 de la expiración más reciente.
  • last_expired_by:
  • reason:
  • user_message:string
    Último Mensaje para el usuario.
  • crypto_details:
  • payment_details:object
    Detalles del pago bancario (null si no aplica).
  • receiver_credits:
  • receiver_credits_summary:

sessionPaymentWebhook

object

Sin descripción disponible.

Propiedades del objeto:
  • id:
  • origin:
  • agreement_id:
  • currency_reference:
  • amount_reference:
  • identifier_label:
  • identifier:
  • description:
  • payment_method:

sessionSpidi_id

string

ID de la sesión original en SPIDI.

Ejemplo: "098ace94-ce70-4203-abc3-80e20bb6e4c6"

settlementSummary

object

Sin descripción disponible.

Propiedades del objeto:
  • batchNumber:
  • transactionCount:integer
    Ejemplo: 12
  • closedAt:string (date-time)
    Ejemplo: "2023-04-04T15:26:51.187Z"
  • currencyReference:
  • terminal:
  • debitBatch:string
    Falta ser definido por Carlos Cardenas

signature

string

Firma opcional del payload.

SPIDI-Signature

string

Firma HMAC-SHA256 del cuerpo. (Header HTTP 'SPIDI-Signature').

SPIDI-Timestamp

string (date-time)

Timestamp del evento. (Header HTTP 'SPIDI-Timestamp').

split_general_info

object

Información general del documento asociado al split.

splitDocument

object

Información del documento proporcionado por el owner a los partners para dejar evidencia del split. **Notas importantes:** - Esta información **no implica cálculo fiscal** por parte de SPIDI; es solo comunicación entre owner y partners. - `splitDocument_url` puede ser público con hash o una URL autenticada. - SPIDI **no interpreta ni calcula IVA** a partir de esta información; solo lo transporta.

Propiedades del objeto:
  • name:
  • type:
  • date:
  • url:
  • observations:

splitDocument_date

string (date)

Fecha de emisión del documento en formato ISO 8601 (YYYY-MM-DD).

splitDocument_name

string

Nombre del documento asociado a la transacción split (por ejemplo: factura/recibo/contrato D001-00045678).

splitDocument_observations

string

Observaciones libres del owner (máx. 500 caracteres).

splitDocument_type

string

Formato libre del owner donde especifica el tipo de documento.

splitDocument_url

string (uri)

Enlace para visualizar/descargar el documento del split. Puede ser público con hash o una URL autenticada.

splitPartners

array

Opcional. Reparto del ingreso entre partners: un elemento por partner, con su monto bruto. Cada parte pasa por el algoritmo de comisiones como si fuera un ingreso propio y genera su propio crédito; el owner (receptor final) se queda con el resto (`amountPaid − Σ brutos`). Los partners se identifican por su posición, contando desde 1 (`PARTNER-1`, `PARTNER-2`, ...): no se manda identificador. Sin este campo hay un solo crédito, el del owner. Reglas (`400` si no se cumplen): cada bruto mayor que cero; la suma de los brutos menor que el monto pagado; y cada parte tiene que alcanzar para emitir un crédito mayor que cero.

Ejemplo: [{"amountPaidInbound":"106.37"},{"amountPaidInbound":"328.34"}]

stats

object

Estadísticas de la blacklist en Redis (p. ej. `active_blacklisted_tokens`). Si Redis falla contiene una clave `error`.

Ejemplo: {"active_blacklisted_tokens":12}

status

string

Estado actual de la sesión. El valor failed solo se aplica para sesiones creadas con botón de pago.

Usado en:

statusHttp_code

integer

Código de estado HTTP interno de la transacción.

Ejemplo: 200

statusHttp_shortDescription

string

Estado textual de la operación.

Ejemplo: "Success"

statusInboundCrixtoOrder

string

Estado del pago de crixto

stop

object

Sin descripción disponible.

Propiedades del objeto:
  • stop_id:
  • stop_url:
  • stop_title:
  • internal_reference:
  • empty_state_message:
  • status:
  • created_at:

stop_emptyStateMessage

string

Mensaje personalizado mostrado al cliente cuando la Parada no tiene solicitudes de pago activas (estado Empty). Ejemplo: 'No tienes pagos pendientes' o 'Actualmente no hay deudas asociadas'.

Ejemplo: "No tienes pagos pendientes"

stop_status

string

Estado de la Parada SPIDI. **Estados disponibles:** - **active**: La parada está activa. Si tiene al menos un enlace de pago activo, se muestran los pagos disponibles en una lista con su identificador, monto y estado. Si no tiene solicitudes de pago activas (estado Empty), muestra el mensaje configurado en `empty_state_message`. - **disabled**: La parada está deshabilitada temporalmente. Los clientes no pueden acceder a ella, pero puede reactivarse cambiando el estado a `active`. **Nota:** Aunque no aparece en el enum, existe un estado **deleted** que indica que la parada fue eliminada definitivamente y no puede recuperarse.

Ejemplo: "active"

stop_statusInitial

string

Estado inicial de la parada

Ejemplo: "active"

stop_url

string (uri)

URL permanente y única de la Parada SPIDI. El cliente puede visitar esta URL en cualquier momento para consultar y pagar todas sus solicitudes de pago activas o históricas, sin necesidad de recibir nuevos enlaces cada vez.

Ejemplo: "https://mispidi.com/s/stp_f9317c1b-8a4f-4d7e-9f25-3a2b8b9a4f12"

success

boolean

Indica si la operación fue exitosa. True si el endpoint se procesó de forma exitosa. False de lo contrario

Ejemplo: true
Usado en:

successDetails

object

Detalles del éxito unificado. Estándar donde el campo 'data' es siempre un arreglo (array), garantizando que las respuestas exitosas (2xx) retornen [], [obj] o [obj1, obj2].

Propiedades del objeto:
  • status:integer
    El código de estado HTTP generado por el servidor de origen (ej. 200, 201).
  • title:string
    Un resumen breve y legible por humanos sobre el tipo de éxito.
  • detail:string
    Una explicación legible por humanos específica para esta ocurrencia del éxito.
  • data:array
    Contenedor de datos de negocio. Siempre es una lista/arreglo: [] si no retorna entidades o no aplica, [obj] si es una entidad única, o [obj1, obj2] si son múltiples entidades.

successDetailsArray

object

Variante de SuccessDetails donde 'data' es estrictamente un arreglo de objetos.

Propiedades del objeto:
  • status:integer
  • title:string
  • detail:string
  • data:array
    Representa una colección de entidades de negocio.

successDetailsArrayOld

object

Variante heredada de SuccessDetails donde 'data' es estrictamente un arreglo de objetos.

Propiedades del objeto:
  • status:integer
  • title:string
  • detail:string
  • data:array
    Representa una colección de entidades de negocio.

successDetailsObject

object

Variante de SuccessDetails donde 'data' es estrictamente un objeto único.

Propiedades del objeto:
  • status:integer
  • title:string
  • detail:string
  • data:object
    Representa una entidad única de negocio.

successDetailsObjectOld

object

Variante heredada de SuccessDetails donde 'data' es estrictamente un objeto único.

Propiedades del objeto:
  • status:integer
  • title:string
  • detail:string
  • data:object
    Representa una entidad única de negocio.

successDetailsOld

object

Variante heredada de SuccessDetails. Estándar basado en la estructura de 'Problem Details' (RFC 9457).

Propiedades del objeto:
  • status:integer
    El código de estado HTTP generado por el servidor de origen (ej. 200, 201).
  • title:string
    Un resumen breve y legible por humanos sobre el tipo de éxito.
  • detail:string
    Una explicación legible por humanos específica para esta ocurrencia del éxito.
  • data:
    Contenedor de información que puede almacenar un objeto único o una lista de objetos.

successDetailsSimple

object

Detalles del éxito sin datos adicionales (solo título y detalle).

Propiedades del objeto:
  • status:integer
    El código de estado HTTP generado por el servidor de origen (ej. 200, 201).
  • title:string
    Un resumen breve y legible por humanos sobre el tipo de éxito.
  • detail:string
    Una explicación legible por humanos específica para esta ocurrencia del éxito.

successDetailsSimpleOld

object

Variante heredada de SuccessDetails sin datos adicionales (solo título y detalle).

Propiedades del objeto:
  • status:integer
    El código de estado HTTP generado por el servidor de origen (ej. 200, 201).
  • title:string
    Un resumen breve y legible por humanos sobre el tipo de éxito.
  • detail:string
    Una explicación legible por humanos específica para esta ocurrencia del éxito.

taxId

string

RIF o identificación fiscal del comercio.

Ejemplo: "J-12345678-0"

terminal_id

string (uuid)

Id único del terminal en formato UUID.

Ejemplo: "3ddc4cfb-c09a-43de-92c1-e4a069732e90"

terminal_number

string

Numero de terminal.

Ejemplo: "98202003219630"

terminal_serial

string

Serial del terminal físico.

Ejemplo: "98202003219630"

terminal_status

string

Sin descripción disponible.

Ejemplo: "pending"

timestamp

string (date-time)

Fecha y hora del evento (ISO 8601).

title

string

Título visible.

Usado en:

to_date

string (date-time)

Fecha/hora máxima (inclusive) para filtrar. Formato ISO 8601 UTC.

token

string

Token de autorización **JWT** para autenticar requests posteriores. * El token es un **JWT (JSON Web Token)** codificado en Base64. * Debe incluirse en el header `Authorization: Bearer {token}` de requests posteriores. * Tiene un tiempo de expiración definido por seguridad. * Contiene información del usuario autenticado y permisos.

tokenId

string

Identificador único del token (claim `jti`).

Ejemplo: "3f1c2a9e-8b7d-4e6f-9a0b-1c2d3e4f5a6b"

tokenType

string

Tipo de token de autenticación.

Ejemplo: "Bearer"

tokenValid

boolean

Indica si el token es válido: firma correcta, no expirado y no revocado.

Ejemplo: true

total_amount_ves_credited

number (double)

Monto total acreditado en VES.

total_bank_commissions_ves

number (double)

Total de comisiones bancarias en VES.

total_credits

integer

Número total de créditos/liquidaciones realizados.

total_estimate

integer

Estimación rápida del total.

transactionSpidi_id

number

ID de la transacción en SPIDI.

Ejemplo: 1296

transactionSpidi_url

string (uri)

URL del comprobante de pago en SPIDI (Comparar con 'receipt_url').

type

string

Error relacionado con el campo type.

Ejemplo: "Invalid value. Must be button or request"
Usado en:

updated_after

string (date-time)

Retorna elementos con updated_at posterior a esta fecha. Formato ISO 8601.

updatedAt

string (date-time)

Fecha y hora ISO-8601 de la última actualización.

Ejemplo: "2026-08-10T12:00:00Z"

updatedDate

string (date-time)

Fecha y hora ISO-8601 de la última actualización.

Ejemplo: "2026-08-10T12:00:00Z"

urlRedirection

string (uri)

URL de redireción en caso de que se tenga exito o falle

urlWebhookPayStatusChange

string (uri)

URL para recibir notificaciones del cambio en el status del pago

user_message

string

Mensaje para mostrar al usuario según estado.

username

string

Sin descripción disponible.

Ejemplo: "Nombre de usuario"

userRoles

array

Roles del usuario autenticado.

Ejemplo: ["USER"]

userSpidi_crixtoConfig

object

Configuración para crixto del usuario SPIDI

Propiedades del objeto:
  • userSpidiId:
  • isActive:boolean
    Indica si la configuracion de crixto del usuario SPIDI esta activa
    Ejemplo: true

userSpidi_id

string

Identificador único de tipo UUID para el usuario SPIDI

Ejemplo: "a966ce0d-3af3-415d-ba86-1db5a1c21cf0"

userSpidi_username

string

Nombre de usuario o identificador único del comercio.

uuid

string (uuid)

Identificador único en formato UUID.

Ejemplo: "cc87b3d9-a121-4fe7-a5d0-9c0916008220/transactions/3ddc4cfb-c09a-43de-92c1-e4a069732e90"