Skip to main content

Introdução

Para desenvolver e hospedar um bot do WhatsApp na Square Cloud, siga a sequência de configurações e pré-requisitos abaixo. Este guia cobre todo o processo, da configuração inicial ao deploy em produção.

Pré-requisitos

  • Conta Square Cloud: Cadastre-se através da página de cadastro usando seu e-mail.
  • Plano ativo: Garante recursos dedicados e desempenho otimizado para seu aplicativo. Confira nossos planos disponíveis e escolha o mais adequado às suas necessidades.
Este guia usa o runtime Node.js.

Crie o projeto

Você precisa do WhatsApp instalado no seu celular para vincular o bot à sua conta. Se você não tem o app, visite o site oficial do WhatsApp para download e configuração.
  1. Verificação do Node.js: Confirme se o Node.js está instalado em seu sistema. Caso contrário, baixe-o no site oficial do Node.js.
  2. Inicialização do projeto: Configure um novo projeto Node.js executando o comando de inicialização:
Terminal
  1. Instalação de dependências: Instale as bibliotecas essenciais para a funcionalidade do bot:
Terminal

Desenvolva o bot

Crie o arquivo index.js com a estrutura base do bot:
index.js

Configure a Square Cloud

Crie um arquivo squarecloud.app na raiz do projeto, ao lado do index.js. Ele diz à Square Cloud como rodar o seu bot:
squarecloud.app
  • MEMORY é a RAM do bot em MB. O whatsapp-web.js roda um navegador Chromium headless, então dê a ele pelo menos 1024 MB.
  • AUTORESTART=true inicia o bot de novo se ele travar. Veja como funciona o auto restart.
  • Não há SUBDOMAIN: o bot não serve páginas web.
Veja a referência do arquivo de configuração para todos os campos.

O que vai no ZIP

  • O index.js e os seus outros arquivos de código.
  • package.json.
  • squarecloud.app.
Deixe a node_modules de fora: a Square Cloud instala as suas dependências quando o bot inicia. Deixe de fora também as pastas .wwebjs_auth e .wwebjs_cache que uma execução no seu computador cria, para que o bot vincule a própria sessão na Square Cloud. Se você faz o upload pela CLI, liste as duas pastas no seu arquivo squarecloud.ignore.

Faça o deploy e verifique

Crie o ZIP descrito acima e faça o upload:

Via dashboard

1

Acesse a página de upload

Acesse a página de upload e envie seu arquivo zip.
2

Configure seu ambiente

Após fazer o upload do seu arquivo zip, você precisará configurar o nome, o arquivo principal ou o ambiente de execução e outras configurações do seu projeto.
Se você estiver enviando um projeto web, certifique-se de selecionar “Publicação na Web” e definir um subdomínio para o seu projeto.
3

Faça o deploy do projeto

Por fim, clique no botão “Deploy” para hospedar seu projeto na Square Cloud. Após o deploy, você poderá monitorar o status e os registros do seu projeto no dashboard.
Enviando aplicação para a Square Cloud
4

Confirme que seu app está no ar

Seu primeiro deploy geralmente leva menos de um minuto. No dashboard, aguarde o status da sua aplicação mudar para em execução e verifique os registros em busca de erros de inicialização.
Se você fez deploy de um site ou API, abra https://<seu-subdominio>.squareweb.app no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
Seu app não está iniciando? Veja o guia de solução de problemas para as causas e correções mais comuns.

Via CLI

Para usar esse método, seu projeto precisa de um arquivo de configuração chamado squarecloud.app na raiz. Ele informa à Square Cloud como executar a sua aplicação.

Guia do arquivo de configuração

Saiba como criar o arquivo de configuração squarecloud.app que define o ambiente da sua aplicação.
1

Instale a CLI

Instale a CLI da Square Cloud. Se você já a tem, execute o mesmo comando para atualizá-la:
2

Faça login

