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

# Primeira chamada em 5 minutos

> Do zero à sua primeira resposta da API Cakto, sem rodeios.

## O que você vai precisar

* Uma conta ativa na Cakto. [Cadastre-se aqui](https://app.cakto.com.br/auth/register).
* 5 minutos.

<Steps>
  <Step title="Crie sua Chave de API">
    Acesse [Painel Cakto → Integrações → Cakto API](https://app.cakto.com.br/dashboard/cakto-api) e crie uma chave com o escopo `read products`.

    Guarde o `client_id` e o `client_secret` — o `client_secret` só é exibido uma vez, no momento da criação.

    <Tip>
      Detalhes completos sobre escopos estão em [Autenticação](/authentication).
    </Tip>
  </Step>

  <Step title="Troque suas credenciais por um token">
    ```bash curl icon=terminal theme={null}
    curl -X POST https://api.cakto.com.br/public_api/token/ \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "client_id=SEU_CLIENT_ID" \
      -d "client_secret=SEU_CLIENT_SECRET"
    ```

    A resposta traz o `access_token`:

    ```json theme={null}
    {
      "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
      "expires_in": 36000,
      "token_type": "Bearer",
      "scope": "read products"
    }
    ```
  </Step>

  <Step title="Faça sua primeira chamada">
    Use o `access_token` para listar seus produtos:

    ```bash curl icon=terminal theme={null}
    curl https://api.cakto.com.br/public_api/products/ \
      -H "Authorization: Bearer SEU_ACCESS_TOKEN"
    ```

    Se você ainda não tem produtos cadastrados, a resposta vem com `results` vazio — e está tudo certo, sua integração já está autenticando corretamente:

    ```json theme={null}
    {
      "count": 0,
      "next": null,
      "previous": null,
      "results": []
    }
    ```
  </Step>
</Steps>

<Tip>
  Recebeu uma resposta `200` com `count`, `next`, `previous` e `results`? Sua integração está funcionando. O resto é sobre quais dados buscar e quais ações tomar.
</Tip>

## Erros comuns nesta etapa

| Sintoma                              | Causa provável                                                                  |
| ------------------------------------ | ------------------------------------------------------------------------------- |
| `401` ao pedir o token               | `client_id` ou `client_secret` errados, ou copiados com espaço extra            |
| `400 invalid_scope` ao pedir o token | Escopo pedido não está entre os configurados na chave de API                    |
| `401` ao listar produtos             | Token expirado (`expires_in`) ou header `Authorization` sem o prefixo `Bearer ` |

## Próximos passos

<CardGroup cols={2}>
  <Card title="Receber sua primeira venda" icon="cart-shopping" href="/comece-aqui/receber-primeira-venda">
    Crie um produto, configure um webhook e veja o evento chegar
  </Card>

  <Card title="Glossário" icon="book-open" href="/conceitos/glossario">
    Entenda como produto, oferta, checkout e pedido se relacionam
  </Card>

  <Card title="Autenticação completa" icon="key" href="/authentication">
    Escopos, expiração de token e boas práticas de segurança
  </Card>

  <Card title="Referência da API" icon="book" href="/api-reference/products/list">
    Explore todos os endpoints disponíveis
  </Card>
</CardGroup>
