> ## 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.

# Emite la CCB

> Haz que Lender emita la CCB o emítela tú mismo, y luego registra la CCB firmada en la solicitud de préstamo.

La CCB (*Cédula de Crédito Bancário*) evidencia el contrato de crédito de un préstamo directo. La versión del producto dice quién la emite: Lender genera el PDF, o lo genera tu institución.

## Elige quién emite la CCB

***

Una versión de producto declara `terms.creditInstrumentMode` cuando [la creas](https://docs.lerian.studio/es/products/lender/define-a-loan-product.md). El valor es `lender_emitted` (el predeterminado) o `client_issued`. Una versión nunca cambia, así que otro emisor exige una versión nueva.

| Tema | `lender_emitted` | `client_issued` |
| - | - | - |
| Quién genera el PDF | Lender, a partir de la plantilla de documento publicada del producto | Tu institución |
| Qué registras después | La CCB firmada, indicando la CCB que Lender emitió | La CCB firmada, con el digest del documento que emitió tu institución |
| Qué rechaza Lender | La emisión en una solicitud que no está aprobada | Cualquier emisión: `LENDER-0601` |

## Lender emite la CCB

***

**1. Publica una plantilla de documento**

El producto necesita una plantilla publicada antes de que Lender emita. [Crea un borrador](https://docs.lerian.studio/es/reference/products/lender/create-document-template-draft.md) con `POST /api/v1/loan-products/{productId}/document-templates` y [publícalo](https://docs.lerian.studio/es/reference/products/lender/publish-document-template.md). Publicar una versión nueva reemplaza la activa. Sin plantilla activa, la emisión responde `LENDER-0616`.

**2. Aprueba la solicitud y emite antes de la liberación**

Lender solo emite para una solicitud `approved`. Una solicitud que ya fue desembolsada responde `LENDER-0602`, así que emite entre la aprobación y la [liberación](https://docs.lerian.studio/es/products/lender/originate-a-loan.md#record-a-release-your-institution-made).

**3. Emite la CCB**

[`POST /api/v1/loan-applications/{applicationId}/credit-instruments`](https://docs.lerian.studio/es/reference/products/lender/issue-credit-instrument) recibe `idempotencyKey` en el cuerpo, no en un encabezado, y un bloque `parties` con los nombres y documentos del emisor y del acreedor, los lugares de emisión y de pago y cualquier otro campo que declare la plantilla. La misma clave devuelve la misma CCB, con `X-Idempotency-Replayed: true`. La misma clave con otro bloque `parties` se rechaza.

**4. Lista y descarga**

[`GET .../credit-instruments`](https://docs.lerian.studio/es/reference/products/lender/list-credit-instruments) lista las emisiones, de la más nueva a la más antigua. Una emisión anterior trae `supersededByInstrumentId`. El bloque `issuance` dice si la solicitud puede tener una CCB emitida ahora (`canEmit`) y, cuando no puede, el código con que respondería la emisión (`refusalCode`). [`GET .../credit-instruments/{instrumentId}/download`](https://docs.lerian.studio/es/reference/products/lender/download-credit-instrument) devuelve el PDF que guarda Lender.

## Tu institución emite la CCB

***

En una versión `client_issued`, Lender no emite la CCB. `POST .../credit-instruments` responde `LENDER-0601`, y la lista muestra `canEmit: false` con el mismo `refusalCode`. Genera el documento y recoge la firma por tu cuenta, y luego [registra la CCB firmada](#record-the-signed-ccb). Guarda el digest del documento tal como estaba antes de la firma: el registro se rechaza con `LENDER-0608` cuando falta `originalDocumentDigest` o cuando se envía `creditInstrumentId`, que indica una CCB emitida por Lender.

## Registra la CCB firmada

***

Registra la CCB firmada cuando las partes hayan firmado, en una solicitud `approved` o `disbursed`, en los dos modos. [`POST /api/v1/loan-applications/{applicationId}/signed-credit-instrument`](https://docs.lerian.studio/es/reference/products/lender/record-signed-credit-instrument) recibe:

| Campo | Qué enviar |
| - | - |
| `document` | El PDF firmado en base64, con el alfabeto estándar, de hasta 20 MiB decodificado. |
| `signedDocumentDigest` | El sha-256, en hexadecimal, del documento decodificado. Lender calcula el suyo y rechaza la divergencia con `LENDER-0605`. |
| `creditInstrumentId` | Solo en `lender_emitted`: el `id` de la CCB que Lender emitió para esta solicitud. Obligatorio en ese modo y rechazado en `client_issued`. Sin él, o con el id de la CCB de otra solicitud, Lender responde `LENDER-0607`. |
| `originalDocumentDigest` | El sha-256, en hexadecimal, del documento que se firmó. Obligatorio en `client_issued`. En `lender_emitted` es opcional, y Lender lo contrasta con su CCB. |
| `signedAt` | Cuándo se completó la firma. Como máximo 5 minutos después del reloj de Lender, para absorber un proveedor de firma con el reloj adelantado. |
| `evidenceRef` | Tu referencia a la evidencia de la firma, de hasta 1.024 bytes. |
| `signatories` | Todas las partes que firmaron, de 1 a 20. Cada una tiene `role` (hasta 64), `name` (hasta 256), `taxId` (hasta 32) y `signedAt`, que no puede ser posterior al `signedAt` del instrumento. Lender guarda el nombre y el documento y nunca los devuelve. |

Esta ruta no recibe el encabezado `X-Idempotency`. Enviar de nuevo el mismo documento devuelve el registro más nuevo, con `X-Idempotency-Replayed: true`, e ignora cualquier metadato que difiera en el reenvío: no actualiza el registro.

## Reemplaza la CCB firmada

***

Un documento distinto se rechaza con `LENDER-0604`, salvo que sea un reemplazo. Para reemplazar, lee el registro más nuevo y envía el documento nuevo con `supersedes` igual al `id` de ese registro y un `replacementReason` de una línea, de hasta 500 caracteres. Los dos van juntos. El registro reemplazado permanece en el historial, y vale el más nuevo.

Un documento que ya pertenece a un registro anterior no puede volver como reemplazo: Lender responde `LENDER-0613`. Para volver a ese contenido, envía un archivo nuevo, como una nueva exportación, cuyos bytes sean distintos.

## Lee y descarga

***

[`GET /api/v1/loan-applications/{applicationId}/signed-credit-instrument`](https://docs.lerian.studio/es/reference/products/lender/get-signed-credit-instrument) devuelve el registro más nuevo. `custodian` dice quién guarda el PDF: `lender` o `integrator`. [`GET .../signed-credit-instrument/download`](https://docs.lerian.studio/es/reference/products/lender/download-signed-credit-instrument) entrega el PDF que guarda Lender. Para un registro cuyo custodian es `integrator`, responde `LENDER-0614`: el PDF queda con el integrador, y el `signedDocumentDigest` de la lectura verifica sus bytes.

## Rechazos

***

| Código | Estado | Qué significa | Qué hacer |
| - | - | - | - |
| `LENDER-0601` | `422` | La versión del producto deja la CCB a la institución, así que Lender no emite una. | Emítela tú y registra la CCB firmada. Para que Lender emita, registra la solicitud en una versión `lender_emitted`. |
| `LENDER-0602` | `409` | La solicitud no está aprobada, así que Lender no puede emitir su CCB. | Aprueba la solicitud y emite de nuevo. |
| `LENDER-0604` | `409` | La solicitud ya tiene una CCB firmada, y la petición envió un documento distinto sin indicar el registro que reemplaza. | Reemplaza con `supersedes` y `replacementReason`, o reenvía los mismos bytes. |
| `LENDER-0605` | `422` | `signedDocumentDigest` no es el sha-256 que Lender calculó sobre el documento. | Calcula el hash sobre los bytes exactos que codificas en `document`. |
| `LENDER-0607` | `422` | Lender emitió la CCB de esta solicitud, y la petición no la indica. | Envía el `id` de la CCB que se firmó, tomado de la lista. |
| `LENDER-0608` | `422` | La institución emite la CCB: se envió `creditInstrumentId`, o falta `originalDocumentDigest`. | Quita `creditInstrumentId` y envía `originalDocumentDigest`. |
| `LENDER-0613` | `409` | El documento ya pertenece a un registro anterior. | Envía un archivo nuevo, de bytes distintos. |
| `LENDER-0614` | `409` | La CCB firmada más nueva la guarda el integrador. | Busca el PDF con el integrador. |
| `LENDER-0616` | `422` | El producto no tiene una plantilla de documento activa. | Publica una plantilla y emite de nuevo. |

La página de referencia de cada operación lista sus otros rechazos: las páginas de [emisión](https://docs.lerian.studio/es/reference/products/lender/issue-credit-instrument.md), de [registro](https://docs.lerian.studio/es/reference/products/lender/record-signed-credit-instrument.md), de [lectura](https://docs.lerian.studio/es/reference/products/lender/get-signed-credit-instrument.md) y de [descarga](https://docs.lerian.studio/es/reference/products/lender/download-signed-credit-instrument.md), y las de [creación](https://docs.lerian.studio/es/reference/products/lender/create-document-template-draft.md) y de [publicación](https://docs.lerian.studio/es/reference/products/lender/publish-document-template.md) de la plantilla.

## En la consola

***

La consola muestra la CCB de cada solicitud en **Credit instruments**: consulta [Credit instruments](https://docs.lerian.studio/es/products/lender/console/credit.md#credit-instruments).

## Próximos pasos

***

> [card] [Origina un préstamo](https://docs.lerian.studio/es/products/lender/originate-a-loan.md)
>
> Lleva una solicitud desde el envío hasta la liberación.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.