Autor Diego Elcain

Como instalar .NET 8 (dotnet 8) no Ubuntu 22.04 (LTS), Iniciar uma Aplicação ASP.Net MVC, Publicar, Compilar e Iniciar como Serviço

Segue um breve passo-a-passo de como instalar o .NET 8 no Ubuntu 22.04.

1 – Instalação do .NET

declare repo_version=$(if command -v lsb_release &> /dev/null; then lsb_release -r -s; else grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"'; fi)

wget https://packages.microsoft.com/config/ubuntu/$repo_version/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

dpkg -i packages-microsoft-prod.deb

rm packages-microsoft-prod.deb

sudo apt update

apt install dotnet-sdk-8.0

2 – Criando uma Aplicação MVC

mkdir /apps
cd /apps
dotnet new mvc -o teste
dotnet dev-certs https --trust

3 – Testando a Aplicação via Console

De dentro do diretório teste execute

dotnet run

Após realizar qualquer mudança utilize do build para compilar novamente

dotnet build

4 – Publicando uma Aplicação .NET

De dentro do diretório teste execute o dotnet com paramentro publish

dotnet publish -c Release -o ./bin/Publish

5 – Testando aplicação publicada, executando o DLL

dotnet bin/Publish/teste.dll

6 – Configurnado uma aplicação .NET como Serviço no Linux

Acessar o diretório System de Systemd

cd /etc/systemd/system

--> Criar o arquivo 
vim app.service

--> Editar o arquivo com os seguintes dados.

[Unit]
Description=App Teste

[Service]
WorkingDirectory=/app/teste/bin/Publish
ExecStart=/usr/bin/dotnet /app/teste/bin/Publish/teste.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=App-Teste
User=ubuntu

[Install]
WantedBy=multi-user.target

Em um prompt de comando use o seguinte comando para acompanhar o log para possíveis erros.

tail -f /var/log/syslog

Instale e inicie o seviço

systemctl enable app.service

systemctl start app.service

se necessário

systemctl daemon-reload

 

FileBrowser Docker Cmpose

FileBrowser é um aplicativo que oferece uma solução para gerenciar arquivos e pastas em dispositivos móveis, permitindo aos usuários acessar, organizar e compartilhar seus dados de maneira eficiente. Ele atua como um explorador de arquivos avançado, fornecendo uma interface amigável para navegar pelo sistema de arquivos do dispositivo.

Com o FileBrowser, os usuários podem realizar diversas tarefas, como copiar, colar, renomear e excluir arquivos, além de criar e organizar pastas. O aplicativo também oferece recursos avançados, como a capacidade de conectar-se a servidores remotos, como FTP, SFTP, WebDAV e outros, permitindo o gerenciamento de arquivos em diferentes locais.

Além disso, o FileBrowser facilita a transferência de arquivos entre dispositivos, suportando a transferência de dados por meio de Wi-Fi e Bluetooth. Essa funcionalidade é útil para compartilhar documentos, fotos e outros tipos de arquivos entre dispositivos móveis ou entre dispositivos móveis e computadores.

Em resumo, o FileBrowser é uma ferramenta versátil para gerenciamento de arquivos em dispositivos móveis, oferecendo funcionalidades avançadas para facilitar o acesso, organização e compartilhamento de dados.

 

Ler mais

Download Oficial Windows Server e Windows 10

Download do Windows Server e Widows 10 e Windows 11 pelo site oficial da Microsoft

 

https://techcommunity.microsoft.com/t5/windows-server-for-it-pro/accessing-trials-and-kits-for-windows-server/m-p/3361205

 

Zabbix Server em Docker Compose

Segue a versão do yaml do docker compose para Zabbix  Server Mysql

Ler mais

Instalando N8N via Docker Compose

  • Para instalar n8n via docker compose utilize a seguinte yaml
  • Configure proxy reverso do Nginx de n8n.minhaempresa.com.br para 127.0.0.1:5678
version: "3.7"
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - ./n8n_data:/home/node/.n8n
volumes:
  n8n_data:
    external: true
  • O arquivo .env deve estar no mesmo diretório do yaml
  • Chmar do docker com docker-compose up
  • Irá notar um erro de acesso o arquivo, então parar o docker e…
chmod -R 777 n8n_data

Com isso o acesso deve estar normalizado.

 

 

Integração Typebot com Chatwoot via N8N

Roteiro para criação de chatbot.

Pré requisitos
  • Ter instaldo e configurado o n8n.
  • Ter instaldo e configurado o TypeBot.
  • Ter instaldo e configurado o EvolutionAPI.

Passo 1 – Criar instância com EvolutionAPI

curl -X POST http://127.0.0.1:8081/instance/create \
-H "Content-Type: application/json" \
-H "apikey: Lqxb8hZvimasdfadsfIqQEYikZEmN5gYg3LKiHT" \
-d '{
    "instanceName": "TypeBot",
    "token": "",
    "qrcode": true,
    "number": "55629841xxxx6"
}'

