> ## 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 uma fonte de dados (API)

> Registre seu banco de dados no Reporter, teste a conexão e leia as tabelas e os campos que seus templates podem usar.

Dê ao Reporter um banco de dados para ler e confirme que o Reporter alcança as tabelas que seus templates usam.

## Participantes

***

* **Sua instituição.** O seu sistema que chama a API do Reporter.
* **Reporter.** Guarda a fonte de dados, testa a conexão e lê a estrutura do seu banco de dados.
* **Seu banco de dados.** O banco de dados PostgreSQL ou MongoDB que guarda os dados dos seus relatórios.

## Antes de começar

***

* Você tem um bearer token que o Access Manager emite para o Reporter.
* O Reporter alcança seu banco de dados pela rede.
* Você tem um usuário de banco de dados para o Reporter. Dê a esse usuário apenas acesso de leitura.

## Diagrama

***

![Conectar uma fonte de dados](https://mintcdn.com/lerian-49cb71fc/WuRfbo_y9uSbzyyX/images/pt/d2/id-reporter-connect-a-data-source.svg?fit=max\&auto=format\&n=WuRfbo_y9uSbzyyX\&q=85\&s=9e23f921a041503efecc2dfd6033cb79)

## Passo a passo pela API

***

| # | Origem | Destino | Mensagem | API da Lerian | O que acontece |
| - | - | - | - | - | - |
| 1 | Sua instituição | Reporter | API da Lerian | [`GET /v1/data-sources`](https://docs.lerian.studio/pt/reference/products/reporter/list-data-sources) | Liste as fontes de dados que o Reporter conhece. |
| 2 | Reporter | Sua instituição | Resposta | | O Reporter devolve uma página de fontes de dados. A página também pode mostrar fontes de dados somente leitura que a plataforma fornece para os bancos de dados dos seus produtos Lerian. |
| 3 | Sua instituição | Reporter | API da Lerian | [`POST /v1/data-sources`](https://docs.lerian.studio/pt/reference/products/reporter/create-data-source) | Envie `configName`, `type`, `host`, `port`, `databaseName`, `username` e `password`. Adicione `sslMode` para escolher o modo TLS. |
| 4 | Reporter | Sua instituição | Resposta | | O Reporter devolve a fonte de dados com seu `id`. A resposta não mostra a senha. |
| 5 | Sua instituição | Reporter | API da Lerian | [`POST /v1/data-sources/{dataSourceId}/test-connection`](https://docs.lerian.studio/pt/reference/products/reporter/test-data-source-connection) | Peça ao Reporter para testar a conexão. |
| 6 | Reporter | Seu banco de dados | Conexão | | O Reporter abre uma conexão curta com seu banco de dados e verifica se o banco responde. |
| 7 | Reporter | Sua instituição | Resposta | | O Reporter devolve `status` `connected` ou `failed`, uma mensagem e `latencyMs`. |
| 8 | Sua instituição | Reporter | API da Lerian | [`GET /v1/data-sources/{dataSourceId}/schema`](https://docs.lerian.studio/pt/reference/products/reporter/get-data-source-schema) | Peça as tabelas e os campos da fonte de dados. |
| 9 | Reporter | Seu banco de dados | Conexão | | O Reporter lê as tabelas ou coleções e seus campos. |
| 10 | Reporter | Sua instituição | Resposta | | O Reporter devolve cada tabela com seus campos e os tipos deles. Use esses nomes nos seus templates e filtros. |

## Regras

***

* O `configName` é o nome que seus templates e filtros usam. Ele tem de 1 a 100 letras, dígitos, sublinhados ou hifens. Ele é único entre as suas fontes de dados.
* Quando você não envia `sslMode` nem `sslCaBase64`, o Reporter usa `require`.
* Quando você altera `host`, `port`, `username`, `databaseName`, `type`, `sslMode`, `options` ou `sslCaBase64`, envie o `password` de novo.
* O Reporter recusa alterar, excluir ou testar uma fonte de dados somente leitura da plataforma. Você pode ler o esquema dela.

## Como saber que terminou

***

O teste de conexão devolve `connected`, e o esquema lista as tabelas e os campos que seus templates leem.

## O que pode dar errado

***

| Situação | O que você vê | O que fazer |
| - | - | - |
| O `configName` já está em uso ou é reservado | `409` ou `400`, com um código e uma mensagem | Escolha outro nome. |
| Um campo viola uma regra | `400` com `RPT-0017` e uma mensagem que nomeia o campo | Corrija o campo e envie a requisição de novo. |
| O teste falha | `200` com `status` `failed` e uma mensagem | Confira o caminho de rede, as configurações de TLS e as credenciais. Depois teste de novo. |

## Relacionados

***

* [Gerar e baixar um relatório](https://docs.lerian.studio/pt/diagrams/lerian-products/reporter-generate-a-report.md)
* [Conectar o Reporter ao Midaz](https://docs.lerian.studio/pt/products/reporter/connecting-reporter-to-midaz.md)
* [Início rápido para desenvolvedores do Reporter](https://docs.lerian.studio/pt/reference/products/reporter/reporter-developer-quick-start.md)


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