Configuracao
Configure canais de atendimento, storage, email e outras opcoes da NooviChat.
Canais de Atendimento
O NooviChat suporta multiplos canais de comunicacao. Cada canal e configurado como uma "Inbox" no painel de administracao.
Via API oficial ou Baileys
PopularIMAP/SMTP ou Microsoft 365
DisponivelWeb Chat
Widget para seu site
DisponivelTelegram
Bot API
DisponivelMessenger e Instagram
DisponivelAPI
Canal customizado via API
DisponivelConfiguracao 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)
# Variaveis de ambiente para WhatsApp Cloud API
WHATSAPP_CLOUD_BASE_URL=https://graph.facebook.com
WHATSAPP_CLOUD_API_VERSION=v17.0Criar Inbox via API
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 na NooviChat.
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:
<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)
ACTIVE_STORAGE_SERVICE=localAmazon S3
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-1Configuracao de Email (SMTP)
Configure o SMTP para envio de notificacoes, convites e emails de confirmacao.
# 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.comProvedores 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:
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:
# 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