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

# Conectar una fuente de datos (API)

> Registra tu base de datos en Reporter, prueba la conexión y lee las tablas y los campos que tus plantillas pueden usar.

Da a Reporter una base de datos para leer y confirma que Reporter alcanza las tablas que usan tus plantillas.

## Participantes

***

* **Tu institución.** Tu sistema que llama a la API de Reporter.
* **Reporter.** Guarda la fuente de datos, prueba la conexión y lee la estructura de tu base de datos.
* **Tu base de datos.** La base de datos PostgreSQL o MongoDB que guarda los datos de tus informes.

## Antes de empezar

***

* Tienes un bearer token que Access Manager emite para Reporter.
* Reporter alcanza tu base de datos por la red.
* Tienes un usuario de base de datos para Reporter. Da a este usuario solo acceso de lectura.

## Diagrama

***

![Conectar una fuente de datos](https://mintcdn.com/lerian-49cb71fc/MbifquGny5fsdtVy/images/es/d2/id-reporter-connect-a-data-source.svg?fit=max\&auto=format\&n=MbifquGny5fsdtVy\&q=85\&s=a6c86dfb8d01128117365cfebec68870)

## Pasos por la API

***

| # | Origen | Destino | Mensaje | API de Lerian | Qué ocurre |
| - | - | - | - | - | - |
| 1 | Tu institución | Reporter | API de Lerian | [`GET /v1/data-sources`](https://docs.lerian.studio/es/reference/products/reporter/list-data-sources) | Lista las fuentes de datos que Reporter conoce. |
| 2 | Reporter | Tu institución | Respuesta | | Reporter devuelve una página de fuentes de datos. La página también puede mostrar fuentes de datos de solo lectura que la plataforma ofrece para las bases de datos de tus productos Lerian. |
| 3 | Tu institución | Reporter | API de Lerian | [`POST /v1/data-sources`](https://docs.lerian.studio/es/reference/products/reporter/create-data-source) | Envía `configName`, `type`, `host`, `port`, `databaseName`, `username` y `password`. Agrega `sslMode` para elegir el modo TLS. |
| 4 | Reporter | Tu institución | Respuesta | | Reporter devuelve la fuente de datos con su `id`. La respuesta no muestra la contraseña. |
| 5 | Tu institución | Reporter | API de Lerian | [`POST /v1/data-sources/{dataSourceId}/test-connection`](https://docs.lerian.studio/es/reference/products/reporter/test-data-source-connection) | Pide a Reporter que pruebe la conexión. |
| 6 | Reporter | Tu base de datos | Conexión | | Reporter abre una conexión corta con tu base de datos y verifica que la base responde. |
| 7 | Reporter | Tu institución | Respuesta | | Reporter devuelve `status` `connected` o `failed`, un mensaje y `latencyMs`. |
| 8 | Tu institución | Reporter | API de Lerian | [`GET /v1/data-sources/{dataSourceId}/schema`](https://docs.lerian.studio/es/reference/products/reporter/get-data-source-schema) | Pide las tablas y los campos de la fuente de datos. |
| 9 | Reporter | Tu base de datos | Conexión | | Reporter lee las tablas o colecciones y sus campos. |
| 10 | Reporter | Tu institución | Respuesta | | Reporter devuelve cada tabla con sus campos y sus tipos. Usa estos nombres en tus plantillas y filtros. |

## Reglas

***

* El `configName` es el nombre que usan tus plantillas y filtros. Tiene de 1 a 100 letras, dígitos, guiones bajos o guiones. Es único entre tus fuentes de datos.
* Cuando no envías `sslMode` ni `sslCaBase64`, Reporter usa `require`.
* Cuando cambias `host`, `port`, `username`, `databaseName`, `type`, `sslMode`, `options` o `sslCaBase64`, envía el `password` de nuevo.
* Reporter se niega a cambiar, eliminar o probar una fuente de datos de solo lectura de la plataforma. Puedes leer su esquema.

## Cómo saber que terminó

***

La prueba de conexión devuelve `connected`, y el esquema lista las tablas y los campos que leen tus plantillas.

## Qué puede salir mal

***

| Situación | Qué ves | Qué hacer |
| - | - | - |
| El `configName` ya está en uso o está reservado | `409` o `400`, con un código y un mensaje | Elige otro nombre. |
| Un campo no cumple una regla | `400` con `RPT-0017` y un mensaje que nombra el campo | Corrige el campo y envía la solicitud de nuevo. |
| La prueba falla | `200` con `status` `failed` y un mensaje | Revisa la ruta de red, la configuración de TLS y las credenciales. Luego prueba de nuevo. |

## Relacionados

***

* [Generar y descargar un informe](https://docs.lerian.studio/es/diagrams/lerian-products/reporter-generate-a-report.md)
* [Conectar Reporter a Midaz](https://docs.lerian.studio/es/products/reporter/connecting-reporter-to-midaz.md)
* [Inicio rápido para desarrolladores de Reporter](https://docs.lerian.studio/es/reference/products/reporter/reporter-developer-quick-start.md)


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