> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alana.shopping/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticação da Feed API

> Autentique requisições da Feed API com chaves de API ou Bearer tokens M2M.

## Métodos de Autenticação

A Feed API suporta dois métodos: chaves de API (para integrações servidor a servidor) e Bearer tokens M2M (para fluxos OAuth).

## Chave de API (Recomendado)

Passe sua chave de API no header `X-API-Key`:

<CodeGroup>
  ```bash cURL theme={null}
  curl https://app.alana.shopping/api/v1/feeds/google \
    -H "X-API-Key: sk_live_sua_chave_api"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch("https://app.alana.shopping/api/v1/feeds/google", {
    headers: {
      "X-API-Key": "sk_live_sua_chave_api",
    },
  });
  ```

  ```python Python theme={null}
  import requests

  res = requests.get(
      "https://app.alana.shopping/api/v1/feeds/google",
      headers={"X-API-Key": "sk_live_sua_chave_api"},
  )
  ```
</CodeGroup>

## Bearer Token M2M

Para integrações OAuth server-based, use um Bearer token no header `Authorization`:

<CodeGroup>
  ```bash cURL theme={null}
  curl https://app.alana.shopping/api/v1/feeds/google \
    -H "Authorization: Bearer seu_token_m2m"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch("https://app.alana.shopping/api/v1/feeds/google", {
    headers: {
      Authorization: "Bearer seu_token_m2m",
    },
  });
  ```

  ```python Python theme={null}
  import requests

  res = requests.get(
      "https://app.alana.shopping/api/v1/feeds/google",
      headers={"Authorization": "Bearer seu_token_m2m"},
  )
  ```
</CodeGroup>

## Escopos Necessários

| Operação           | Escopo Necessário |
| ------------------ | ----------------- |
| Leitura de feeds   | `feed:read`       |
| Gerenciar webhooks | `feed:write`      |
| Ver analytics      | `feed:read`       |

Chaves de API criadas no painel do Alana têm `feed:read` por padrão. Para criar assinaturas de webhook, habilite `feed:write` nas configurações da chave.

## Criando Chaves de API

1. Acesse **Configurações → Chaves de API** no seu workspace
2. Clique em **Nova Chave de API**
3. Selecione os escopos `feed:read` e/ou `feed:write`
4. Copie a chave — ela é exibida apenas uma vez

## Respostas de Erro

| Status                  | Significado                           |
| ----------------------- | ------------------------------------- |
| `401 Unauthorized`      | Chave de API ausente ou inválida      |
| `403 Forbidden`         | Chave válida, mas escopo insuficiente |
| `429 Too Many Requests` | Limite de taxa excedido (60 req/min)  |
