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

# API Key (legado)

> Autenticação legada da API aberta com X-API-KEY e X-PARTNER-KEY: geração no Portal, uso e limitações.

Este é o modelo de autenticação **legado** da API aberta. Integrações existentes podem continuar usando-o por enquanto, mas **novas integrações devem usar [OAuth](/autenticacao/oauth)**.

<Warning>
  O modelo por API Key será descontinuado no futuro. Recomendamos migrar integrações legadas para OAuth o quanto antes.
</Warning>

<Tip>
  Para entender quando cada modelo se aplica, consulte [Modelos de autenticação](/autenticacao/modelos-de-autenticacao).
</Tip>

No legado, dois tokens podem estar envolvidos:

* **`X-API-KEY`**: token do **estabelecimento**, gerado no Portal. Identifica qual loja está sendo acessada.
* **`X-PARTNER-KEY`**: token da **integradora**, emitido após o [cadastro da integradora](/cw-app-store/cadastro-e-publicacao). Identifica qual parceiro está fazendo a chamada.

## X-API-KEY

Gere o token no Portal: **Configurações → Integrações → API**.

Inclua em todas as requisições:

```
X-API-KEY: seu_token_do_estabelecimento
```

Se o token for inválido ou ausente, a API retorna **HTTP 401 Unauthorized**.

<img src="https://mintcdn.com/cardpioweb/slLFMQ0YlHHRmsN9/images/2023-06-23_01-06.png?fit=max&auto=format&n=slLFMQ0YlHHRmsN9&q=85&s=e5c514dbed308324825cf4347286fcba" alt="Token de autenticação no Portal" width="1434" height="816" data-path="images/2023-06-23_01-06.png" />

Exemplo (Sandbox):

```bash theme={null}
curl https://integracao.sandbox.cardapioweb.com/api/partner/v1/merchant \
  -H "X-API-KEY: SEU_TOKEN_DO_ESTABELECIMENTO"
```

### Sandbox

Para testes no ambiente Sandbox, existe um estabelecimento padrão. Consulte o token e o link do cardápio de teste em [Sobre a API — Ambientes](/sobre-a-api#ambiente-de-testes-e-de-producao).

## X-PARTNER-KEY

Além do `X-API-KEY`, alguns endpoints exigem o token da integradora:

```
X-PARTNER-KEY: token_da_integradora
```

Solicite o token pelo e-mail `integracao@cardapioweb.com` após o cadastro da integradora.

### Requisitos por módulo

| Módulo       | Endpoints                                                                           | Headers exigidos              |
| ------------ | ----------------------------------------------------------------------------------- | ----------------------------- |
| **Loja**     | Consulta de loja (`GET /merchant`)                                                  | `X-API-KEY`                   |
| **Loja**     | [Listar métodos de pagamento](/api-reference/loja/loja/listar-metodos-de-pagamento) | `X-API-KEY` + `X-PARTNER-KEY` |
| **Catálogo** | Todos os endpoints (`/catalog/*`), incluindo consulta                               | `X-API-KEY` + `X-PARTNER-KEY` |
| **Pedidos**  | Consulta, polling, alteração de status                                              | `X-API-KEY`                   |
| **Pedidos**  | [Criar pedido](/api-reference/pedidos/criar-pedido) (`POST /orders`)                | `X-API-KEY` + `X-PARTNER-KEY` |

Exemplo com autenticação dupla (Sandbox):

```bash theme={null}
curl https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog \
  -H "X-API-KEY: SEU_TOKEN_DO_ESTABELECIMENTO" \
  -H "X-PARTNER-KEY: SEU_TOKEN_DA_INTEGRADORA"
```

## Limitações do modelo legado

* Um token por estabelecimento, compartilhado manualmente
* Sem controle granular por app — revogar um sistema pode exigir trocar o token e desconectar outros
* Sem escopos — o token concede acesso amplo
* Não elegível para publicação na CW App Store

## Migração para OAuth

Para participar da CW App Store e oferecer instalação controlada por estabelecimento, migre para OAuth. O fluxo envolve cadastro do app, implementação do authorization code com PKCE e substituição do `X-API-KEY` por `Authorization: Bearer`.

Entre em contato com `integracao@cardapioweb.com` para orientação sobre migração.