Execute o comando abaixo. Ele abre o seu navegador: aprove o login lá e a CLI está pronta. Não há nenhuma chave de API para copiar. Para scripts e CI, veja autenticação da CLI.
3

Envie o seu projeto

Na pasta do seu projeto, execute o comando abaixo. A CLI compacta a pasta atual, deixando de fora o que o squarecloud.ignore lista, e faz o upload:
Para enviar um zip que você mesmo criou, passe-o com --file:
4

Confirme que seu app está no ar

Seu primeiro deploy geralmente leva menos de um minuto. Verifique o status e os registros da sua aplicação diretamente pelo terminal:
Se você fez deploy de um site ou API, abra https://<seu-subdominio>.squareweb.app no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
Seu app não está iniciando? Veja o guia de solução de problemas para as causas e correções mais comuns.

Vincule a sua conta do WhatsApp

Abra os registros da aplicação no dashboard da Square Cloud. No primeiro boot, o bot imprime um QR Code ali: no seu celular, abra o WhatsApp, vá em Aparelhos conectados > Conectar um aparelho e escaneie-o. A mensagem Cliente WhatsApp inicializado com sucesso! confirma que a sessão está ativa. Em seguida, envie !ping de outro número para a conta do WhatsApp vinculada e confirme que ele responde com pong - Bot funcionando corretamente!. O LocalAuth salva a sessão na pasta .wwebjs_auth, então os reinícios reconectam sem um novo QR Code. Para vincular outro número, apague essa pasta e reinicie a aplicação.

Erros comuns

O QR Code não pode ser escaneado

O QR Code é desenhado com caracteres de texto, e o WhatsApp o substitui periodicamente, então escaneie o mais recente. Se o seu celular não conseguir lê-lo, diminua o zoom até o código inteiro caber na tela, ou mude o dashboard para o tema escuro.

O login parou de funcionar depois de uma atualização do WhatsApp Web

Atualize a biblioteca com npm install whatsapp-web.js@latest e faça o deploy de novo. Evite fixar uma versão antiga do WhatsApp Web com a opção webVersionCache: versões desatualizadas costumam quebrar o login.

O bot fica sem memória

O whatsapp-web.js roda um navegador Chromium headless, que precisa de memória. Mantenha a MEMORY em 1024 MB ou mais, ou mude para o Baileys, que roda sem navegador.

Use o Baileys em vez do whatsapp-web.js

O Baileys é uma biblioteca alternativa que se conecta diretamente à API multi-dispositivo do WhatsApp via WebSocket, sem iniciar um navegador headless. Como não há uma instância do Chromium/Puppeteer para rodar, ele usa significativamente menos RAM do que o whatsapp-web.js. O Baileys salva sua sessão (o arquivo creds.json e as chaves) na pasta auth por meio do useMultiFileAuthState. A Square Cloud mantém os arquivos da sua aplicação entre reinícios, então você só precisa escanear o QR Code de novo se sair da conta ou apagar essa pasta. Assim como a .wwebjs_auth, deixe uma pasta auth local fora do seu ZIP.
  1. Instale a biblioteca:
Terminal
  1. Crie um arquivo index.js usando makeWASocket e useMultiFileAuthState para carregar e persistir a sessão:
index.js
Como o Baileys não precisa de um navegador, seu arquivo de configuração na Square Cloud pode usar um valor de MEMORY menor do que o exemplo com whatsapp-web.js acima:
squarecloud.app

Próximos passos

A aplicação não inicia

Corrija módulos faltando, erros de memória e outras falhas na inicialização.

Evolution API

Rode uma API de WhatsApp que gerencia várias instâncias ao mesmo tempo.

Hospedagem de bots

O que a Square Cloud oferece para bots que rodam 24/7.
Para saber mais sobre o whatsapp-web.js, consulte a documentação oficial do whatsapp-web.js.

Contate-nos

Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão: a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com 4,9/5 em 402 avaliações no Google e Trustpilot.