> For the complete documentation index, see [llms.txt](https://help.hyperflow.global/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.hyperflow.global/docs/builder-hyperflow/gerenciamento-de-aplicativos/integracoes/firebase.md).

# Firebase

<figure><img src="/files/WfS8tqVgjbhT7nOeAL0E" alt=""><figcaption><p>Imagem 1 - Integração com o Firebase.</p></figcaption></figure>

### 🔑 1. Pré-requisitos – Obtendo Credenciais

Para utilizar os conectores, é necessário configurar uma **Conta de Serviço (Service Account)** do Firebase, que fornece credenciais administrativas.

⚠️ **Atenção**: Essas credenciais são sensíveis e **nunca devem ser expostas no lado do cliente** (navegador ou apps públicos).

#### Como gerar as credenciais (arquivo JSON):

1. Acesse o [**Console do Firebase**](https://console.firebase.google.com/) e selecione seu projeto.
2. Clique no ícone de **engrenagem** → **Configurações do projeto**.&#x20;

   <figure><img src="/files/pGhjlR11kGsKlhBA8ZBf" alt=""><figcaption><p>Imagem 2 - Clicar em engrenagem -> Configurações do projeto.</p></figcaption></figure>
3. Vá até a aba **Contas de serviço**.&#x20;

   <figure><img src="/files/ahPUqgENW7vy3PVLHwGN" alt=""><figcaption><p>Imagem 3 - Aba 'Contas de serviço'.</p></figcaption></figure>
4. Clique em **Gerenciar permissões da conta de serviço** (redireciona ao Console do Google Cloud).&#x20;

   <figure><img src="/files/p8OPTEvJjueoP7S93fAh" alt=""><figcaption><p>Imagem 4 - Clicar em 'Gerenciar permissões da conta de serviço'.</p></figcaption></figure>
5. Localize a conta de serviço padrão do **Firebase Admin SDK**.
6. Clique nos **três pontos verticais** → **Gerenciar chaves**.&#x20;

   <figure><img src="/files/JYoR1g9MYsZ9TvEHRGMR" alt=""><figcaption><p>Imagem 5 - Clicar em 'Gerenciar chaves'.</p></figcaption></figure>
7. Selecione **Adicionar chave** → **Criar nova chave**.&#x20;

   <figure><img src="/files/amignOiZj3LUjzKnU560" alt=""><figcaption><p>Imagem 6 - Criar nova chave.</p></figcaption></figure>
8. Escolha o formato **JSON** e clique em **Criar**.&#x20;

   <figure><img src="/files/BDRDCeITuY7ORoxrRNRd" alt=""><figcaption><p>Imagem 7 - Selecionar JSON e criar.</p></figcaption></figure>

➡️ Um arquivo `.json` será baixado. Ele contém todas as credenciais necessárias.

<figure><img src="/files/OrkYfRPN0Vg9wbh6qWdX" alt=""><figcaption><p>Imagem 8 - Após a geração da chave, é feito o download automaticamente do JSON.</p></figcaption></figure>

<figure><img src="/files/Suu9nRAS91vMM2bbcC5g" alt=""><figcaption><p>Imagem 9 - Caso o download não seja iniciado, deve-se clicar em 'Gerar nova chave privada'.</p></figcaption></figure>

***

### 📂 2. Estrutura das Credenciais

O arquivo JSON terá uma estrutura semelhante a:

```json
{
  "type": "service_account",
  "project_id": "seu-id-do-projeto",
  "private_key_id": "uma-longa-string-de-id",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...",
  "client_email": "firebase-adminsdk@seu-projeto.iam.gserviceaccount.com",
  "client_id": "12345678901234567890",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk..."
}
```

***

### ⚙️ 3. Parâmetros de Conexão

O conector utiliza os seguintes campos do arquivo para autenticação:

| **Parâmetro**  | **Descrição**                               | **Exemplo**                                               |
| -------------- | ------------------------------------------- | --------------------------------------------------------- |
| `project_id`   | Identificador único do projeto Firebase.    | `"seu-id-do-projeto"`                                     |
| `private_key`  | Chave privada completa (com *BEGIN*/*END*). | `"-----BEGIN PRIVATE KEY-----\n..."`                      |
| `client_email` | E-mail associado à Conta de Serviço.        | `"firebase-adminsdk@seu-projeto.iam.gserviceaccount.com"` |

### 💡 4. Boas Práticas e Dicas

* **Organização**: use nomes de pastas bem estruturados (ex.: `uploads/ano/mes/arquivo.pdf`).
* **Segurança**: nunca exponha a `private_key` em front-end.
* **Logs**: evite registrar arquivos ou credenciais em logs.
* **Permissões**: revise as regras de segurança no Firebase para evitar erros de `permission denied`.
* **Teste gradual**: crie documento → busque → atualize → delete, para validar a configuração passo a passo.
* **IDs**: para testes, use IDs simples (`qa-001`) em Firestore. Após `push`, consulte o retorno para capturar o ID gerado.

{% hint style="danger" %}
**Após concluir a configuração da integração com o Firebase, você poderá utilizar os módulos Firestore e Storage, criados para oferecer controle completo sobre dados ou arquivos, conforme o conector escolhido.**
{% endhint %}