Passo 2 – Configurar instância criada para conectar com TypeBot

curl -X POST http://127.0.0.1:8081/typebot/set/TypeBot \
-H "Content-Type: application/json" \
-H "apikey: Lqxb8hZvimZi2L0OXOxdfgsdfgdsgIqQEYikZEmN5gYg3LKiHT" \
-d '{
    "enabled": true,
    "url": "https://bot.meutypebot.com.br",
    "typebot":  "NomeDoFlowDoTypeBot",
    "expire": 20,
    "keyword_finish": "#SAIR",
    "delay_message": 1000,
    "unknown_message": "Mensagem não reconhecida",
    "listening_from_me": false
}'

Passo 3 – Ao concluir fluxo do TypeBot redirecionar conversa para o ChatWoot via N8N

  • Criar variável remoteJid para pegar o número do remetente.
  • Criar variável numeroLimpo para remover sufixo.
  • Após construir todo fluxo criar um Webhook com as seguintes variáveis
    • URL do Webhook – https://n8n.minhaempresa.com.br/webhook-test/typebot
    • Method POST
    • Body:
      {
        "number": "{{numeroLimpo}}",
        "name": "{{name}}"
      }

Passo 4- Configurar N8N para receber o webhook e enviar para Chatwoot

  • Fazer downlaod do flow n8n
  • Em Infobase1 Configurar
    • Token (Chatwoot)
    • Url Chatwoot
    • ID Conta
    • ID Caixa
    • NomeContato
      • TypeBot Minha Empresa
    • MensagemEnvio
      • ” Contato recebido via TypeBot “

Basicamente é isso.

Tutorial – EvolutionAPI – Instalando e Usando

Para o sucesso desse tutorial presume-se que o Chatwoot encontra-se instalado e configurado.

Documentação Oficial: http://doc.evolution-api.com/

Git para download: https://github.com/EvolutionAPI/evolution-api

Passo 1 – Baixar e instalar via Docker-Compose o EvolutionAPI

cd 
git clone https://github.com/EvolutionAPI/evolution-api.git
  • Renomear docker-compose.yaml.example para docker-compose.yaml.example
mv docker-compose.yaml.example docker-compose.yaml

Passo 2 – Configurar o arquivo .env

cd Docker
mv .env.exemple .env
vim .env
  • Principais ajustes dentro do arquivo .env são
  • Server URL : Endereço e porta do endopint que irá receber instruções de API
  • Name: Nome que irá aparecer no WhatsApp do Cliente
  • AUTHENTICATION_API_KEY: Senha que irá proteger a API do seu endpoint. Gere uma senha nova. Sugestão de gerador: https://generate-random.org/api-key-generator
# Server URL - Set your application url
SERVER_URL=http://192.168.0.254:8081

# Name that will be displayed on smartphone connection
CONFIG_SESSION_PHONE_CLIENT=CuidadoDigital

## Define a global apikey to access all instances.
### OBS: This key must be inserted in the request header to create an instance.
AUTHENTICATION_API_KEY=Lqxb8hZvimZi2L0OXOxeoy7OmF91tChJjnoC6h5tKejIqQEYikZEmN5gYg3LKiHT

  • Levantar o seviço dentro de ~/evolution-api
cd ~/evolution-api
docker-compose up -d
  • Teste o serviço com seguinte comando:
# Comando
curl 127.0.0.1:8081

# Resposta esperada
{"status":200,"message":"Welcome to the Evolution API, it is working!","version":"1.5.1"}

