> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Cómo funciona Lerian SLC

> Pipeline de liquidación: intake canónico, archivo ASLC, firma delegada, transmisión y correlación de retornos, IF Domicílio y flujos de clearing.

Lerian SLC corre un único pipeline de liquidación para cada operación de tarjeta. El pipeline recibe una operación y construye su archivo ASLC. La custodia del cliente firma el archivo. Lerian SLC transmite el archivo a Nuclea y correlaciona los retornos. El NUliquid rastrea la operación a lo largo de su ciclo de vida.

## Intake

***

Las operaciones entran a Lerian SLC por dos modos canónicos:

* **API canónica** — un intake REST/JSONL para operaciones en la forma canónica de Lerian. `external_id` es la clave de deduplicación del llamador: un segundo envío bajo un `external_id` ya en uso se rechaza con **409 Conflict** nombrando la operación existente, de modo que un envío reintentado nunca liquida dos veces.
* **XML ASLC directo** — una carga de XML ASLC listo, para llamadores que ya lo producen.

Un modo de **pass-through auditado** también acepta artefactos que el cliente ya firmó y los reenvía bajo auditoría.

Hoy envías tres tipos de operación: **CREDIT**, **DEBIT** y **ANTICIPATION**. Una **CANCELLATION** entra por su propia vía, porque lleva un código de motivo regulatorio y el identificador de la operación que cancela. **SWEEP** (varredura) es un tipo canónico que Lerian SLC emite por su cuenta; no se acepta en el intake.

## Construir, firmar, transmitir, correlacionar

***

Cada operación fluye por un único pipeline:

1. **Validar** la operación contra los XSD de Nuclea.
2. **Construir** el archivo ASLC como UTF-16BE, sin BOM, hasta un techo de registros configurable que por omisión es **50.000** registros por archivo. La construcción divide el archivo automáticamente por encima de ese techo. Los archivos de cancelación están exentos: nunca se dividen.
3. **Sellar** el archivo. Primero comprímelo con **GZIP**. Luego construye el **SPB security envelope**, que la custodia del cliente firma (ver la orquestación de firma más abajo).
4. **Transmitir** el archivo a Nuclea por el canal configurado para el tenant: **Connect:Direct** sobre la red privada RSFN, o **REST** con **mTLS**. El canal REST agrega una firma **JWS por solicitud** porque cruza la internet pública; Connect:Direct no la necesita, ya que el payload ya está firmado en el SPB y la red es privada.
5. **Correlacionar** los retornos de Nuclea con las operaciones que los originaron. Cada costura de retorno usa la clave que la contraparte devuelve: una línea **RET** por su número de control de 20 posiciones —la forma de tu `external_id` rellenada con ceros a la izquierda—, una línea **ASLC023** o D+1 por su **NUliquid**, y un **PRO** a nivel de archivo por el número de control del lote transmitido. Una línea cuya clave no coincide con nada se omite como no correlacionada. Los retornos son los archivos **PRO / ERR / RET** y el mensaje de estado **ASLC028**.

### Cuando un retorno se contradice a sí mismo

Un mismo archivo de retorno puede declarar dos resultados distintos para la misma referencia, y los XSD no pueden rechazar esa forma. Lerian SLC lo resuelve por política, no por el orden en que las líneas aparecen en el archivo:

* un solo resultado — se aplica tal como está;
* el mismo resultado repetido — se aplica exactamente una vez;
* una aceptación **y** un rechazo para la misma referencia — **el rechazo gana**, y la aceptación desplazada se reporta para conciliación.

El resultado es el mismo en cualquier orden en que lleguen las dos líneas. El archivo nunca se aborta: todas las demás referencias siguen procesándose y el retorno se acusa igualmente.

## Familias de mensajes

***

| Flujo                   | Familia de mensajes                                       |
| ----------------------- | --------------------------------------------------------- |
| Liquidación de crédito  | ASLC027 / ASLC028                                         |
| Liquidación de débito   | ASLC029 / ASLC030                                         |
| Anticipación            | ASLC031 / ASLC034                                         |
| Retornos y devoluciones | ASLC041 / ASLC042 / ASLC043                               |
| Cancelación             | ASLC060–ASLC067                                           |
| Barrido (varredura)     | ASLC050 / ASLC051                                         |
| Domicílio de entrada    | ASLC022 / ASLC023 / ASLC024 / ASLC025 / ASLC032 / ASLC033 |

## Flujos de liquidación

***

