1. O que foi integrado
A integração é nativa no atendimento. O Minike mantém a separação por empresa e canal, protege a API key, registra eventos recebidos e impede o reprocessamento da mesma mensagem.
Conexão
Criar instância, obter QR, consultar estado, reiniciar, desconectar, excluir e listar instâncias.
Mensagens
Texto, mídia, botões, listas, contatos, localização, enquetes, reações e templates.
Atendimento
Entrada no histórico, contato, não lidas, automações, round-robin e roteamento por habilidade.
Governança
Webhook autenticado, allowlist de ações, isolamento por empresa, logs e idempotência.

2. Como a arquitetura funciona
O Evolution API continua sendo o gateway WhatsApp. O Node.js do Atendimento Minike conversa com ele usando REST e o cabeçalho apikey. O Evolution envia eventos para /webhook/evolution/:channelId; o Minike valida o segredo, identifica a empresa, grava a mensagem e dispara automações.

Para produção, mantenha a Evolution em um serviço separado e o atendimento no Node da Hostinger. Isso facilita reinício, escala e diagnóstico sem misturar processos.
3. Instalação e configuração do canal
Antes de começar
- Tenha a URL HTTPS pública da Evolution API.
- Tenha uma API key global ou de instância.
- Crie o nome da instância com letras, números, ponto, hífen ou sublinhado.
- Garanta que a Evolution consiga alcançar o domínio HTTPS do atendimento.
Passo a passo no painel
- Abra Configurações → Canais e escolha Evolution API (WhatsApp).
- Informe URL base, nome da instância e API key. O segredo do webhook é recomendado.
- Salve. Use Conectar para criar/ajustar a instância e carregar o QR.
- Leia o QR no WhatsApp e aguarde o estado open.
- Confirme o webhook e envie uma mensagem de teste.
POST /api/channels
Authorization: Bearer SEU_TOKEN
Content-Type: application/json
{
"name": "WhatsApp Loja",
"type": "evolution",
"token": "API_KEY_DA_EVOLUTION",
"config_json": {"evolution": {"base_url": "https://evolution.exemplo.com", "instance_name": "loja-195", "integration": "WHATSAPP-BAILEYS", "webhook_secret": "um-segredo-longo-e-unico"}}
}
4. Operação diária
Entrada
Mensagens diretas entram como WhatsApp, criam/atualizam o contato e aparecem para a equipe em tempo real.
Distribuição
O round-robin pode respeitar habilidade do agente, limite de conversas abertas e fila configurada.
Automação
Fluxos existentes recebem a mensagem com origem Evolution e podem responder, pausar ou transferir para humano.
Envio
Respostas de texto e mídia usam a mesma conversa; URLs locais são convertidas para URLs públicas quando necessário.

