# Whatsapp Visto Azul

> Enviar e automatizar WhatsApp pela API REST do Visto Azul (texto, mídia, PIX, enquete, grupos, campanhas em massa, contatos e webhook). Use sempre que o usuário quiser mandar mensagem no WhatsApp, cobrar via PIX, disparar campanha, criar grupo, validar números ou receber mensagens para um chatbot.

- **Type:** Skill
- **Install:** `agentstack add skill-vistoazul-claude-whatsapp-skill-claude-whatsapp-skill`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [vistoazul](https://agentstack.voostack.com/s/vistoazul)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [vistoazul](https://github.com/vistoazul)
- **Source:** https://github.com/vistoazul/claude-whatsapp-skill
- **Website:** https://vistoazul.com.br

## Install

```sh
agentstack add skill-vistoazul-claude-whatsapp-skill-claude-whatsapp-skill
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# WhatsApp via Visto Azul

Skill para operar o WhatsApp pela API REST do Visto Azul. Você fala só com esta API, usando a sua API key.

## Autenticação
- Base URL: `https://dashboard.vistoazul.com.br/api/v1`
- Header em toda chamada: `Authorization: Bearer SUA_API_KEY`
- Pegue a API key no painel: `https://dashboard.vistoazul.com.br` (em Instâncias). Ela é por conta.
- Com mais de um número, indique a instância no campo `instance` (endpoints diretos) ou no header `X-Instance` (endpoints de proxy `/wa`).

## Regras (anti-ban, importante)
- Aguarde de 3 a 5 segundos entre chamadas sequenciais.
- Personalize e varie o texto. Nunca mande a mesma mensagem idêntica para muita gente.
- Para volume alto, use `POST /v1/campaigns` (já traz rotação de número e delays aleatórios).
- Valide números com `POST /v1/wa/chat/check` antes de disparar.

## Endpoints

### Instâncias
- `GET /v1/instances` · lista os números conectados e o status de cada um.
- `POST /v1/instances` `{ "name": "vendas" }` · cria uma instância (devolve o QR code).
- `GET /v1/instances/{instance}/connect` · gera um novo QR para reconectar.

### Enviar mensagem de texto
- `POST /v1/messages/text` `{ "instance": "vendas", "number": "5511999999999", "text": "Olá!" }`

### Enviar mídia, PIX e enquete (proxy `/v1/wa`, use o header `X-Instance`)
- Mídia: `POST /v1/wa/send/media` `{ "number": "...", "type": "image", "file": "https://...jpg", "text": "legenda" }` (type: `image` | `video` | `document`)
- Cobrança PIX: `POST /v1/wa/send/request-payment` `{ "number": "...", "amount": 97.00, "pixKey": "sua-chave", "pixType": "email", "title": "Pedido", "text": "Segue seu PIX", "itemName": "Pedido" }`
- Enquete: `POST /v1/wa/send/menu` `{ "number": "...", "type": "poll", "text": "Qual horário?", "choices": ["Manhã","Tarde"], "selectableCount": 1 }`
- Validar quem tem WhatsApp: `POST /v1/wa/chat/check` `{ "numbers": ["5511999999999"] }`
- Criar grupo: `POST /v1/wa/group/create` `{ "name": "Turma 01", "participants": [] }`

### Campanhas (disparo em massa)
- `POST /v1/campaigns` `{ "instances": ["vendas"], "template": "{Oi|Olá} {{nome}}!", "recipients": [{"number":"5511999999999","vars":{"nome":"Ana"}}], "minDelayMs": 8000, "maxDelayMs": 40000, "scheduledForMs": 0 }`
  - `template` aceita spintax `{a|b}` e variáveis `{{nome}}`. `scheduledForMs` (epoch ms) agenda para o futuro.
- `GET /v1/campaigns/{id}` · status (`sent`, `failed`, `total`, `state`).

### Contatos (CRM leve)
- `GET /v1/contacts?tag=vip` · lista (filtra por tag).
- `POST /v1/contacts` `{ "number": "...", "name": "Ana", "tags": ["cliente","vip"] }`
- `POST /v1/contacts/import` `{ "text": "5511...,Ana\n5521...,Bruno", "tags": ["lista"] }`

### Receber mensagens (webhook, para chatbot / agente de IA)
- `POST /v1/instances/{instance}/webhook` `{ "url": "https://seu-sistema.com/webhook", "enabled": true }`
- A partir daí, cada mensagem recebida chega como POST na sua URL. Ideal para responder com IA (ex.: Claude).

### Baixar mídia recebida e ações na conversa
O `id` da mensagem vem no webhook. Todas levam `{ "instance", … }` no corpo.
- Baixar mídia: `POST /v1/messages/media` `{ "instance", "id", "transcribe": true }` → `{ "base64", "mimetype", "transcription" }` (áudio pode vir transcrito).
- Marcar como lida: `POST /v1/messages/read` `{ "instance", "id" }`.
- Presença: `POST /v1/messages/presence` `{ "instance", "number", "presence": "composing" }` (composing/recording/paused).
- Reagir: `POST /v1/messages/react` `{ "instance", "number", "id", "emoji": "..." }`.
- Editar: `POST /v1/messages/edit` `{ "instance", "id", "text" }`.
- Apagar: `POST /v1/messages/delete` `{ "instance", "id" }`.

## Respostas de erro
`401` API key ausente/inválida · `402` assinatura inativa · `403` sem permissão / limite do plano · `400` parâmetro faltando.

## Exemplo (curl)
```bash
curl -X POST https://dashboard.vistoazul.com.br/api/v1/messages/text \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"instance":"vendas","number":"5511999999999","text":"Olá do Claude!"}'
```

Documentação completa e mais exemplos: https://vistoazul.com.br/docs

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [vistoazul](https://github.com/vistoazul)
- **Source:** [vistoazul/claude-whatsapp-skill](https://github.com/vistoazul/claude-whatsapp-skill)
- **License:** MIT
- **Homepage:** https://vistoazul.com.br

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-vistoazul-claude-whatsapp-skill-claude-whatsapp-skill
- Seller: https://agentstack.voostack.com/s/vistoazul
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