Passo 3 – Usando EvolutionAPI

  • Criando uma instância
  • Ajustar a URL para o seu endpoint
  • Ajustar APIKEY: ( a mesma do passo anterior)
  • Definir o InstanceName: ( Nome da caixa de entrada que irá aparecer dentro do chatwoot.
  • Chatwoot_account_id: Pegar o ID dentro do Chatwoot, a caixa será instalada dentro desse ID
  • Chatwoot_token: cndZK3xzxxxxxUNzfxxx8FPx (Pegar o Token dentro do Chatwoot e colar aqui)
  • Chatwoot_url: https://app.minhaempresa.com.br/ (Url do Chatwoot)
curl -X POST http://127.0.0.1:8081/instance/create \
-H "apikey: B6D711FCDE4D4120E713976" \
-H "Content-Type: application/json" \
-d '{
"instanceName": "Whatsapp",
"token": "",
"qrcode": true,
"chatwoot_account_id": 1,
"chatwoot_token": "cndZK3pd6safasdfas1seb27oUNzf8FPx",
"chatwoot_url": "https://app.minhaempresa.com.br/",
"chatwoot_sign_msg": true,
"chatwoot_reopen_conversation": true,
"chatwoot_conversation_pending": false
}'
  • Ajustando parametros de uma instância
  • Obs. O último parametro da URL é nome da caixa postal criada anteriormente.
  • reject_call: true ( Utilize esse recurso para rejeitar automaticamente chamadas)
  • msg_call: “Não recebemos ligação” ( Se reject_call estiver true uma mensagem será enviada)
  • groups_ignore: true ( Ignorar grupos de Whatsapp
  • always_online: true ( Mostrar sempre Online
  • read_messages: false ( Se false, as mensagens no smartphone aparecerão como não lidas. Se true as mensagens serão marcadas como lida)
  • read_status: false ( Ler status)
curl -X POST http://127.0.0.1:8081/settings/set/Whatsapp \
-H "apikey: B6D711FCDE4D4FD5936544120E713976" \
-H "Content-Type: application/json" \
-d '{
"reject_call": false,
"msg_call": "",
"groups_ignore": true,
"always_online": true,
"read_messages": false,
"read_status": false
}'
  • Logout de uma instância
curl -X DELETE http://127.0.0.1:8081/instance/logout/Whatsapp \
-H "apikey: B6D711FCDE4D4FD5936544120E713976" \
-H "Content-Type: application/json"
  • Apagando uma instância
curl -X DELETE http://127.0.0.1:8081/instance/delete/Whatsapp \
-H "apikey: B6D711FCDE4D4FD5936544120E713976" \
-H "Content-Type: application/json"
  • Buscando Instâncias Ativas
curl -X GET http://127.0.0.1:8081/instance/fetchInstances \
-H "apikey: B6D711FCDE4D4FD5936544120E713976" \
-H "Content-Type: application/json"
  • Reiniciando uma instência
curl -X GET http://127.0.0.1:8081/instance/restart/Whatsapp \
-H "apikey: B6D711FCDE4D4FD5936544120E713976" \
-H "Content-Type: application/json"

 

Configuração FTP Server Debian com Vsftp e CHROOT

Passo 1 – Instalar vsftp

apt install vsftpd

Passo 2 – Fazer Backup do arquivo Original

cd /etc
cp vsftpd.conf vsftpd.conf.bak

Passo 3 – Configurar arquivo vsftp.conf

listen=YES
listen_ipv6=NO
connect_from_port_20=YES

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=45000

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
~

Passo 4 – Definiar usuário que ficará em CHROOT

vim /etc/vsftpd.chroot_list
SeuUsuario

Passo 5 – Criar conta de usuário

adduser SeuUsuario

Passo 6 – Habilitar e Ativar vsftp server

systemctl enable vsftpd
systemctl start vsftpd

 

Tutorial: Como configurar CSAT do Chatwoot

Nesse breve tutorial iremos ver como configurar o recurso CSAT do Chatwoot.

Necessário ja ter o N8N instalado e funcional.

1º Passo Liberar Acesso Postgres

Editar os seguintes arquivos

vim /etc/postgresql/12/main/pg_hba.conf
host all all 0.0.0.0/0 md5

vim /etc/postgresql/12/main/postgresql.conf
listen_addresses = '*'

2º Passo – Baixar e configurar script N8N

Url para download

https://github.com/delcain/csat-chatwoot

Após importar o script

Node 1 – ConsultaIDBanco ( Configurar acesso ao banco de dados )

# Host
Usar IP Público do Servidor 38.xxx.xxx.138

# Database
chatwoot_production

#User
postgres

#Password
!@aSDFSA231@!

Obs. Pegar senha no arquivo .env ou docker-compose.yml

Node 2 – SetMensagem

  • Expression
  • Vá até o campo value e procure pela variavél #suaurlchatwoot e adicione o endereço de instalação do seu chatwoot

Node 3 NODE SendMSGCodechat

  • Na URL onde ta escrito #urlcodechat adicione o endereço da api codechat.
  • Em #suainstancia é o nome de sua caixa de entrada
  • Exemplo http://38.xxx.xxx.138:8083/message/sendText/whatsapp

Specify Headers

  • apikey
  • Colocar a mesma chave apikey configurada em Whatsapp-API

Obs: em todos os nodes configurar Continue on Fail

3º Passso – Dentro do Chatwoot

  • Acessar Configurações, depois em Caixa de Entrada abra as configrações, encontre a opção Habilitar CSAT e deixe como ativado.
  • Acessar as automações e crie uma nova automação com o evento Conversation Updated e deixe o status como resolvida.
  • Em ações escolha Send Webhook Event e adicione o webhook do workflow baixado.
  • Ex: https://n8n.minhaempresa.com.br/webhook/csat-codechat

 

 

 

Como instalar Chatwoot via Docker + Codechat + API Whatsapp

Passo 1  – Instalação Docker

  • Remover possíveis versões anteriores
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • Add Docker’s official GPG key
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  • Add the repository to Apt sources
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  • Instalação docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Passo 2 – Instalação do Chatwoot via Docker Compose

  • Download the env file template
  • Download the Docker compose template
  • Rename .env file
cd /root
mkdir chatwoot
wget -O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example
wget -O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml
  • Ajustando o .env file
  • Atenção para senha do postgres
Main
SECRET_KEY_BASE - criar senha segura
FRONTEND_URL=https://app.sacbr.com.br
DEFAULT_LOCALE=pt_BR

Postgres
    POSTGRES_HOST=postgres
    POSTGRES_USERNAME=postgres
    POSTGRES_PASSWORD=908AS7DF89ASIUAFSDAS89034K
    RAILS_ENV=development
Mail
    MAILER_SENDER_EMAIL=SacBR <app@sacbr.com.br>
    SMTP_DOMAIN=smtp.gmail.com
    SMTP_ADDRESS=smtp.gmail.com
    SMTP_PORT=465
    SMTP_USERNAME=sacbr{at}sacbr.com.br
    SMTP_PASSWORD=Senha123
    SMTP_AUTHENTICATION=plain
    SMTP_ENABLE_STARTTLS_AUTO=true
    SMTP_OPENSSL_VERIFY_MODE=peer
    SMTP_SSL=true
  • Ajustando o docker-compose.yml
  • Atenção para senha do postgres
version: '3'
services:
  base: &base
    image: chatwoot/chatwoot:latest
    env_file: .env ## Change this file for customized env variables
    volumes:
      - ./data/storage:/app/storage

  rails:
    <<: *base
    depends_on:
      - postgres
      - redis
    ports:
      - '127.0.0.1:3000:3000'
    environment:
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    entrypoint: docker/entrypoints/rails.sh
    command: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '0.0.0.0']

  sidekiq:
    <<: *base
    depends_on:
      - postgres
      - redis
    environment:
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']

  postgres:
    image: postgres:12
    restart: always
    ports:
      - '5432:5432'
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=chatwoot
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=SENHA SUPER SEGURA AQUI

  redis:
    image: redis:alpine
    restart: always
    command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]
    env_file: .env
    volumes:
      - ./data/redis:/data
    ports:
      - '127.0.0.1:6379:6379'
  • Preparar banco de dados