Grupos, eventos de status e mensagens enviadas pelo próprio número são registrados no monitoramento, mas não viram conversa direta automaticamente. Isso evita poluir a fila e duplicar mensagens próprias.
5. Catálogo completo de ações Evolution API
O endpoint interno POST /api/evolution/channels/:channelId/action aceita apenas ações abaixo. O corpo é enviado como payload oficial da Evolution; nenhum path arbitrário é permitido.
| Ação | HTTP | Recurso | Uso |
|---|---|---|---|
instance.createinstance.connectinstance.connectionStateinstance.fetchInstances | POST/GET | Instância | Criar, conectar, consultar estado e listar. |
instance.restartinstance.logoutinstance.deleteinstance.setPresence | POST/DELETE | Instância | Manutenção, sessão e presença. |
message.sendTextmessage.sendMediamessage.sendButtonsmessage.sendList | POST | Mensagens | Texto, mídia, botões e listas interativas. |
message.sendContactmessage.sendLocationmessage.sendPollmessage.sendReactionmessage.sendTemplate | POST | Mensagens | Contato, localização, enquete, reação e template. |
webhook.findwebhook.setwebsocket.set | GET/POST | Eventos | Consultar/configurar webhook e WebSocket. |
chat.findChatschat.findContactschat.findMessageschat.whatsappNumbers | POST | Chat | Sincronizar, pesquisar e verificar números. |
chat.archiveChatchat.markMessageAsReadchat.updateProfileNamechat.updateProfilePicturechat.updateProfileStatus | POST | Chat/perfil | Arquivar, ler e atualizar o perfil. |
group.creategroup.findGroupInfosgroup.participantsgroup.updateParticipant | GET/POST | Grupos | Criar, consultar e administrar participantes. |
label.findLabelslabel.handleLabel | GET/POST | Etiquetas | Consultar, adicionar ou remover etiquetas. |
settings.findsettings.set | GET/POST | Configurações | Consultar e alterar configurações. |
business.getCatalogbusiness.getCollections | POST | Comercial | Catálogo e coleções Business. |
call.offer | POST | Chamadas | Oferecer chamada quando habilitado. |
template.createtemplate.edittemplate.deletetemplate.find | GET/POST/DELETE | Templates | Ciclo de vida de templates. |
proxy.findproxy.set | GET/POST | Rede | Consultar e configurar proxy. |
POST /api/evolution/channels/7/action
Authorization: Bearer SEU_TOKEN
Content-Type: application/json
{"action":"message.sendPoll","payload":{"number":"5547999990000","name":"Escolha uma opção","values":["Comprar","Falar com atendente"],"selectableCount":1}}
6. Webhooks, eventos e segurança
- O destino padrão é
https://SEU_ATENDIMENTO/webhook/evolution/ID_DO_CANAL. - O Minike aceita o segredo configurado em
x-minike-evolution-secret; sem segredo, a API key é fallback compatível. - Eventos possuem chave idempotente por canal. Reenvio do mesmo evento não cria outra mensagem.
- Grupos, status broadcast e mensagens fromMe são filtrados da conversa direta.
- Use HTTPS, segredo exclusivo por canal e API key protegida.

7. O que cobre em relação ao ZPRO
| Área | Atendimento Minike | Melhoria aplicada |
|---|---|---|
| Inbox omnichannel | WhatsApp, canais sociais e integrações em uma operação | Histórico, não lidas, responsáveis e origem. |
| Filas e equipe | Round-robin, filas e permissões | Roteamento por habilidade e limite de conversas. |
| Automações | Fluxos, pausas e transferência humana | Evolution preserva origem e aciona o mesmo motor. |
| Gestão e CRM | Contatos, tags, etapas e histórico | Mensagens entram no contato existente quando possível. |
| Relatórios | SLA, operação, saúde e IA | Eventos Evolution têm observabilidade por canal. |
| Ajuda e onboarding | Guias visuais, checklist e diagnóstico | Esta página documenta instalação e suporte. |
O objetivo não é copiar a interface de outro produto: é manter as capacidades que o operador precisa e reduzir perda de contexto, duplicidade e diagnóstico manual.
8. Diagnóstico rápido
QR não aparece
Confirme URL, API key, instância e se a Evolution está online. Teste /api/evolution/channels/:id/status.
Mensagem não chega
Confira webhook HTTPS, segredo, evento MESSAGES_UPSERT e os eventos do canal.
Mensagem duplicada
Veja os eventos. Se houver múltiplas instâncias apontando para o mesmo canal, corrija o webhook.
Envio falha
Teste estado, número internacional e URL pública para mídia local. Consulte o log Node e o HTTP da Evolution.
Endpoints de suporte
GET /api/evolution/catalog— ações oficiais integradas.GET /api/evolution/channels/:id/status— estado.GET /api/evolution/channels/:id/events?limit=50— eventos e erros.GET /api/channels/observability— visão dos canais.
9. Referências oficiais
Os caminhos seguem a referência OpenAPI oficial da Evolution Foundation. A disponibilidade pode depender da versão instalada, integração Baileys/Cloud API e permissões do servidor.