Pular para o conteúdo

Configuracao

Configure canais de atendimento, storage, email e outras opcoes do NooviChat.

Canais de Atendimento

O NooviChat suporta multiplos canais de comunicacao. Cada canal e configurado como uma "Inbox" no painel de administracao.

WhatsApp

Via API oficial ou Baileys

Popular

Email

IMAP/SMTP ou Microsoft 365

Disponivel

Web Chat

Widget para seu site

Disponivel

Telegram

Bot API

Disponivel

Facebook

Messenger e Instagram

Disponivel

API

Canal customizado via API

Disponivel

Configuracao WhatsApp

Para integrar o WhatsApp, voce precisa configurar um provedor de API WhatsApp. O NooviChat suporta a API oficial do WhatsApp Business e provedores como WAHA.

Via API Oficial (Cloud API)

bash
# Variaveis de ambiente para WhatsApp Cloud API
WHATSAPP_CLOUD_BASE_URL=https://graph.facebook.com
WHATSAPP_CLOUD_API_VERSION=v17.0

Criar Inbox via API

bash
curl -X POST \
  "https://chat.seudominio.com/api/v1/accounts/{account_id}/inboxes" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "WhatsApp Comercial",
    "channel": {
      "type": "whatsapp",
      "phone_number": "+5511999999999",
      "provider": "whatsapp_cloud",
      "provider_config": {
        "api_key": "YOUR_WHATSAPP_API_KEY",
        "phone_number_id": "YOUR_PHONE_NUMBER_ID",
        "business_account_id": "YOUR_BUSINESS_ACCOUNT_ID"
      }
    }
  }'

Configuracao de Canal Email

Configure uma inbox de email para receber e responder emails de clientes diretamente no NooviChat.

bash
curl -X POST \
  "https://chat.seudominio.com/api/v1/accounts/{account_id}/inboxes" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Suporte Email",
    "channel": {
      "type": "email",
      "email": "suporte@seudominio.com",
      "imap_enabled": true,
      "imap_address": "imap.seudominio.com",
      "imap_port": 993,
      "imap_login": "suporte@seudominio.com",
      "imap_password": "senha_imap"
    }
  }'

Web Chat Widget

Adicione o widget de chat ao seu site para atendimento em tempo real. Apos criar uma inbox do tipo "Web" no painel, copie o script de instalacao:

html
<script>
  (function(d,t) {
    var BASE_URL = "https://chat.seudominio.com";
    var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
    g.src = BASE_URL + "/packs/js/sdk.js";
    g.defer = true;
    g.async = true;
    s.parentNode.insertBefore(g, s);
    g.onload = function() {
      window.chatwootSDK.run({
        websiteToken: 'SEU_WEBSITE_TOKEN',
        baseUrl: BASE_URL
      })
    }
  })(document, "script");
</script>

Storage de Arquivos

Configure onde os arquivos enviados nas conversas serao armazenados.

Local (Padrao)

bash
ACTIVE_STORAGE_SERVICE=local

Amazon S3

bash
ACTIVE_STORAGE_SERVICE=amazon
S3_BUCKET_NAME=seu-bucket
AWS_ACCESS_KEY_ID=sua-access-key
AWS_SECRET_ACCESS_KEY=sua-secret-key
AWS_REGION=us-east-1

Configuracao de Email (SMTP)

Configure o SMTP para envio de notificacoes, convites e emails de confirmacao.

bash
# Configuracao SMTP
MAILER_SENDER_EMAIL=noreply@seudominio.com
SMTP_ADDRESS=smtp.seudominio.com
SMTP_PORT=587
SMTP_USERNAME=noreply@seudominio.com
SMTP_PASSWORD=senha_smtp
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_DOMAIN=seudominio.com

Provedores populares

Para Gmail use smtp.gmail.com:587. Para SendGrid use smtp.sendgrid.net:587 com API key como password.

SSL / HTTPS

Recomendamos usar um reverse proxy (Nginx, Traefik, Caddy) para terminacao SSL. Exemplo com Nginx:

nginx
server {
    listen 443 ssl;
    server_name chat.seudominio.com;

    ssl_certificate /etc/ssl/certs/chat.crt;
    ssl_certificate_key /etc/ssl/private/chat.key;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }

    location /cable {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Logs e Monitoramento

Comandos uteis para monitorar a aplicacao:

bash
# Ver logs em tempo real
docker compose logs -f noovichat

# Ver logs do Sidekiq (jobs em background)
docker compose logs -f sidekiq

# Verificar saude da aplicacao
curl http://localhost:3000/auth/sign_in

# Console Rails (debug)
docker compose exec noovichat bundle exec rails console