> For the complete documentation index, see [llms.txt](https://docs.otima.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.otima.io/whatsapp/recursos-de-api/autenticacao.md).

# Autenticação

Configure o token e os headers necessários para usar a API.

```http
Authorization: Bearer {SEU_TOKEN}
x-workspace-uuid: {SEU_UUID_WORKSPACE}
Content-Type: application/json
```

### Header (obrigatório) <a href="#header-obrigatorio" id="header-obrigatorio"></a>

Todas as requisições exigem envio de token de acesso no header:

* `Substitua {SEU_TOKEN} pelo token gerado na plataforma.`
* `Substitua {SEU_UUID_WORKSPACE} pelo uuid do seu workspace.`

#### Exemplo de Requisição com Header: <a href="#exemplo-de-requisicao-com-header" id="exemplo-de-requisicao-com-header"></a>

```http
curl -X POST https://sync-core-api.otima.io/whatsapp/provider/{{NUMERO_AQUI}}/send-message \
  -H "Authorization: Bearer {SEU_TOKEN}" \
  -H "x-workspace-uuid: {SEU_UUID_WORKSPACE}" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "type": "text",
    "text": {
      "body": "Mensagem de teste"
    }
  }'
```

#### Erro de Autenticação: <a href="#exemplo-de-requisicao-com-header" id="exemplo-de-requisicao-com-header"></a>

**Status Code:** `401 Unauthorized`

```json
{
  "message": "Autenticação necessária.",
  "details": "Forneça um Bearer Token (Authorization) ou Client Credentials (x-client-id/x-client-secret)."
}
```

### Gerando um token: <a href="#gerando-um-token" id="gerando-um-token"></a>

Os tokens de acesso são gerados diretamente na plataforma Ótima. Para criar um novo token:

1. Acesse a plataforma e navegue até a área de **API tokens** através do menu do usuário.

<figure><img src="https://3723060873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fech0v4OAuw7OeuwoISIc%2Fuploads%2F4jcf51UV48MgRnjblx0A%2Fimage.png?alt=media&amp;token=e699f71a-1f81-47bc-896b-f0e2469ca200" alt=""><figcaption></figcaption></figure>

2. Clique em **Gerar token**.
3. Preencha o **Nome do token**, escolha um nome descritivo que identifique com exatidão o uso do token (ex: `integracao-bm-xxx`)

<figure><img src="https://3723060873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fech0v4OAuw7OeuwoISIc%2Fuploads%2FmQgNhA3BGilxYIa3nujK%2Fimage.png?alt=media&amp;token=6631c3c3-0c62-45e9-a9e0-101b773ba330" alt=""><figcaption></figcaption></figure>

4. Caso queira, você pode definir uma **data de validade**, caso não seja informada uma data o token nunca irá expirar.
5. Clique em **Continuar** para gerar o token.
6. Após gerar o token, copie o token e o `x-workspace-uuid` para começar a utilizar.

<figure><img src="https://3723060873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fech0v4OAuw7OeuwoISIc%2Fuploads%2FVSMCNy1xqeQCCeBltCNe%2Fimage.png?alt=media&amp;token=4b95669e-2424-4a6e-81bd-e5c0d66bf66c" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}

#### Importante <a href="#boas-praticas" id="boas-praticas"></a>

O token será exibido **apenas uma vez** após a geração. Copie e armazene-o em um local seguro, não será possível visualizá-lo novamente.
{% endhint %}

{% hint style="success" %}

#### Boas práticas <a href="#boas-praticas" id="boas-praticas"></a>

* **Não compartilhe** tokens entre aplicações diferentes, gere um token separado para cada integração.
* **Defina uma validade** sempre que possível para limitar a exposição em caso de vazamento.
* **Revogue tokens** que não estejam mais em uso diretamente na plataforma.
  {% endhint %}
