Skip to main content

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.

Creando el proyecto

Se requiere tener WhatsApp instalado y configurado para la autenticación y vinculación del bot. Si no tienes la aplicación, visita el sitio web oficial de WhatsApp para descargarla y configurarla.

Desarrollando el proyecto

  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
  1. Creación del archivo principal: Desarrolla 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.
Tu ZIP contiene index.js, package.json y squarecloud.app. Deja fuera node_modules: Square Cloud instala las dependencias durante el deploy. Consulta la referencia del archivo de configuración para cada campo.

Desplegando

Tras preparar los archivos de tu proyecto, ya puedes subirlos a Square Cloud y alojar tu proyecto. Para ello, crea un archivo ZIP que contenga todos los archivos de tu proyecto.

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.

Probando el bot

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!.
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.
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.
¿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.

Usando 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.
  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

Recursos adicionales

Para profundizar tus conocimientos sobre el desarrollo de bots de WhatsApp usando whatsapp-web.js, consulta la documentación oficial de la biblioteca whatsapp-web.js. La documentación ofrece guías técnicas detalladas, tutoriales avanzados y una referencia completa de la API para maximizar el potencial de tu implementación.

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.

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.