> ## 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.

# Diagnóstico pela aba Testes

> Rode o checklist automático da instância e saiba o que continua funcionando depois de uma atualização do WhatsApp.

Cada instância tem uma aba **Testes** no painel. Ela envia mensagens reais para um número seu, passando pela API pública exatamente como o seu sistema faria, e acompanha cada uma até o `delivery` e os recibos. É a forma mais rápida de responder "isso ainda funciona?" sem escrever código.

## Como usar

<Steps>
  <Step title="Abra a instância conectada e vá em Testes">
    A instância precisa estar `connected`.
  </Step>

  <Step title="Informe o número que vai receber">
    DDI + DDD + número, só dígitos. Use um número **seu** (o celular ao lado é o ideal): as mensagens são reais e você vai querer ver como renderizaram.
  </Step>

  <Step title="Escolha os passos">
    Por padrão todos estão marcados. Desmarque grupos que não usa para o teste ser mais rápido.
  </Step>

  <Step title="Rode e acompanhe">
    Os passos aparecem em tempo real: enfileirado → enviado (`delivery`) → entregue/lido (`message_status`). Falhas mostram o `error_code`.
  </Step>
</Steps>

## O que é testado

| Grupo       | Passos                                                                                                                    |
| ----------- | ------------------------------------------------------------------------------------------------------------------------- |
| Texto       | Simples, formatado, com "digitando…", resposta (citação), edição, link com prévia                                         |
| Mídia       | Imagem por URL, por base64 e visualização única; voice note e áudio como arquivo; vídeo; GIF; vídeo redondo; PDF; sticker |
| Ricos       | Localização, contato único e múltiplo, enquete                                                                            |
| Interativos | Botões, lista, carrossel                                                                                                  |
| Ações       | Reação, encaminhar, fixar, ler (ticks azuis), apagar                                                                      |
| Presença    | Digitando, gravando, pausado, online                                                                                      |

Passos que dependem de outro (editar depende do texto enviado antes; reagir depende de uma mensagem existente) são pulados automaticamente se o anterior falhar.

## Interpretando o resultado

* **Passou** = o WhatsApp aceitou e o aparelho enviou (`delivery` sem erro). Para interativos, isso **não** garante que renderizou como esperado — olhe o celular. Veja [O que renderiza onde](/guides/rendering-support).
* **Falhou com `media_invalid` / `media_download_failed`** em passos de mídia: problema de formato ou de rede no servidor; abra um chamado com o resultado.
* **Falhou com `message_not_found`** em editar/reagir/encaminhar: a mensagem de referência não está mais no cache do engine (normal se o engine reiniciou entre os passos; rode de novo).
* **Tudo falha** com `instance_not_connected`: a instância caiu no meio; confira **Dados da instância**.

## Quando rodar

* Depois de uma atualização do WhatsApp no celular ou de um aviso de mudança no [changelog](/resources/changelog).
* Antes de colocar um número novo em produção (também ajuda a "aquecer" o número com conversas reais — veja [Boas práticas](/guides/best-practices)).
* Quando algo específico parou de funcionar: rode só aquele grupo e mande o resultado para o suporte.

## Reproduzindo pela API

Cada passo usa o body exato da API pública. Se quiser automatizar o mesmo checklist no seu CI, os payloads estão na seção **Mensagens** e **Interativos** da referência; as mídias de exemplo (imagem, áudio, PDF, sticker, vídeo) podem ser as suas.