docker compose run --rm rails bundle exec rails db:chatwoot_prepare
  • Levantando o serviço
docker compose up -d
  • Instalando Nginx e Configurando Proxy Reverso
sudo apt-get install nginx
cd /etc/nginx/sites-enabled
vim yourdomain.com.conf
  • Configurando Virtual Host
  • Em server name: chatwoot.minhaempresa.com.br
server {
  server_name <yourdomain.com>;

  # Point upstream to Chatwoot App Server
  set $upstream 127.0.0.1:3000;

  # Nginx strips out underscore in headers by default
  # Chatwoot relies on underscore in headers for API
  # Make sure that the config is set to on.
  underscores_in_headers on;
  location /.well-known {
    alias /var/www/ssl-proof/chatwoot/.well-known;
  }

  location / {
    proxy_pass_header Authorization;
    proxy_pass http://$upstream;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Ssl on; # Optional

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_http_version 1.1;
    proxy_set_header Connection “”;
    proxy_buffering off;

    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;
  }
  listen 80;
}
  • Checando as configurações
nginx -t
systemctl reload nginx
  • Instalando Certbot e gerando certififcado
apt  install certbot
apt install python3-certbot-nginx
mkdir -p /var/www/ssl-proof/chatwoot/.well-known
certbot --webroot -w /var/www/ssl-proof/chatwoot/ -d yourdomain.com -i nginx
  • Ao chegar nessa etapa do processo de instalação do Chatwoot deverá estar rodando na porta 3000.
  • O nginx deverá estar rodando nas portas 80 e 443.
  • Proxy reverso deverá estar funcional e buscando chatwoot no localhost.
  • Crie sua conta.
  • Faça Login para seguir adiante.

