Saltar al contenido principal

Introducción

Para desarrollar y alojar un bot de WhatsApp en Square Cloud, es esencial seguir una secuencia estructurada de configuraciones y requisitos previos. Esta guía técnica cubrirá todo el proceso, desde la configuración inicial hasta el despliegue en producción.

Requisitos previos

  • Cuenta de Square Cloud: Regístrate a través de la página de registro usando tu correo electrónico.
  • Plan activo: Garantiza recursos dedicados y un rendimiento optimizado para tu aplicación. Consulta nuestros planes disponibles y elige el más adecuado para tus necesidades.
Esta guía usa el runtime de Node.js.

Crear el proyecto

Necesitas WhatsApp instalado en tu teléfono para vincular el bot a tu cuenta. Si no tienes la aplicación, visita el sitio web oficial de WhatsApp para descargarla y configurarla.
  1. Verificación de Node.js: Confirma que Node.js esté instalado en tu sistema. De lo contrario, descárgalo desde el sitio web oficial de Node.js.
  2. Inicialización del proyecto: Configura un nuevo proyecto de Node.js ejecutando el comando de inicialización:
Terminal
  1. Instalación de dependencias: Instala las bibliotecas esenciales para el funcionamiento del bot:
Terminal

Desarrollar el bot

Crea el archivo index.js con la estructura base del bot:
index.js

Configurar Square Cloud

Crea un archivo squarecloud.app en la raíz de tu proyecto, junto a index.js. Le indica a Square Cloud cómo ejecutar tu bot:
squarecloud.app
  • MEMORY es la RAM del bot en MB. whatsapp-web.js ejecuta un navegador Chromium sin interfaz, así que dale al menos 1024 MB.
  • AUTORESTART=true vuelve a iniciar el bot si falla. Consulta cómo funciona el auto restart.
  • No hay SUBDOMAIN: el bot no sirve páginas web.
Consulta la referencia del archivo de configuración para cada campo.

Qué va en el ZIP

  • index.js y tus demás archivos de código.
  • package.json.
  • squarecloud.app.
Deja fuera node_modules: Square Cloud instala tus dependencias cuando el bot inicia. Deja fuera también las carpetas .wwebjs_auth y .wwebjs_cache que crea una ejecución en tu computadora, para que el bot vincule su propia sesión en Square Cloud. Si subes con la CLI, lista las dos carpetas en tu archivo squarecloud.ignore.

Hacer deploy y verificar

Crea el ZIP descrito arriba y luego súbelo:

A través del panel

1

Accede a la página de subida

Accede a la página de subida y sube el archivo zip de tu proyecto.
2

Configura tu entorno

Después de subir tu zip, deberás configurar el nombre, el archivo principal o el entorno de ejecución y otros ajustes de tu proyecto.
Si estás subiendo un proyecto web, asegúrate de seleccionar “Publicación Web” y de definir un subdominio para tu proyecto.
3

Despliega tu proyecto

Por último, haz clic en el botón “Deploy” para alojar tu proyecto en Square Cloud.
Tras el despliegue, puedes monitorear el estado y los logs de tu proyecto desde el panel.
Subiendo aplicación a Square Cloud
4

Confirma que tu aplicación esté en vivo

Tu primer despliegue suele tardar menos de un minuto. En el dashboard, espera a que el estado de tu aplicación muestre “running” y revisa los logs por si hay errores de inicio.
Si desplegaste un sitio web o una API, abre https://<tu-subdominio>.squareweb.app en tu navegador: deberías ver tu aplicación respondiendo. Si desplegaste un bot, envíale un comando para confirmar que esté online.
¿La aplicación no inicia? Consulta la guía de solución de problemas para ver las causas y soluciones más comunes.

A través de la CLI

Para usar este método, tu proyecto necesita un archivo de configuración llamado squarecloud.app en su raíz. Le indica a Square Cloud cómo ejecutar tu aplicación.

Guía del archivo de configuración

Aprende a crear el archivo de configuración squarecloud.app que define el entorno de tu aplicación.
1

Instala la CLI

Instala la CLI de Square Cloud. Si ya la tienes, ejecuta el mismo comando para actualizarla:
2

Inicia sesión

Ejecuta el comando de abajo. Abre tu navegador: aprueba el inicio de sesión allí y la CLI queda lista. No hay ninguna clave de API que copiar. Para scripts y CI, consulta autenticación de la CLI.
3

