### Limpar e Reinstalar Dependências da Evolution API Source: https://doc.evolution-api.com/v1/pt/updates Remove o diretório node_modules existente para garantir uma instalação limpa e, em seguida, instala as dependências do projeto usando npm install. ```shell rm -rf node_modules npm i ``` -------------------------------- ### Gerenciar Evolution API com PM2 Source: https://doc.evolution-api.com/v1/pt/install/nvm Instala o PM2 globalmente, inicia a Evolution API como um processo gerenciado pelo PM2, configura o startup do PM2 e salva os processos em execução. ```bash npm install pm2 -g pm2 start 'npm run start:prod' --name ApiEvolution pm2 startup pm2 save --force ``` -------------------------------- ### Instalar e Gerenciar Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Instala o Nginx, inicia o serviço, habilita-o para iniciar na inicialização do sistema e verifica o status do serviço. ```bash apt-get install -y nginx systemctl start nginx systemctl enable nginx systemctl status nginx ``` -------------------------------- ### Instalar Certbot via Snap Source: https://doc.evolution-api.com/v1/pt/install/nvm Instala o Certbot, uma ferramenta para automatizar a obtenção e renovação de certificados SSL/TLS, usando o gerenciador de pacotes snap. ```bash snap install --classic certbot ``` -------------------------------- ### Docker Run: Início Rápido da Evolution API Source: https://doc.evolution-api.com/v1/pt/install/docker Inicia a Evolution API em um contêiner Docker usando `docker run`. Expõe a porta 8080 e define a chave de autenticação via variável de ambiente. Ideal para testes e desenvolvimento rápido. ```bash docker run -d \ --name evolution-api \ -p 8080:8080 \ -e AUTHENTICATION_API_KEY=mude-me \ atendai/evolution-api ``` -------------------------------- ### Configurar e Iniciar Evolution API Source: https://doc.evolution-api.com/v1/pt/install/nvm Copia o arquivo de ambiente de desenvolvimento para produção, abre o arquivo env.yml para configuração e inicia a API em modo de produção após o build. ```bash cp src/dev-env.yml src/env.yml nano src/env.yml npm run build npm run start:prod ``` -------------------------------- ### Docker Compose: Iniciando e Parando Serviços Source: https://doc.evolution-api.com/v1/pt/install/docker Comandos para iniciar e parar a Evolution API configurada com Docker Compose. `docker compose up -d` inicia os serviços em background, e `docker compose down` os para. ```bash docker compose up -d ``` ```bash docker compose down ``` -------------------------------- ### Docker Run: Início Rápido com Volumes Persistentes Source: https://doc.evolution-api.com/v1/pt/install/docker Implanta a Evolution API com volumes Docker para persistência de dados (`evolution_store` e `evolution_instances`). Utiliza `docker run` para mapear volumes e manter dados entre reinicializações de contêiner. ```bash docker run -d \ --name evolution-api \ -p 8080:8080 \ -e AUTHENTICATION_API_KEY=mude-me \ -v evolution_store:/evolution/store \ -v evolution_instances:/evolution/instances \ atendai/evolution-api ``` -------------------------------- ### Clonar e Instalar Evolution API Source: https://doc.evolution-api.com/v1/pt/install/nvm Clona o repositório oficial da Evolution API do GitHub, acessa o diretório do projeto e instala as dependências usando npm. ```bash git clone https://github.com/EvolutionAPI/evolution-api.git cd evolution-api npm install ``` -------------------------------- ### Executar Evolution API com Docker Source: https://doc.evolution-api.com/v1/pt/get-started/introduction Comando para executar a Evolution API em um contêiner Docker. Requer Docker instalado e a chave de autenticação API deve ser substituída. Ideal para testes e desenvolvimento, não recomendado para produção. ```bash docker run -d \ --name evolution_api \ -p 8080:8080 \ -e AUTHENTICATION_API_KEY=mude-me \ atendai/evolution-api:latest ``` -------------------------------- ### Instalar NVM e Node.js Source: https://doc.evolution-api.com/v1/pt/install/nvm Instala o Node Version Manager (NVM) e o Node.js v20.10.0. Inclui o carregamento do NVM no ambiente bash e a confirmação da instalação. ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Isso carrega o nvm nvm install v20.10.0 && nvm use v20.10.0 command -v nvm ``` -------------------------------- ### Recarregar Serviço Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Recarrega o serviço Nginx para aplicar as alterações de configuração feitas nos arquivos de configuração. ```bash systemctl reload nginx ``` -------------------------------- ### Docker Compose: Configuração Standalone da Evolution API Source: https://doc.evolution-api.com/v1/pt/install/docker Define a configuração da Evolution API para um ambiente standalone usando Docker Compose. O arquivo `docker-compose.yml` especifica a imagem, portas, variáveis de ambiente e volumes para a API. ```yaml version: '3' services: evolution-api: container_name: evolution_api image: atendai/evolution-api restart: always ports: - "8080:8080" env_file: - .env volumes: - evolution_store:/evolution/store - evolution_instances:/evolution/instances volumes: evolution_store: evolution_instances: ``` -------------------------------- ### Docker: Verificando Logs da Evolution API Source: https://doc.evolution-api.com/v1/pt/install/docker Comando para visualizar os logs do contêiner da Evolution API, útil para monitoramento e depuração após a inicialização com Docker. ```bash docker logs evolution_api ``` -------------------------------- ### Habilitar Virtual Host Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Cria um link simbólico do arquivo de configuração do virtual host em 'sites-available' para 'sites-enabled', ativando a configuração do virtual host no Nginx. ```bash ln -s /etc/nginx/sites-available/api /etc/nginx/sites-enabled ``` -------------------------------- ### Arquivo .env para Docker Compose Source: https://doc.evolution-api.com/v1/pt/install/docker Arquivo de configuração `.env` para definir a chave de autenticação da Evolution API quando utilizada com Docker Compose. ```dotenv AUTHENTICATION_API_KEY=mude-me ``` -------------------------------- ### Validar Configuração Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Testa a sintaxe dos arquivos de configuração do Nginx para garantir que não haja erros antes de recarregar o serviço. ```bash nginx -t ``` -------------------------------- ### Otimizar Memória do PM2 Source: https://doc.evolution-api.com/v1/pt/install/nvm Reinicia o processo da API com o PM2, alocando mais memória (4GB) para o Node.js e definindo um limite de reinicialização de memória para 4GB. ```bash pm2 start 'npm run start:prod' --name ApiEvolution -- start --node-args="--max-old-space-size=4096" --max-memory-restart 4G ``` -------------------------------- ### Envio de Pré-visualização de Link Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Recurso para enviar links com pré-visualização, buscando informações de SEO. Recurso novo. ```API Envio de Pré-visualização de Link | ✅ | (Busca por informações de SEO) 🆕 ``` -------------------------------- ### Alterar Propriedade do Diretório Web Source: https://doc.evolution-api.com/v1/pt/install/nvm Altera o proprietário e o grupo do diretório da web para o usuário 'nginx', garantindo que o servidor web tenha as permissões corretas para acessar e gerenciar os arquivos. ```bash chown www-data:www-data /usr/share/nginx/html -R ``` -------------------------------- ### Criar e Configurar Bloco do Servidor Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Cria um novo arquivo de configuração do Nginx para o diretório do servidor e insere a configuração básica do servidor, incluindo escuta na porta 80, definição do diretório raiz, tratamento de requisições PHP e configuração de cache para arquivos estáticos. ```bash nano /etc/nginx/conf.d/default.conf ``` ```nginx server { listen 80; listen [::]:80; server_name _; root /var/www/html/; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } # Um longo tempo de cache do navegador pode acelerar visitas repetidas à sua página location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # desativar acesso a arquivos ocultos location ~ /\.ht { access_log off; log_not_found off; deny all; } } ``` -------------------------------- ### Verificar Status da Evolution API Source: https://doc.evolution-api.com/v1/pt/get-started/introduction Resposta esperada ao acessar a Evolution API em http://localhost:8080 em um navegador, confirmando que a API está em execução e fornecendo links para documentação e gerenciamento. ```json { "status":200, "message":"Welcome to the Evolution API, it is working!", "version":"1.x.x", "swagger":"http://localhost:8080/docs", "manager":"http://localhost:8080/manager", "documentation":"https://doc.evolution-api.com" } ``` -------------------------------- ### Configurar Fuso Horário Source: https://doc.evolution-api.com/v1/pt/install/nvm Comando para reconfigurar o fuso horário do servidor, caso ainda não tenha sido definido. ```bash dpkg-reconfigure tzdata ``` -------------------------------- ### Configurar Cache Local em Memória - Evolution API Source: https://doc.evolution-api.com/v1/pt/env Alternativa ao Redis, habilita o cache em memória para a Evolution API, definindo o tempo de vida (TTL) para os dados armazenados localmente. ```bash CACHE_LOCAL_ENABLED=true CACHE_LOCAL_TTL=604800 ``` -------------------------------- ### Configurar Armazenamento Temporário de Dados - Evolution API Source: https://doc.evolution-api.com/v1/pt/env Habilita ou desabilita o armazenamento temporário de diferentes tipos de dados na Evolution API, como mensagens, contatos e conversas. ```bash STORE_MESSAGES=true STORE_MESSAGE_UP=true STORE_CONTACTS=true STORE_CHATS=true ``` -------------------------------- ### Certificar Subdomínio com Certbot e Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Usa o Certbot para obter um certificado SSL/TLS para um subdomínio específico e configurar automaticamente o Nginx para usar o certificado. ```bash certbot --nginx -d substitua-isso-pelo-seu-domínio-legal.com ``` -------------------------------- ### Configurar Cache Redis - Evolution API Source: https://doc.evolution-api.com/v1/pt/env Habilita e configura o uso do Redis como cache na Evolution API, definindo a URI de conexão, prefixo de chave, tempo de vida (TTL) e se as credenciais do WhatsApp serão salvas. ```bash CACHE_REDIS_ENABLED=true CACHE_REDIS_URI=redis://redis:6379 CACHE_REDIS_PREFIX_KEY=evolution CACHE_REDIS_TTL=604800 CACHE_REDIS_SAVE_INSTANCES=false ``` -------------------------------- ### Verificar Status da API Source: https://doc.evolution-api.com/v1/pt/install/nvm Exemplo de resposta esperada ao acessar a Evolution API em http://localhost:8080, indicando que a API está funcionando corretamente. ```json { "status": 200, "message": "Bem-vindo à Evolution API, ela está funcionando!", "version": "1.x.x", "documentation": "http://localhost:8080/docs" } ``` -------------------------------- ### Configurar Logs - Evolution API Source: https://doc.evolution-api.com/v1/pt/env Controla o nível de detalhe e a formatação dos logs gerados pela Evolution API, permitindo a filtragem por severidade e a ativação de cores para melhor legibilidade. ```bash LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS LOG_COLOR=true LOG_BAILEYS=error ``` -------------------------------- ### Configurar Variáveis de Ambiente do Servidor - Evolution API Source: https://doc.evolution-api.com/v1/pt/env Define as variáveis de ambiente cruciais para a operação do servidor da Evolution API, incluindo URL, habilitação de WebSocket e nomes de exibição para a conexão do cliente. ```bash SERVER_URL=https://exemplo.evolution-api.com WEBSOCKET_ENABLED=true WEBSOCKET_GLOBAL_EVENTS=true CONFIG_SESSION_PHONE_CLIENT=EvolutionAPI CONFIG_SESSION_PHONE_NAME=Chrome ``` -------------------------------- ### Criar e Configurar Virtual Host Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Cria um novo arquivo de configuração para um virtual host e insere a configuração do Nginx para proxy reverso, direcionando o tráfego para uma aplicação rodando em outra porta. ```bash cd ~ nano /etc/nginx/sites-available/api ``` ```nginx server { server_name substitua-isso-pelo-seu-domínio-legal.com; location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_bypass $http_upgrade; } } ``` -------------------------------- ### Configurar Armazenamento Persistente (MongoDB) - Evolution API Source: https://doc.evolution-api.com/v1/pt/env Habilita e configura a conexão com o MongoDB para armazenamento persistente de dados na Evolution API, incluindo a URI de conexão e quais tipos de dados serão salvos. ```bash DATABASE_ENABLED=true DATABASE_CONNECTION_URI=mongodb://user:password@host:port/database DATABASE_CONNECTION_DB_PREFIX_NAME=evolutiondb DATABASE_SAVE_DATA_INSTANCE=true DATABASE_SAVE_DATA_NEW_MESSAGE=true DATABASE_SAVE_MESSAGE_UPDATE=true DATABASE_SAVE_DATA_CONTACTS=true DATABASE_SAVE_DATA_CHATS=true ``` -------------------------------- ### Envio de Mídia Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Suporta o envio de diversos tipos de mídia, como vídeo, imagem e documentos. ```API Envio de Mídia | ✅ | (Vídeo, imagem e documento) ``` -------------------------------- ### Configuração Docker Compose para API Source: https://doc.evolution-api.com/v1/pt/updates Exemplo de configuração de um serviço 'evolution_api' em um arquivo Docker Compose. Permite especificar a imagem a ser utilizada, recomendando o uso de tags específicas para produção em vez de 'latest'. ```yaml # ... (outros serviços e configurações) evolution_api: # Atualize a versão da imagem da Evolution API aqui # Use 'atendai/evolution-api:latest' para a versão mais recente # Ou especifique uma versão específica como 'atendai/evolutionapi:v1.6.0' image: atendai/evolution-api:v1.x.x networks: - your_network # ... (restante da configuração do Docker Compose) ``` -------------------------------- ### Reiniciar e Monitorar a Evolution API com PM2 Source: https://doc.evolution-api.com/v1/pt/updates Reinicia a Evolution API usando o PM2 e fornece um comando para visualizar os logs em tempo real da aplicação, facilitando o monitoramento. ```shell pm2 start ApiEvolution pm2 log ApiEvolution ``` -------------------------------- ### Atualizar Imagem Docker API Source: https://doc.evolution-api.com/v1/pt/updates Puxa a imagem mais recente da Evolution API para o Docker. Certifique-se de estar no diretório correto do Docker Compose antes de executar. ```bash docker compose pull atendai/evolution-api:latest ``` -------------------------------- ### Configuração do RabbitMQ Source: https://doc.evolution-api.com/v1/pt/env Define as variáveis de ambiente para habilitar e configurar a conexão com o RabbitMQ, incluindo o URI de conexão, nome do exchange e eventos específicos a serem enviados. ```Environment Variables RABBITMQ_ENABLED=true RABBITMQ_GLOBAL_ENABLED=false RABBITMQ_URI=amqp://guest:guest@rabbitmq:5672 RABBITMQ_EXCHANGE_NAME=evolution_exchange RABBITMQ_EVENTS_APPLICATION_STARTUP=false RABBITMQ_EVENTS_QRCODE_UPDATED=true RABBITMQ_EVENTS_MESSAGES_SET=true RABBITMQ_EVENTS_MESSAGES_UPSERT=true RABBITMQ_EVENTS_MESSAGES_UPDATE=true RABBITMQ_EVENTS_MESSAGES_DELETE=true RABBITMQ_EVENTS_SEND_MESSAGE=true RABBITMQ_EVENTS_CONTACTS_SET=true RABBITMQ_EVENTS_CONTACTS_UPSERT=true RABBITMQ_EVENTS_CONTACTS_UPDATE=true RABBITMQ_EVENTS_PRESENCE_UPDATE=true RABBITMQ_EVENTS_CHATS_SET=true RABBITMQ_EVENTS_CHATS_UPSERT=true RABBITMQ_EVENTS_CHATS_UPDATE=true RABBITMQ_EVENTS_CHATS_DELETE=true RABBITMQ_EVENTS_GROUPS_UPSERT=true RABBITMQ_EVENTS_GROUPS_UPDATE=true RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE=true RABBITMQ_EVENTS_CONNECTION_UPDATE=true RABBITMQ_EVENTS_LABELS_EDIT=true RABBITMQ_EVENTS_LABELS_ASSOCIATION=true RABBITMQ_EVENTS_CALL=true RABBITMQ_EVENTS_TYPEBOT_START=false RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS=false ``` -------------------------------- ### Atualização de Código Fonte com Git Source: https://doc.evolution-api.com/v1/pt/updates Instruções para atualizar o repositório local da Evolution API usando Git. Inclui resetar alterações, puxar as últimas atualizações e a opção de fazer checkout de versões específicas. ```bash # Resetar seu repositório local para o commit mais recente git reset --hard HEAD # Puxar as atualizações mais recentes do repositório git pull # Para uma versão específica, use 'git checkout main' para a mais recente, # ou 'git checkout 1.x.x' para uma versão específica. Exemplo: git checkout 1.x.x ``` -------------------------------- ### Configurar Limpeza do Armazenamento Temporário - Evolution API Source: https://doc.evolution-api.com/v1/pt/env Define as regras e o intervalo para a limpeza automática do armazenamento temporário de dados na Evolution API, especificando quais tipos de dados devem ser excluídos. ```bash CLEAN_STORE_CLEANING_INTERVAL=3600 CLEAN_STORE_MESSAGES=true CLEAN_STORE_MESSAGE_UP=true CLEAN_STORE_CONTACTS=true CLEAN_STORE_CHATS=true ``` -------------------------------- ### Instalação de Dependências Node.js Source: https://doc.evolution-api.com/v1/pt/updates Comando para remover o diretório 'node_modules' e reinstalar as dependências do Node.js, garantindo uma instalação limpa para a versão atualizada da Evolution API. ```bash rm -rf node_modules && npm install ``` -------------------------------- ### Envio de Status/História Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Permite o envio de status/histórias em diversos formatos: texto, pré-visualização de link, vídeo, imagem e forma de onda. Recurso novo. ```API Envio de Status/História | ✅ | (Texto, pré-visualização de link, vídeo, imagem e forma de onda) 🆕 ``` -------------------------------- ### Remover Configuração Padrão do Nginx Source: https://doc.evolution-api.com/v1/pt/install/nvm Remove o arquivo de configuração padrão do Nginx para evitar conflitos ao configurar um novo bloco de servidor. ```bash rm /etc/nginx/sites-enabled/default ``` -------------------------------- ### Configuração de Instâncias Source: https://doc.evolution-api.com/v1/pt/env Define as variáveis de ambiente para gerenciar o tempo de expiração de instâncias não conectadas e a exclusão de instâncias fechadas na inicialização. ```Environment Variables DEL_INSTANCE=5 DEL_TEMP_INSTANCES=true ``` -------------------------------- ### Envio de Lista Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Recurso para envio de listas, atualmente em homologação e teste. ```API Envio de Lista (Homologação) | ✅ | (Testando) ``` -------------------------------- ### Envio de Localização Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Permite o envio de informações de localização, incluindo nome e descrição do local. ```API Envio de Localização | ✅ | (Com nome e descrição do local) ``` -------------------------------- ### Reiniciar Contêineres Docker API Source: https://doc.evolution-api.com/v1/pt/updates Para os contêineres atuais da Evolution API e os reinicia com a imagem atualizada. Use este comando após puxar a nova imagem. ```bash docker compose down && docker compose up -d ``` -------------------------------- ### Configurar RabbitMQ para Instância Individual Source: https://doc.evolution-api.com/v1/pt/optional-resources/rabbitmq Endpoint para habilitar o RabbitMQ e definir eventos para uma instância específica do WhatsApp na Evolution API. O corpo JSON especifica quais eventos a instância deve assinar na fila AMQP. ```HTTP [baseUrl]/rabbitmq/set/[instance_name] ``` -------------------------------- ### Parar e Limpar Logs do PM2 Source: https://doc.evolution-api.com/v1/pt/optional-resources/mongo-db Comandos para parar o processo da Evolution API e limpar todos os logs do PM2. Útil para solucionar problemas e aplicar atualizações com segurança. ```bash # Limpar todos os logs do PM2 pm2 flush # Parar o processo atual da Evolution API pm2 stop ApiEvolution ``` -------------------------------- ### Configuração do SQS Source: https://doc.evolution-api.com/v1/pt/env Define as variáveis de ambiente para habilitar e configurar a conexão com o Amazon Simple Queue Service (SQS), incluindo credenciais de acesso e região. ```Environment Variables SQS_ENABLED=true SQS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID SQS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY SQS_ACCOUNT_ID=YOUR_ACCOUNT_ID SQS_REGION=YOUR_REGION ``` -------------------------------- ### Configuração do Webhook Source: https://doc.evolution-api.com/v1/pt/env Define as variáveis de ambiente para habilitar e configurar o serviço de Webhook, incluindo a URL global e quais eventos devem disparar notificações. ```Environment Variables WEBHOOK_GLOBAL_URL=YOUR_WEBHOOK_URL WEBHOOK_GLOBAL_ENABLED=true WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=true WEBHOOK_EVENTS_APPLICATION_STARTUP=true WEBHOOK_EVENTS_QRCODE_UPDATED=true WEBHOOK_EVENTS_MESSAGES_SET=true WEBHOOK_EVENTS_MESSAGES_UPSERT=true WEBHOOK_EVENTS_MESSAGES_UPDATE=true WEBHOOK_EVENTS_MESSAGES_DELETE=true WEBHOOK_EVENTS_SEND_MESSAGE=true WEBHOOK_EVENTS_CONTACTS_SET=true WEBHOOK_EVENTS_CONTACTS_UPSERT=true WEBHOOK_EVENTS_CONTACTS_UPDATE=true WEBHOOK_EVENTS_PRESENCE_UPDATE=true WEBHOOK_EVENTS_CHATS_SET=true WEBHOOK_EVENTS_CHATS_UPSERT=true WEBHOOK_EVENTS_CHATS_UPDATE=true WEBHOOK_EVENTS_CHATS_DELETE=true WEBHOOK_EVENTS_GROUPS_UPSERT=true WEBHOOK_EVENTS_GROUPS_UPDATE=true WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true WEBHOOK_EVENTS_CONNECTION_UPDATE=true WEBHOOK_EVENTS_LABELS_EDIT=true WEBHOOK_EVENTS_LABELS_ASSOCIATION=true WEBHOOK_EVENTS_CALL=true WEBHOOK_EVENTS_NEW_JWT_TOKEN=true WEBHOOK_EVENTS_TYPEBOT_START=false WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=false WEBHOOK_EVENTS_CHAMA_AI_ACTION=true WEBHOOK_EVENTS_ERRORS=true WEBHOOK_EVENTS_ERRORS_WEBHOOK=true ``` -------------------------------- ### Envio de Áudio Narrado Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Funcionalidade para enviar áudio narrado, com bom funcionamento em dispositivos Android e iOS. ```API Envio de Áudio Narrado | ✅ | (Funcionando bem no Android e iOS) ``` -------------------------------- ### Configuração do Redis para Evolution API Source: https://doc.evolution-api.com/v1/pt/optional-resources/redis Define as variáveis de ambiente necessárias para habilitar e configurar o Redis como um cache na Evolution API. Inclui a habilitação, URI do servidor, prefixo de chave, tempo de vida do cache e opção para salvar instâncias. ```env # Defina como true para habilitar o Redis. CACHE_REDIS_ENABLED=false # URI do seu servidor Redis. CACHE_REDIS_URI=redis://redis:6379 # Chave de prefixo para dados do Redis. CACHE_REDIS_PREFIX_KEY=evolution # Tempo que os dados são mantidos em cache CACHE_REDIS_TTL=604800 # Salva as credencias de conexão do whatsapp no redis CACHE_REDIS_SAVE_INSTANCES=true ``` -------------------------------- ### Corpo JSON para Configuração do RabbitMQ Source: https://doc.evolution-api.com/v1/pt/optional-resources/rabbitmq Exemplo de corpo JSON para configurar o RabbitMQ em uma instância individual da Evolution API. Permite habilitar o RabbitMQ e selecionar eventos específicos para assinar. ```JSON { "enabled": true, "events": [ "APPLICATION_STARTUP", "QRCODE_UPDATED", "MESSAGES_SET", "MESSAGES_UPSERT", "MESSAGES_UPDATE", "MESSAGES_DELETE", "SEND_MESSAGE", "CONTACTS_SET", "CONTACTS_UPSERT", "CONTACTS_UPDATE", "PRESENCE_UPDATE", "CHATS_SET", "CHATS_UPSERT", "CHATS_UPDATE", "CHATS_DELETE", "GROUPS_UPSERT", "GROUP_UPDATE", "GROUP_PARTICIPANTS_UPDATE", "CONNECTION_UPDATE", "CALL", "NEW_JWT_TOKEN" ] } ``` -------------------------------- ### Migração de Dados para MongoDB Source: https://doc.evolution-api.com/v1/pt/optional-resources/mongo-db Comando para executar a migração de dados do armazenamento local para o MongoDB usando o gerenciador da Evolution API. Permite migrar instâncias específicas ou todas as instâncias do WhatsApp. ```bash cd evolution-api npx evolution-manager api migrate-to-mongo ``` -------------------------------- ### Envio de Resposta Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Funcionalidade para marcar mensagens em resposta. Recurso novo. ```API Envio de Resposta | ✅ | (Marcar mensagens em resposta) 🆕 ``` -------------------------------- ### Configurar Webhooks Globais no .env Source: https://doc.evolution-api.com/v1/pt/configuration/webhooks Configura um webhook global para receber eventos de todas as instâncias. Inclui opções para habilitar o webhook, definir a URL e especificar eventos a serem ouvidos. ```env WEBHOOK_GLOBAL_URL='' WEBHOOK_GLOBAL_ENABLED=false # Com esta opção ativada, você trabalha com uma URL por evento de webhook, respeitando a URL global e o nome de cada evento WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false ## Defina os eventos que você deseja ouvir, todos os eventos listados abaixo são suportados WEBHOOK_EVENTS_APPLICATION_STARTUP=false WEBHOOK_EVENTS_QRCODE_UPDATED=true # Alguns eventos extras para erros WEBHOOK_EVENTS_ERRORS=false WEBHOOK_EVENTS_ERRORS_WEBHOOK= ``` -------------------------------- ### Gerenciamento de Processos PM2 para API Source: https://doc.evolution-api.com/v1/pt/updates Comandos para gerenciar a Evolution API usando PM2. Inclui a limpeza de logs e a parada do processo atual antes da atualização. ```bash # Limpar todos os logs do PM2 pm2 flush # Parar o processo atual da Evolution API pm2 stop ApiEvolution ``` -------------------------------- ### Configuração do QR Code Source: https://doc.evolution-api.com/v1/pt/env Define as variáveis de ambiente para configurar a duração do QR code e a cor utilizada na sua geração. ```Environment Variables QRCODE_LIMIT=300 QRCODE_COLOR=#000000 ``` -------------------------------- ### Obter Todos os Grupos Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Recurso para obter todos os grupos e seus participantes. Recurso novo. ```API Obter Todos os Grupos | ✅ | (Obter todos os grupos e participantes) 🆕 ``` -------------------------------- ### Estrutura de Resposta do Webhook Source: https://doc.evolution-api.com/v1/pt/configuration/webhooks Esta é a estrutura de dados retornada ao chamar o endpoint para localizar um webhook. Ela inclui o status de habilitação, a URL configurada, a configuração de webhooks por eventos e a lista de eventos associados. ```json { "enabled": true, "url": "[url]", "webhookByEvents": false, "events": [ [eventos] ] } ``` -------------------------------- ### Envio de Enquete Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Possibilita o envio e recebimento de votos em enquetes. Recurso novo. ```API Envio de Enquete | ✅ | (Enviar e receber votos de uma enquete) 🆕 ``` -------------------------------- ### Localizar Webhook Ativo por Instância Source: https://doc.evolution-api.com/v1/pt/configuration/webhooks Este endpoint permite recuperar todas as informações sobre o webhook ativo para uma instância específica. Ele é útil para verificar a configuração e o status dos webhooks. ```HTTP GET [baseUrl]/webhook/find/[instance] ``` -------------------------------- ### Envio de Botões Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Funcionalidade de envio de botões, descontinuada e só funciona na API em nuvem. ```API Envio de Botões (Descontinuado) | ❌ | (Só funciona na API em nuvem) ``` -------------------------------- ### Envio de Adesivo Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Funcionalidade para enviar adesivos estáticos. Recurso novo. ```API Envio de Adesivo | ✅ | (Imagem estática) 🆕 ``` -------------------------------- ### Conexão WebSocket com Evolution API (JavaScript) Source: https://doc.evolution-api.com/v1/pt/optional-resources/websocket Exemplo de como estabelecer uma conexão WebSocket com a Evolution API usando JavaScript. Inclui a configuração de transporte e o tratamento de eventos de conexão e desconexão. ```javascript const socket = io('wss://api.seusite.com/nome_instancia', { transports: ['websocket'] }); socket.on('connect', () => { console.log('Conectado ao WebSocket da Evolution API'); }); // Escutando eventos socket.on('nome_evento', (data) => { console.log('Evento recebido:', data); }); // Lidando com desconexão socket.on('disconnect', () => { console.log('Desconectado do WebSocket da Evolution API'); }); ``` -------------------------------- ### Configuração do MongoDB com Variáveis de Ambiente Source: https://doc.evolution-api.com/v1/pt/optional-resources/mongo-db Define as variáveis de ambiente essenciais para habilitar e configurar a conexão com o MongoDB na Evolution API. Inclui configurações para o URI de conexão, prefixo do banco de dados e opções de salvamento de dados. ```env # Defina como true para habilitar o MongoDB. DATABASE_ENABLED=true # Sua string de conexão do MongoDB. DATABASE_CONNECTION_URI=mongodb://user:password@database_URL/?authSource=admin&readPreference=primary&ssl=false&directConnection=true # Prefixo para o nome do banco de dados. DATABASE_CONNECTION_DB_PREFIX_NAME=evo # Salva as credencias de conexão do whatsapp no mongoDB DATABASE_SAVE_DATA_INSTANCE=false # Salva as mensagens novas no mongo DATABASE_SAVE_DATA_NEW_MESSAGE=false # Salva as atualizações de mensagens no mongo DATABASE_SAVE_MESSAGE_UPDATE=false # Salva os contatos importados e novos contatos DATABASE_SAVE_DATA_CONTACTS=false # Salva os chats importados e novos DATABASE_SAVE_DATA_CHATS=false ``` -------------------------------- ### Configuração de CORS Source: https://doc.evolution-api.com/v1/pt/env Define as variáveis de ambiente para configurar as políticas de Cross-Origin Resource Sharing (CORS), incluindo origens permitidas, métodos HTTP e permissão de credenciais. ```Environment Variables CORS_ORIGIN=https://meu-frontend.com,https://meu-outro-frontend.com CORS_METHODS=POST,GET,PUT,DELETE CORS_CREDENTIALS=true ``` -------------------------------- ### Atualizar Foto do Perfil Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Possibilita a alteração da foto do perfil conectado. Recurso novo. ```API Atualizar Foto | ✅ | (Alterar a foto do perfil conectado) 🆕 ``` -------------------------------- ### Atualizar Descrição do Grupo Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Permite a alteração da descrição de um grupo. Recurso novo. ```API Atualizar Descrição | ✅ | (Alterar a descrição do grupo) 🆕 ``` -------------------------------- ### Envio de Mensagens via WebSocket (JavaScript) Source: https://doc.evolution-api.com/v1/pt/optional-resources/websocket Demonstra como enviar mensagens para o servidor Evolution API através de uma conexão WebSocket estabelecida usando JavaScript. ```javascript socket.emit('send_message', { message: 'Olá, Mundo!' }); ``` -------------------------------- ### Atualizar Assunto do Grupo Source: https://doc.evolution-api.com/v1/pt/configuration/available-resources Possibilita a alteração do nome (assunto) de um grupo. Recurso novo. ```API Atualizar Assunto | ✅ | (Alterar o nome do grupo) 🆕 ``` -------------------------------- ### Configurar Webhook por Instância Source: https://doc.evolution-api.com/v1/pt/configuration/webhooks Define a URL e os eventos para um webhook específico de uma instância. Permite controle granular sobre quais eventos são recebidos. ```json { "url": "{{webhookUrl}}", "webhook_by_events": false, "webhook_base64": false, "events": [ "QRCODE_UPDATED", "MESSAGES_UPSERT", "MESSAGES_UPDATE", "MESSAGES_DELETE", "SEND_MESSAGE", "CONNECTION_UPDATE", "TYPEBOT_START", "TYPEBOT_CHANGE_STATUS" ] } ```