* **Crédito (adquirente).** Las operaciones entran por el intake canónico. Lerian SLC construye el archivo de crédito (**ASLC027**), luego lo firma y lo transmite. Correlaciona el estado **ASLC028** y los retornos PRO/ERR/RET. El NUliquid rastrea cada operación a lo largo de su ciclo de vida.
* **Débito y anticipación.** El mismo pipeline de intake-construir-firmar-transmitir corre para las familias de débito (**ASLC029 / ASLC030**) y de anticipación (**ASLC031 / ASLC034**). Los retornos de estado y el rastreo por NUliquid reflejan el flujo de crédito.
* **Cancelación.** El adquirente informa una cancelación (crédito **ASLC060**, débito **ASLC064**). Lerian SLC la retransmite a la **IF Domicílio** (**ASLC061**). El domicilio devuelve su resultado de procesamiento (**ASLC062**). Lerian SLC devuelve el resultado al adquirente (**ASLC063 / ASLC067**). Luego emite un evento de cancelación-confirmada-por-domicilio con el NUliquid.

## IF Domicílio de entrada

***

Como institución de domicilio, Lerian SLC recibe avisos de liquidación de crédito y débito (**ASLC022 / ASLC024 / ASLC032**). Los confirma (**ASLC023 / ASLC025 / ASLC033**). Emite retornos y devoluciones (**ASLC041 / ASLC042 / ASLC043**). Un webhook con clave NUliquid señala el crédito al comercio y lleva la evidencia del retorno.

## Clearing y fondeo para la IF Liquidante

***

Para la institución liquidante, Lerian SLC consume los mensajes de clearing de entrada sobre la RSFN. Estos son el acuse de recepción del archivo (**GEN0015**), la posición de clearing preview y final (**SLC0001**), la divergencia de movimiento bilateral (**SLC0002**) y el estado operativo del participante (**PAG0101**). Lerian SLC construye la **posición de clearing por ciclo de liquidación** y la reconcilia contra las instrucciones esperadas. Interpreta y expone la divergencia bilateral **SLC0002**. Levanta eventos de preview-disponible, final-disponible, depósito-requerido y plazo-de-depósito-por-vencer.

## Ciclo de vida de la operación

***

El NUliquid rastrea cada operación a lo largo de un ciclo de vida de **11 estados**.

| Estado            | Significado                                              |
| ----------------- | -------------------------------------------------------- |
| **CREATED**       | La operación fue aceptada en Lerian SLC.                 |
| **QUEUED**        | Está en cola para la próxima construcción de archivo.    |
| **SENT**          | Su archivo fue transmitido a Nuclea.                     |
| **ACKNOWLEDGED**  | Nuclea acusó recibo.                                     |
| **ACCEPTED**      | Nuclea aceptó la operación.                              |
| **REJECTED**      | Nuclea rechazó la operación.                             |
| **FORWARDED**     | El aviso de liquidación fue reenviado a la IF Domicílio. |
| **CONFIRMED**     | El domicilio confirmó.                                   |
| **SETTLED**       | La operación liquidó.                                    |
| **D1\_CONFIRMED** | La liquidación está confirmada en D+1.                   |
| **CANCELLED**     | La operación fue cancelada.                              |

Los archivos llevan su propio ciclo de vida de **10 estados**, desde la construcción hasta la transmisión y la correlación de retornos.

## Orquestación de firma

***

Lerian SLC materializa el XML ASLC sin firmar y luego **delega la firma en un backend de custodia elegido por tenant**. La clave privada nunca sale de la custodia del cliente, y Lerian nunca firma en nombre del cliente.

| Backend de custodia | Dónde vive la clave                              |
| ------------------- | ------------------------------------------------ |
| **Software key**    | Una clave en software en el entorno del cliente. |
| **PKCS#11 HSM**     | Un módulo de seguridad de hardware.              |
| **Cloud KMS**       | Un servicio de gestión de claves en la nube.     |

Los despliegues SaaS fijan la custodia a cloud KMS vía **importación de clave envuelta del lado del cliente**. El cliente envuelve e importa su propia clave. El servicio almacena solo el certificado público y una referencia de clave —nunca el material privado.

## Transporte

***

Lerian SLC envía las operaciones en línea a Nuclea sobre **REST**: **mTLS** y una firma **JWS por solicitud** protegen ese canal (la serie en línea SLC0908 / SLC0912 / SLC0915). Los retornos de entrada se sondean y se confirman sobre el mismo canal REST.

La transmisión de archivos es la única superficie con elección por tenant: **REST** o **Connect:Direct** sobre la red privada RSFN. REST agrega la firma JWS por solicitud porque atraviesa la internet pública; Connect:Direct no la necesita, ya que el payload ya lleva su firma SPB y la red es privada.

<Note>
  El cliente de red de Connect:Direct todavía no está aprovisionado. Un tenant configurado para él falla cerrado con un error de transporte tipado en lugar de caer silenciosamente a REST, así que REST es hoy el único canal que transporta archivos.
</Note>