Sube tu proyecto

Desde la carpeta de tu proyecto, ejecuta el comando de abajo. La CLI comprime la carpeta actual en un zip, dejando fuera lo que lista squarecloud.ignore, y lo sube:
Para subir un zip que creaste tú mismo, pásalo con --file:
4

Confirma que tu aplicación esté en vivo

Tu primer despliegue suele tardar menos de un minuto. Revisa el estado y los logs de tu aplicación directamente desde la terminal:
Si desplegaste un sitio web o una API, abre https://<tu-subdominio>.squareweb.app en tu navegador: deberías ver tu aplicación respondiendo. Si desplegaste un bot, envíale un comando para confirmar que esté online.
¿La aplicación no inicia? Consulta la guía de solución de problemas para ver las causas y soluciones más comunes.

Vincular tu cuenta de WhatsApp

Abre los logs de la aplicación en el dashboard de Square Cloud. En el primer arranque, el bot imprime allí un código QR: en tu teléfono, abre WhatsApp, ve a Dispositivos vinculados > Vincular un dispositivo y escanéalo. El mensaje WhatsApp client successfully initialized! confirma que la sesión está activa. Luego envía !ping desde otro número a la cuenta de WhatsApp vinculada y confirma que responde con pong - Bot working correctly!. LocalAuth guarda la sesión en la carpeta .wwebjs_auth, así que los reinicios se reconectan sin un nuevo código QR. Para vincular otro número, elimina esa carpeta y reinicia la aplicación.

Errores comunes

No se puede escanear el código QR

El código QR se dibuja con caracteres de texto y WhatsApp lo reemplaza periódicamente, así que escanea el más reciente. Si tu teléfono no puede leerlo, reduce el zoom hasta que todo el código quepa en la pantalla, o cambia el dashboard al tema oscuro.

El inicio de sesión dejó de funcionar después de una actualización de WhatsApp Web

Actualiza la biblioteca con npm install whatsapp-web.js@latest y vuelve a hacer deploy. Evita fijar una versión antigua de WhatsApp Web con la opción webVersionCache: las versiones desactualizadas suelen romper el inicio de sesión.

El bot se queda sin memoria

whatsapp-web.js ejecuta un navegador Chromium sin interfaz, que necesita memoria. Mantén MEMORY en 1024 MB o más, o cambia a Baileys, que funciona sin navegador.

Usar Baileys en lugar de whatsapp-web.js

Baileys es una biblioteca alternativa que se conecta directamente a la API multi-dispositivo de WhatsApp mediante un WebSocket, sin lanzar un navegador headless. Como no hay instancia de Chromium/Puppeteer que ejecutar, usa significativamente menos RAM que whatsapp-web.js. Baileys guarda su sesión (el archivo creds.json y las claves) en la carpeta auth mediante useMultiFileAuthState. Square Cloud conserva los archivos de tu aplicación entre reinicios, así que solo necesitas volver a escanear el código QR si cierras la sesión o eliminas esa carpeta. Igual que con .wwebjs_auth, deja fuera de tu ZIP una carpeta auth local.
  1. Instala la biblioteca:
Terminal
  1. Crea un archivo index.js usando makeWASocket y useMultiFileAuthState para cargar y persistir la sesión:
index.js
Como Baileys no necesita un navegador, su archivo de configuración en Square Cloud puede usar un valor de MEMORY menor que el ejemplo de whatsapp-web.js de arriba:
squarecloud.app

Próximos pasos

La app no inicia

Soluciona módulos que faltan, errores de memoria y otros fallos de inicio.

Evolution API

Ejecuta una API de WhatsApp que gestiona muchas instancias a la vez.

Hosting de bots

Lo que Square Cloud ofrece para bots que funcionan 24/7.
Para más información sobre whatsapp-web.js, consulta la documentación oficial de whatsapp-web.js.

Contáctanos

Si continúas enfrentando dificultades técnicas, nuestro equipo de soporte especializado está disponible para ayudarte. Contáctanos y estaremos encantados de ayudarte a resolver cualquier problema: la calidad del soporte es una gran parte de por qué los desarrolladores califican a Square Cloud con 4.9/5 en 402 reseñas en Google y Trustpilot.