> ## 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ê                                                                                         |
| -------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `llms.txt`           | `https://developer.wabox.me/llms.txt`                 | Índice de todas as páginas 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                     |

## 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`), autorizado por OAuth, permite que assistentes como Claude e ChatGPT enviem mensagens, consultem instâncias e gerenciem grupos em seu nome, com escopos e instâncias escolhidos por você na tela de consentimento. 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 não armazena conversas.
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).
