Saltar al contenido principal
POST
/
v1
/
organizations
/
{organization_id}
/
ledgers
/
{ledger_id}
/
transactions
/
block
Crear una Transacción de Bloqueo
curl --request POST \
  --url https://ledger.sandbox.lerian.net/v1/organizations/{organization_id}/ledgers/{ledger_id}/transactions/block \
  --header 'Content-Type: application/json' \
  --data '
{
  "chartOfAccountsGroupName": "FUNDING",
  "description": "Bloquear fondos pendientes de investigación",
  "code": "BLK-2026-001",
  "transactionDate": "2026-06-23T12:00:00Z",
  "metadata": {
    "reason": "retención por cumplimiento",
    "channel": "api"
  },
  "send": {
    "asset": "BRL",
    "value": "1000",
    "source": {
      "from": [
        {
          "accountAlias": "@source-account",
          "balanceKey": "default",
          "amount": {
            "asset": "BRL",
            "value": "1000"
          },
          "description": "Débito en la cuenta de origen"
        }
      ]
    },
    "distribute": {
      "to": [
        {
          "accountAlias": "@destination-account",
          "balanceKey": "default",
          "remaining": "remaining",
          "description": "Crédito en la cuenta de destino"
        }
      ]
    }
  }
}
'
{ "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "parentTransactionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "ledgerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "description": "<string>", "route": "<string>", "routeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "status": { "code": "<string>", "description": "<string>" }, "amount": "<string>", "assetCode": "<string>", "chartOfAccountsGroupName": "<string>", "source": [ "<string>" ], "destination": [ "<string>" ], "createdAt": "2023-11-07T05:31:56Z", "updatedAt": "2023-11-07T05:31:56Z", "deletedAt": "2023-11-07T05:31:56Z", "operations": [ { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "transactionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "ledgerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "accountAlias": "<string>", "balanceId": "<string>", "balanceKey": "<string>", "description": "<string>", "assetCode": "<string>", "chartOfAccounts": "<string>", "route": "<string>", "routeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "routeCode": "<string>", "routeDescription": "<string>", "amount": { "value": "<string>" }, "balance": { "available": "<string>", "onHold": "<string>", "version": 123, "overdraftUsed": "<string>" }, "balanceAfter": { "available": "<string>", "onHold": "<string>", "version": 123, "overdraftUsed": "<string>" }, "status": { "code": "<string>", "description": "<string>" }, "balanceAffected": true, "createdAt": "2023-11-07T05:31:56Z", "updatedAt": "2023-11-07T05:31:56Z", "deletedAt": "2023-11-07T05:31:56Z", "metadata": {} } ], "metadata": {} }

Encabezados

Content-Type
string

El tipo de medio del recurso. El valor recomendado es application/json.

X-Request-Id
string<uuid>

Un identificador único utilizado para rastrear y seguir cada solicitud.

Authorization
string

Token JWT bearer para autenticación. Requerido cuando PLUGIN_AUTH_ENABLED=true (obligatorio en despliegues multiinquilino). Opcional en el modo OSS de inquilino único predeterminado. Formato: Bearer <token>

X-Idempotency
string

Una clave única que garantiza la idempotencia de la transacción. Si no se proporciona, el sistema genera automáticamente un hash SHA-256 basado en el cuerpo de la solicitud. Las claves están delimitadas por organización y ledger.

Siempre valide el header de respuesta X-Idempotency-Replayed para distinguir transacciones nuevas de reproducciones en caché.

Consulte Reintentos e idempotencia para mejores prácticas.

X-TTL
integer

El tiempo de vida (TTL) de la clave de idempotencia, definido en segundos. Si no se proporciona, el valor predeterminado es 300 segundos (5 minutos). Solo se usa el TTL de la primera solicitud; cambiarlo en reintentos no tiene efecto.

Consulte Reintentos e idempotencia para más detalles.

Parámetros de ruta

organization_id
string<uuid>
requerido

El identificador único de la Organización asociada al Ledger.

ledger_id
string<uuid>
requerido

El identificador único del Ledger asociado.

Cuerpo

application/json
chartOfAccountsGroupName
string

El nombre del grupo del plan de cuentas asociado a la transacción.

Maximum string length: 256
description
string

Una descripción para la transacción.

Maximum string length: 256
pending
boolean
predeterminado:false

Indica si la transacción debe seguir un proceso de dos pasos: autorización seguida de ejecución. Cuando se establece en true, la transacción se crea en estado pendiente, reservando fondos (on_hold) sin moverlos de inmediato. Se requiere una confirmación posterior para finalizar la transferencia.

code
string

Código de transacción para referencia.

Maximum string length: 100
route
string
obsoleto

Obsoleto. Use routeId en su lugar. Identificador heredado de la ruta mantenido por compatibilidad; se acepta pero no se utiliza en la validación de enrutamiento.

routeId
string<uuid>

El identificador único (UUID) de la Ruta de Transacción asociada a esta transacción. Importante: Cuando la validación de Enrutamiento de Transacciones está habilitada para su Ledger, este campo se vuelve obligatorio y debe coincidir con un id existente de sus Rutas de Transacción configuradas. Sin embargo, cuando la validación está deshabilitada (comportamiento predeterminado), este campo es opcional.

transactionDate
string

La fecha y hora en que se realizó la transacción. Se utiliza para agregar transacciones pasadas. Debe ser una fecha en el pasado.

send
object

Un objeto que contiene información sobre la transacción que se enviará.

metadata
object

Un objeto que contiene pares clave-valor para agregar como metadatos, donde el campo name es la clave y el campo value es el valor. Por ejemplo, para agregar un Centro de Costo, use 'costCenter': 'BR_11101997'.

Restricciones: las claves deben tener como máximo 100 caracteres; los valores de cadena de texto, como máximo 2000 caracteres. No se permiten objetos anidados (los valores deben ser cadena de texto, número o booleano), la estructura no puede exceder una profundidad máxima de 10, y se permite un máximo de 100 claves.

Respuesta

Indica que el recurso fue creado exitosamente y la operación se completó como se esperaba.

La respuesta incluye el header X-Idempotency-Replayed.

Si el valor es false, la transacción fue recién procesada. Si el valor es true, la respuesta es una repetición de una solicitud procesada anteriormente.

Consulte Reintentos e idempotencia para más detalles.

id
string<uuid>

El identificador único de la transacción.

parentTransactionId
string<uuid> | null

El identificador único de la transacción padre/original para reversiones. Este campo es completado por el servidor cuando una transacción es revertida y debe ser tratado como solo lectura por los clientes.

organizationId
string<uuid>

El identificador único de la Organización.

ledgerId
string<uuid>

El identificador único del Ledger.

description
string

Descripción de la transacción.

route
string

Especifica la Ruta de Transacción asociada a la transacción.

routeId
string<uuid>

El identificador único de la Ruta de Transacción aplicada a esta transacción.

status
object

El estado de la transacción (pendiente, completada, revertida).

amount
string

El monto enviado.

assetCode
string

El nombre del activo utilizado en la operación.

chartOfAccountsGroupName
string

El nombre del grupo del plan de cuentas.

source
string[]

La lista de cuentas utilizadas como origen.

destination
string[]

La lista de cuentas utilizadas como destino.

createdAt
string<date-time>

Fecha y hora de creación (UTC).

updatedAt
string<date-time>

Fecha y hora de la última actualización (UTC).

deletedAt
string<date-time> | null

Fecha y hora de la eliminación lógica, si aplica (UTC).

operations
object[]
metadata
object

Un objeto que contiene pares clave-valor para agregar como metadatos, donde el campo name es la clave y el campo value es el valor. Por ejemplo, para agregar un Centro de Costo, use 'costCenter': 'BR_11101997'.

Restricciones: las claves deben tener como máximo 100 caracteres; los valores de cadena de texto, como máximo 2000 caracteres. No se permiten objetos anidados (los valores deben ser cadena de texto, número o booleano), la estructura no puede exceder una profundidad máxima de 10, y se permite un máximo de 100 claves.