> ## Documentation Index
> Fetch the complete documentation index at: https://developer.omni.z-api.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticação

> Como gerar e utilizar suas credenciais de API no Omni Z-API

export const frontendUrl = 'https://app.omni.z-api.io';

export const projectName = 'Omni Z-API';

## API Credentials

Diferente da Z-API que utiliza o header `Client-Token`, o {projectName} trabalha com um par de chaves: **Public Key** e **Secret Key**.

Para gerar suas credenciais, acesse o menu **Segurança** no painel: [Segurança](\{frontendUrl}/app/security).

***

## Public Key

A Public Key é utilizada **exclusivamente** pelo SDK de conexão de canais. Com ela, você pode conectar canais (como WhatsApp, Telegram, etc.) diretamente dentro do seu sistema, sem precisar acessar o painel do {projectName}.

<Note>
  A Public Key pode ser exposta no frontend da sua aplicação, pois ela tem permissões limitadas apenas à conexão de canais.
</Note>

Exemplo de uso com o SDK:

```javascript theme={null}
import { OmniZapi } from '@omni-zapi/connect';

const omni = new OmniZapi({
  publicKey: 'SUA_PUBLIC_KEY'
});
```

<Tip>
  Instale o SDK via npm: [`@omni-zapi/connect`](https://www.npmjs.com/package/@omni-zapi/connect)
</Tip>

***

## Secret Key

A Secret Key é utilizada para autenticação nas APIs do {projectName}. Ela deve ser enviada no header `Authorization` como Bearer token.

<Warning>
  A Secret Key **nunca** deve ser exposta no frontend. Utilize-a apenas no backend da sua aplicação.
</Warning>

Exemplo de uso nas chamadas de API:

```bash theme={null}
curl -X POST https://api.omni.z-api.io/channels/SEU_CANAL/token/SEU_TOKEN/send-text \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer SUA_SECRET_KEY" \
  -d '{"phone": "5511999999999", "message": "Olá!"}'
```

***

## Resumo

| Chave          | Uso                                      | Pode expor no frontend? |
| -------------- | ---------------------------------------- | ----------------------- |
| **Public Key** | SDK de conexão de canais                 | Sim                     |
| **Secret Key** | Chamadas de API (header `Authorization`) | Não, apenas backend     |
