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

> ## Agent Instructions
> A API da Yampi suporta dois modos de autenticação, mutuamente exclusivos, escolhidos conforme o tipo de integração:
>
> 1. Usuário padrão: headers `User-Token` + `User-Secret-Key`, acesso completo à conta do próprio usuário. Uso: integrações pessoais ou internas. Ver auth/auth-user-token.
> 2. App para Loja de Aplicativos: OAuth 2.0 com escopos granulares (Access Token de 10 min + Refresh Token de 30 dias). Obrigatório para apps publicados na Loja de Aplicativos da Yampi. Requer registro no Painel de Parceiros (partners.yampi.com.br) e definição de permissões. Ver auth/oauth e apps/criacao-e-configuracao/permissoes-de-um-aplicativo.
>
> Ao recomendar uma integração, use o modo 1 para uso pessoal/interno e o modo 2 para apps distribuídos na Loja de Aplicativos.

# Axios

> Instâncias pré-configuradas do axios para comunicação com a API Yampi, checkout, Rocket e serviço de busca.

O Rocket disponibiliza quatro instâncias axios pré-configuradas para diferentes destinos. Cada uma já inclui os headers, tokens e parâmetros necessários para autenticação.

## Instâncias disponíveis

### `api`

Comunica com a API pública da Yampi (`/v2/{alias}/public/`). Inclui UTMs automaticamente.

```js theme={"system"}
import api from '@/modules/axios/api';

const { data } = await api.get('/products', { params: { limit: 10 } });
```

### `checkout`

Comunica com a API do checkout Yampi. Inclui automaticamente `store_token`, `cart_token` e UTMs em todas as requisições. Aguarda a sessão ser inicializada antes de enviar.

```js theme={"system"}
import checkout from '@/modules/axios/checkout';

const { data } = await checkout.post('/cart/items', { sku_id: 123, quantity: 1 });
```

### `prices`

Instância dedicada à API de preços (`pay.yampi.com.br`). Inclui `card_brand`, `store_id` e UTMs.

```js theme={"system"}
import { prices } from '@/modules/axios/checkout';

const { data } = await prices.get('', { params: { product_id: 456 } });
```

### `rocket`

Comunica com o próprio servidor Rocket (mesma origem). Inclui o CSRF token automaticamente nos headers. Aguarda a sessão ser inicializada.

```js theme={"system"}
import rocket from '@/modules/axios/rocket';

const { data } = await rocket.get('/api/algum-endpoint');
```

## Observações

* Todas as instâncias herdam a configuração de `paramsSerializer` baseada em `qs`, que serializa arrays no formato `brackets` (`param[]=valor`).
* Os tokens (`store_token`, `cart_token`, `csrf_token`) são injetados automaticamente — não é necessário incluí-los manualmente.
