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

> ## Agent Instructions
> Wabox é uma API não-oficial de WhatsApp (aparelho vinculado). Tudo é snake_case; a base é https://api.wabox.me/instances/{instance_id}/token/{token}.
> Envios respondem { id, message_id, wabox_id, status: "queued" } na hora; o resultado real chega no webhook delivery. Envios não são idempotentes: confira GET /queue antes de repetir.
> Sempre verifique X-Wabox-Signature (HMAC-SHA256 de "<t>.<corpo cru>") nos webhooks e deduplique por event_id.
> Botões, listas, carrossel e catálogo são best effort e não renderizam no WhatsApp Web/Desktop. Não existem: chamadas, listas de transmissão, histórico de mensagens, instância mobile.
> Não invente endpoints ou campos: use o OpenAPI em https://api.wabox.me/openapi.json.

# Construir com IA

> Como dar contexto do Wabox a agentes de código e assistentes: llms.txt, MCP das docs, skills para agentes e os pontos de partida mais comuns.

Toda a documentação do Wabox é feita para ser lida por agentes tanto quanto por pessoas. Esta página reúne os atalhos.

<Note>
  Um humano ainda precisa criar a conta e a instância no [painel](https://app.wabox.me/signup) e ler o QR code com o celular. Depois disso, `instance_id` e `token` bastam para um agente operar tudo pela API.
</Note>

## Documentação para agentes

| Recurso              | URL                                                   | Para quê                                                                                                                                                                 |
| -------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `wabox.me/llms.txt`  | `https://wabox.me/llms.txt`                           | Ponto de entrada: o que o Wabox é, como chamar a API, fatos canônicos e links para tudo abaixo. Comece por aqui                                                          |
| `llms.txt`           | `https://developer.wabox.me/llms.txt`                 | Índice de todas as páginas da documentação em texto simples. Cole no contexto do agente antes de qualquer tarefa                                                         |
| `llms-full.txt`      | `https://developer.wabox.me/llms-full.txt`            | A documentação inteira num arquivo (grande; use quando o agente tem janela de contexto sobrando)                                                                         |
| Página como Markdown | qualquer página + `.md`, ou o menu **Copiar** no topo | Contexto pontual de uma página                                                                                                                                           |
| OpenAPI              | `https://api.wabox.me/openapi.json`                   | Spec completo para gerar clientes, validar payloads ou alimentar ferramentas                                                                                             |
| SDK TypeScript       | `npm install @wabox/sdk`                              | Cliente tipado gerado do OpenAPI + verificação de webhooks; o agente ganha autocomplete e erro de tipo em vez de adivinhar campos ([docs](/integrations/sdk-typescript)) |

## MCP das docs

Um servidor MCP de **busca na documentação** está disponível em `https://developer.wabox.me/mcp`. Ele só lê docs; não chama a API.

<CodeGroup>
  ```bash Claude Code theme={"system"}
  claude mcp add --transport http wabox-docs https://developer.wabox.me/mcp
  ```

  ```bash Codex theme={"system"}
  codex mcp add wabox-docs --url https://developer.wabox.me/mcp
  ```

  ```json Cursor / VS Code theme={"system"}
  {
    "mcpServers": {
      "wabox-docs": { "url": "https://developer.wabox.me/mcp" }
    }
  }
  ```
</CodeGroup>

Nas páginas, o menu de contexto tem os botões **Abrir no ChatGPT / Claude / Cursor / VS Code** que fazem a mesma coisa com um clique.

## Skills para agentes de código

Skills no formato [Agent Skills](https://agentskills.io) (`SKILL.md` + referências + scripts) ensinam o agente a integrar o Wabox no seu código sem ler a documentação inteira:

| Skill                | O que cobre                                                                                                                                                                                                                                   |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `integrate-wabox`    | Conectar o número, enviar texto e mídia, configurar e **verificar a assinatura** dos webhooks, fila, erros e rate limit. Inclui `wabox.sh` (curl pronto), um servidor local de webhooks e verificadores de assinatura em TypeScript, Go e PHP |
| `troubleshoot-wabox` | Roteiro de diagnóstico: "não chegou", webhook que não dispara, `error_code`s, banimento                                                                                                                                                       |

```bash theme={"system"}
npx skills add wabox/agent-skills
```

Funciona com Claude Code, Codex, Cursor e qualquer agente que leia `SKILL.md`. Você também pode copiar a pasta da skill para `.claude/skills/` do seu projeto.

## Operar o número por MCP

O servidor MCP **da sua conta** (`https://mcp.wabox.me/mcp`) permite que assistentes como Claude, ChatGPT e Codex enviem mensagens, gerenciem grupos, consultem instâncias e até mostrem o QR de login para você escanear no chat. Autorize por OAuth (escopos e instâncias escolhidos na tela de consentimento) ou, em clientes sem OAuth, use o token da instância como bearer. Veja [Claude, ChatGPT e outros apps de IA (MCP)](/integrations/mcp).

## Pontos de partida

<CardGroup cols={2}>
  <Card title="Primeiros passos" icon="rocket" href="/quickstart">
    Conta, QR code, primeira mensagem e primeiro webhook.
  </Card>

  <Card title="Assinatura dos webhooks" icon="shield-check" href="/security/webhook-signature">
    Verificação HMAC com exemplos em Node, Python e PHP.
  </Card>

  <Card title="Webhook received" icon="message-square" href="/webhooks/received">
    O payload que o seu agente vai ler.
  </Card>

  <Card title="Fila e reenvio" icon="list-ordered" href="/guides/queue-and-retries">
    O que acontece entre o `queued` e o `delivery`.
  </Card>

  <Card title="Rate limit e erros" icon="activity" href="/guides/rate-limits-and-errors">
    Quando repetir uma chamada e quando não.
  </Card>

  <Card title="Limitações conhecidas" icon="circle-alert" href="/resources/limitations">
    O que é best effort, para o agente não prometer o que não existe.
  </Card>
</CardGroup>

## Um atendente com IA em 3 passos

1. Configure `received_url` apontando para o seu serviço e verifique a assinatura.
2. Para cada `received` com `text`, chame o seu modelo (por exemplo, o [Claude Agent SDK](https://docs.claude.com/en/api/agent-sdk/overview)) com o histórico que **você** guarda — o Wabox só guarda as mensagens recentes do pareamento (`GET /chats/{phone}/messages`), não a conversa em andamento.
3. Responda com `POST /send-text` usando `delay_typing: 2` para a conversa parecer natural, e `reply_to_message_id` quando fizer sentido.

Regras de ouro para agentes que enviam mensagens: só falar com quem iniciou a conversa ou deu opt-in, nunca disparar em massa, e respeitar as [boas práticas anti-ban](/guides/best-practices).
