WhatsApp Web e Evolution API
- Os dois tipos de canal WhatsApp não oficiais disponíveis no AutoTalk
- Como configurar o WhatsApp Web (conexão por escaneamento)
- Como configurar o Evolution API (gateway WhatsApp auto-hospedado)
- Como configurar um proxy para conexões WhatsApp Web
- Como escolher entre eles
O AutoTalk oferece duas opções de canal WhatsApp que não exigem aprovação da API oficial Business da Meta. Ambas aparecem como blocos separados no seletor de tipo de canal quando você adiciona um novo canal.
Opção 1: WhatsApp Web
Rótulo do bloco: WhatsApp Web
Esta opção funciona como o WhatsApp Web em um computador. Você escaneia um QR code com seu celular, e o AutoTalk espelha sua sessão do WhatsApp para receber e enviar mensagens.
Quando usar o WhatsApp Web
- Você quer a configuração mais rápida possível sem contas externas ou chaves de API
- Você é um pequeno negócio ou operador individual com volumes moderados de mensagens
- Você não precisa de modelos de mensagem ou recursos da API oficial
Configurando o WhatsApp Web
- Na barra lateral, vá para Integrações > Canais.
- Clique em Adicionar canal.
- No seletor de tipo de canal, selecione o bloco WhatsApp Web (no grupo WhatsApp).
- Na tela de configuração, opcionalmente preencha Número do WhatsApp (opcional) — ele é usado apenas para identificar a instância na sua lista de canais.
- Em Confirmações, marque as duas caixas de seleção (o custo da conexão hospedada e o aviso de risco de banimento). O botão permanece bloqueado até você confirmá-las.
- Clique em Criar canal e gerar QR. O canal é criado desativado, e você é levado para a página dele, onde o QR code aparece.
- No seu celular, abra o WhatsApp e vá para Configurações > Aparelhos Conectados > Conectar um Aparelho.
- Escaneie o QR code exibido no AutoTalk com a câmera do seu celular.
- Quando o escaneamento for concluído, a sessão fica online e o status do canal muda para conectado. A medição começa assim que a sessão está online.
Considerações importantes
- Seu celular deve permanecer conectado à internet para que a sessão vinculada fique ativa.
- Se a conexão cair (por exemplo, se seu celular perder internet por um período prolongado), pode ser necessário escanear um novo QR code.
- Este método é melhor para volumes pequenos a médios de mensagens. Para uso em alto volume, considere a API oficial do WhatsApp Business.
- Se o QR code expirar antes de você escaneá-lo, atualize a página ou o elemento de QR code para gerar um novo.
Opção 2: Evolution API
Rótulo do bloco: Evolution API
O Evolution API é um gateway WhatsApp auto-hospedado. Em vez de depender da infraestrutura em nuvem da Meta, você (ou sua equipe de TI) executa o servidor Evolution API, e o AutoTalk se conecta a ele. Isso dá mais controle sobre a conexão WhatsApp, incluindo onde os dados são armazenados e como a sessão é gerenciada.
Quando usar o Evolution API
- Sua organização exige infraestrutura auto-hospedada por razões de conformidade ou soberania de dados
- Você quer mais controle técnico sobre a conexão WhatsApp
- Você tem uma equipe de TI que pode implantar e manter o servidor Evolution API
Configurando o Evolution API
- Implante uma instância do Evolution API no seu próprio servidor ou infraestrutura em nuvem. Consulte a documentação do projeto Evolution API para os passos de instalação.
- No AutoTalk, vá para Integrações > Canais e clique em Adicionar canal.
- No seletor de tipo de canal, selecione o bloco Evolution API.
- Insira os campos de configuração que aparecem, incluindo a URL do servidor Evolution API e quaisquer credenciais de autenticação necessárias.
- Salve o canal.
- Siga as instruções para parear a instância do Evolution API com seu número WhatsApp (isso pode envolver escanear um QR code no lado do Evolution API).
Considerações importantes
- Você é responsável por hospedar, atualizar e manter o servidor Evolution API.
- O tempo de atividade do canal depende do tempo de atividade do seu servidor auto-hospedado.
- Esta opção oferece a maior flexibilidade e controle, mas também exige o maior envolvimento técnico.
Configurações de Proxy
Os canais WhatsApp Web suportam um proxy opcional para rotear a conexão WhatsApp através de um servidor intermediário. Isso é útil quando o IP do seu servidor está bloqueado, quando você precisa rotacionar IPs, ou quando a política da empresa exige que o tráfego de saída passe por um proxy. (Canais Evolution API não expõem configurações de proxy — configure qualquer proxy no seu próprio servidor Evolution.)
A seção de proxy aparece como um painel recolhível rotulado Configurações de Proxy dentro da página de edição do canal.
Configurando um proxy
- Abra a página de edição do canal (Canais, depois clique no canal).
- Expanda a seção Configurações de Proxy.
- Preencha os campos:
| Campo | Descrição | Exemplo |
|---|---|---|
| Host | Hostname ou endereço IP do servidor proxy | brd.superproxy.io |
| Porta | Número da porta | 33335 |
| Protocolo | Protocolo de conexão | http, https, socks4 ou socks5 |
| Usuário | Nome de usuário para autenticação (deixe em branco se não for necessário) | brd-customer-abc123 |
| Senha | Senha de autenticação, armazenada como segredo de segurança | Digite a senha e clique em Adicionar para criar o segredo |
- Clique em Salvar para salvar o canal.
- Clique em Aplicar Proxy para aplicar a configuração de proxy à conexão WhatsApp ativa.
O campo Senha armazena suas credenciais de proxy como um segredo de segurança criptografado. Quando você digita uma senha e clica em Adicionar (ou seleciona a opção de criar no menu suspenso), o segredo é criado automaticamente -- você não precisa preencher nenhum formulário extra.
Você deve salvar o canal antes que o botão Aplicar Proxy fique ativo. Se ele aparecer desabilitado, salve primeiro.
Removendo um proxy
Aplicar Proxy apenas envia um proxy configurado para a conexão ativa — ele não consegue desfazer a aplicação, e quando o campo Host está vazio o botão deixa de ficar disponível. Para parar de usar um proxy, recrie a sessão sem ele:
- Limpe os campos de proxy (no mínimo o Host) em Configurações de Proxy e salve o canal.
- Clique em Excluir sessão WhatsApp Web/Evolution para desconectar a sessão atual. O canal em si é mantido e marcado como desativado.
- Clique em Criar sessão WhatsApp Web/Evolution e escaneie o QR code novamente. A nova sessão conecta sem o proxy.
Comparação: WhatsApp Web vs. Evolution API vs. API Oficial
| Recurso | WhatsApp Web | Evolution API | WhatsApp API (Oficial) |
|---|---|---|---|
| Dificuldade de configuração | Muito fácil | Moderada a avançada | Moderada |
| Aprovação da Meta necessária | Não | Não | Sim |
| Auto-hospedado | Não | Sim | Não |
| Celular deve ficar online | Sim | Depende da configuração | Não |
| Modelos de mensagem | Não | Não | Sim |
| Suporte a proxy no app | Sim | Não | Não |
| Melhor para | Início rápido, pequenas equipes | Equipes técnicas, necessidades de conformidade | Alto volume, uso oficial |
Se você não tem certeza de qual opção escolher, comece com o WhatsApp Web para um teste rápido. Você sempre pode migrar para a API oficial do WhatsApp Business ou Evolution API depois, conforme suas necessidades crescerem.
Enviando cartões de contato e enquetes via API
Tanto os canais WhatsApp Web quanto os Evolution API suportam dois tipos de mensagem estruturados além de texto e mídia: cartões de contato e enquetes. Ambos são enviados pelo endpoint de envio da conversa do profissional, que recebe um array messages onde os campos de cada item ficam no nível superior (não há um invólucro body):
POST /messaging/employee/:employeeId/conversation/:conversationId/message
Os exemplos abaixo se autenticam com os cookies da sua sessão de login. Requisições de escrita autenticadas por sessão também precisam passar por uma verificação CSRF de duplo envio: envie o cookie csrf emitido no login e repita seu valor no cabeçalho x-csrf-token, junto com o cookie de acesso at. Requisições que apresentam o cookie at sem o par CSRF correspondente são rejeitadas com 403 csrf_failed.
Cartões de contato (type: "contacts")
curl -X POST "https://run.autotalk.io/messaging/employee/{EMPLOYEE_ID}/conversation/{CONV_ID}/message" \
-H "Content-Type: application/json" \
-H "x-csrf-token: $CSRF" \
--cookie "at=$AT; csrf=$CSRF" \
-d '{
"messages": [
{
"type": "contacts",
"text": "Legenda opcional acima dos cartões",
"contacts": [
{
"displayName": "Alice Reyes",
"phones": [{"phone": "5511987654321", "waId": "5511987654321", "type": "mobile"}],
"emails": [{"email": "[email protected]", "type": "work"}],
"org": {"company": "Example Co."}
}
]
}
]
}'
Limites: pelo menos um cartão, no máximo 10 por mensagem. Cada cartão exige displayName e um telefone (ou waId).
Enquetes (type: "poll")
curl -X POST "https://run.autotalk.io/messaging/employee/{EMPLOYEE_ID}/conversation/{CONV_ID}/message" \
-H "Content-Type: application/json" \
-H "x-csrf-token: $CSRF" \
--cookie "at=$AT; csrf=$CSRF" \
-d '{
"messages": [
{
"type": "poll",
"title": "Cor favorita?",
"name": "Cor favorita?",
"question": "Cor favorita?",
"options": [
{"label": "Vermelho", "value": "Vermelho"},
{"label": "Azul", "value": "Azul"},
{"label": "Verde", "value": "Verde"}
],
"selectableCount": 1
}
]
}'
Limites: 2 a 10 opções únicas e não vazias. selectableCount entre 1 e options.length (padrão 1 = escolha única).
Ações específicas do canal
A página do canal expõe widgets que envolvem chamadas à Evolution API com respostas formatadas e filtradas. Também são chamáveis como funções Dynadata na coleção channels:
| Ação | Função | Limites |
|---|---|---|
| Verificar quais números existem no WhatsApp | checkWhatsappWebEvoNumbers({numbers}) | até 100 números por requisição; 50/min, 500/h, 2000/dia por empresa |
| Listar grupos, buscar por convite, criar grupo | fetchWhatsappWebEvoGroups, findWhatsappWebEvoGroupByInviteCode, createWhatsappWebEvoGroup | 60 leituras/min por canal; 5 criações de grupo por hora por canal |
Todas as respostas são formatadas — o backend nunca repete dados brutos da Evolution, metadados de instância, URLs internas, chaves de API, detalhes de webhook ou credenciais de proxy.
Próximos passos
- WhatsApp Business (API Oficial) — Configure a integração oficial aprovada pela Meta
- Adicionando uma integração — Passo a passo geral de configuração de canal