Como Criar uma IA para WhatsApp do Zero

Guia completo para criar um assistente virtual inteligente no WhatsApp usando OpenAI, Evolution API e Python. Do zero ao deploy.

Criar uma IA para WhatsApp deixou de ser coisa de empresa grande. Com as ferramentas certas, qualquer desenvolvedor consegue colocar um assistente inteligente para rodar em poucas horas.

Neste guia, vou mostrar o passo a passo completo usando OpenAI, Evolution API e Python - a mesma stack que usamos na Agência Café Online para nossos clientes.

Por que WhatsApp + IA?

O WhatsApp tem mais de 120 milhões de usuários só no Brasil. Seus clientes já estão lá. Em vez de forçá-los a baixar um app ou acessar um site, você leva o atendimento até eles.

Com uma IA no WhatsApp você consegue:

  • Atendimento 24/7 sem custo com equipe noturna
  • Respostas instantâneas para perguntas frequentes
  • Qualificação de leads automática antes de passar pro vendedor
  • Agendamento de consultas e reuniões
  • Envio de catálogos e informações sobre produtos

A Stack Tecnológica

1. Evolution API (Conexão WhatsApp)

A Evolution API é uma solução open-source que permite conectar ao WhatsApp Web via API REST. Diferente de soluções pagas como a API oficial do Meta (que exige aprovação), a Evolution API funciona com qualquer número.

Principais vantagens:

  • Gratuita e open-source
  • Suporta múltiplas instâncias (vários números)
  • Webhooks para receber mensagens em tempo real
  • API REST simples para enviar mensagens

2. OpenAI GPT (Inteligência)

O GPT-4 (ou GPT-3.5 para economia) é o cérebro da operação. Ele entende o contexto da conversa, responde de forma natural e pode seguir instruções específicas sobre o tom e conteúdo das respostas.

O que você precisa:

  • Uma conta na OpenAI
  • API Key
  • Um prompt bem construído (system prompt)

3. Python + Flask (Servidor)

Python é a linguagem ideal para esse tipo de integração. Com Flask, criamos um servidor leve que:

  • Recebe webhooks da Evolution API
  • Processa a mensagem com OpenAI
  • Envia a resposta de volta pelo WhatsApp

Passo 1: Configurar a Evolution API

Primeiro, instale a Evolution API no seu servidor. Recomendo usar Docker:

docker pull atendai/evolution-api
docker run -d --name evolution-api \
  -p 8080:8080 \
  -e AUTHENTICATION_API_KEY=sua-chave-aqui \
  atendai/evolution-api

Depois, crie uma instância e conecte seu WhatsApp escaneando o QR Code.

Passo 2: Criar o Servidor Python

from flask import Flask, request, jsonify
import requests
import openai

app = Flask(__name__)

# Configuracoes
OPENAI_KEY = "sk-sua-chave-aqui"
EVOLUTION_URL = "http://seu-servidor:8080"
EVOLUTION_KEY = "sua-chave-evolution"
INSTANCE = "sua-instancia"

# System prompt do assistente
SYSTEM_PROMPT = """Voce e um assistente virtual da empresa X.
Seja educado, objetivo e util.
Responda sempre em portugues."""

openai.api_key = OPENAI_KEY

@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.json

    # Extrair mensagem e numero
    message = data.get('data', {}).get('message', {}).get('conversation', '')
    phone = data.get('data', {}).get('key', {}).get('remoteJid', '').replace('@s.whatsapp.net', '')

    if not message or not phone:
        return jsonify({"status": "ignored"})

    # Gerar resposta com OpenAI
    response = openai.chat.completions.create(
        model="gpt-4",
        messages=[
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": message}
        ]
    )

    reply = response.choices[0].message.content

    # Enviar resposta via WhatsApp
    requests.post(
        f"{EVOLUTION_URL}/message/sendText/{INSTANCE}",
        headers={"apikey": EVOLUTION_KEY},
        json={"number": phone, "text": reply}
    )

    return jsonify({"status": "ok"})

if __name__ == '__main__':
    app.run(port=5000)

Passo 3: Adicionar Memória de Conversa

O código acima funciona, mas não lembra do contexto. Para adicionar memória, armazene as mensagens anteriores:

from collections import defaultdict

# Historico de conversas
conversations = defaultdict(list)

def get_ai_response(phone, message):
    # Adicionar mensagem do usuario
    conversations[phone].append({"role": "user", "content": message})

    # Manter apenas ultimas 20 mensagens
    if len(conversations[phone]) > 20:
        conversations[phone] = conversations[phone][-20:]

    # Gerar resposta
    messages = [{"role": "system", "content": SYSTEM_PROMPT}] + conversations[phone]

    response = openai.chat.completions.create(
        model="gpt-4",
        messages=messages
    )

    reply = response.choices[0].message.content

    # Salvar resposta no historico
    conversations[phone].append({"role": "assistant", "content": reply})

    return reply

Passo 4: Prompt Engineering

O system prompt é o que define a personalidade e comportamento da IA. Aqui está um template profissional:

Voce e [Nome], assistente virtual da [Empresa].

REGRAS:
1. Seja educado e profissional
2. Responda em portugues brasileiro
3. Seja conciso (maximo 3 paragrafos)
4. Se nao souber a resposta, diga que vai verificar
5. Nunca invente informacoes sobre precos ou disponibilidade

SOBRE A EMPRESA:
- [Descricao do negocio]
- [Produtos/servicos]
- [Horario de funcionamento]

FLUXO DE ATENDIMENTO:
1. Cumprimentar e perguntar como pode ajudar
2. Entender a necessidade do cliente
3. Fornecer informacoes relevantes
4. Se necessario, transferir para um humano

Passo 5: Deploy em Produção

Para colocar em produção, recomendo:

  1. Servidor: VPS com Ubuntu (2GB RAM mínimo)
  2. PM2: Gerenciador de processos para manter o servidor rodando
  3. Nginx/Traefik: Proxy reverso com SSL
  4. Banco de dados: PostgreSQL ou Supabase para persistir conversas
# Instalar PM2
npm install -g pm2

# Iniciar servidor
pm2 start "python servidor.py" --name minha-ia

# Configurar para iniciar no boot
pm2 startup
pm2 save

Custos Reais

Uma operação básica custa muito pouco:

ItemCusto Mensal
VPS (2GB)R$ 30-50
OpenAI GPT-3.5R$ 5-20 (depende do volume)
OpenAI GPT-4R$ 50-200 (depende do volume)
Evolution APIGratuito
TotalR$ 35-250/mês

Para a maioria dos negócios, o GPT-3.5 é mais que suficiente e custa centavos por conversa.

Próximos Passos

Depois de ter a base funcionando, você pode adicionar:

  • Integração com CRM para salvar leads automaticamente
  • Envio de imagens e PDFs com informações do produto
  • Agendamento integrado com Google Calendar
  • Dashboard para monitorar conversas e métricas
  • Follow-up automático para leads que não responderam

Na Agência Café Online, implementamos tudo isso para nossos clientes. Se você quer pular a parte técnica e ter tudo pronto, entre em contato pelo nosso WhatsApp.