Passo 3 – Instalando NodeJS versão 16 (Obrigatório)

–> Adicionar repositório

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

–> Instalar versão 16

NODE_MAJOR=16
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

Passo 4 – Instalar Codechat

git clone https://github.com/w3nder/chatwoot-codechat.git
mv chatwoot-codechat/ codechat
cd codechat
mv .env.example .env

–> Pegar token do usuário dentro do Chatwoot e atualizar
–> Gerar uma chave particular e colocar no CODECHAT_API_KEY Ex: ” 301803677cd97069a55a79038fb0a2ebd4be1e49 ”
–> Se desejar assinar as mensagens como o nome de usuário mude para TOSIGN=true
–> Se desejar receber mensagens enviadas fora do chatwoot mude para IMPORT_MESSAGES_SENT=false

####################################  EXEMPLO ############################
        PORT = 1234
        CHATWOOT_TOKEN = wV7yJG7q28h3RdQY7m4sDzVM
        CHATWOOT_BASE_URL = http://localhost:3000
        CODECHAT_BASE_URL = http://localhost:8080
        CODECHAT_API_KEY = 301803677cd97069a55a79038fb0a2ebd4be1e49
        TOSIGN=true
        IMPORT_MESSAGES_SENT=true
####################################  EXEMPLO ############################

Explicando em sequência:

  • Instalar dependências
  • Construir aplicação (bildar)
  • Rodar aplicação, o prompt ficará preso, assim poderá acompanhar os logs.
npm install
npm run build 
npm start

Passo 5 – Instalar API

  • Baixando API
  • Renomeando dev-env.yml para env.yml
cd
git clone https://github.com/code-chat-br/whatsapp-api.git
cd whatsapp-api
mv src/dev-env.yml src/env.yml
  • Ajustar Server Port
  • Ajustar Server URL
  • Habilitar Webhook
  • Ajustar Client
  • Usar chave de acesso configurada no Codechat
vim src/env.yml

Server Port 8080 http
Webhook --> URL: Colocar o link da url webhook: http://0.0.0.0:1234/webhook/codechat
Webhook Enabled: True

Client: Sac BR
--> Autehtication ( PEGAR A CHAVE DO CODECHAT EM cat /root/codechat/.env )
  • Explicando em sequência:

    • Instalar dependências
    • Construir aplicação (bildar)
    • Rodar aplicação, o prompt ficará preso, assim poderá acompanhar os logs.
npm install
npm run build
npm run start

Passo 6 – Instalar PM2

  • Instalar PM2
  • Configurar Codechat como Serviço
  • Configurar API como Serviço
npm install pm2 -g

cd /root/codechat
pm2 start dist/app.js --name codechat

cd /root/whatsapp-api
pm2 start 'npm run start prod' --name whatsapp-api

Passo 7 – Criando caixa de entrada no Chatwoot

  • Configurações
  • Caixa de Entrada
  • Adicionar Caixa de Entrada
  • API
URL: http://192.168.0.254:1234/webhook/chatwoot

PS. Usar endereço IP do Host. Não Usar Localhost - Não Usar 127.0.0.1
  • Criar contato para chamar o bot
  • Contatos
  • Novo Contato
    • Nome: Bot
    • Número: +123456
  • Abrir contato
    • Nova Mensagem
    • Caixa de Entrada: Whatsapp
    • Mensagem: /iniciar

 

  • Comandos do Code Chat
    • /iniciar
      • Este comando irá criar uma nova instância e gerar um QR code
    • /status
      • Este comando irá verificar o status da instância
    • /desconectar
      • Este comando irá desconectar o WhatsApp da instância

Passo 7 – Liberando personalização do chatwoot

  • Instalar PostgreSQL Client
apt install postgresql-client postgresql-client-common
  • Logar no banco de dados
  • Selecionar o chatwoot_production
  • Atualizar update installation_configs set locked = false;
psql -U postgres -h localhost -w
\c chatwoot_production
update installation_configs set locked = false;
\q