Ir al contenido principal

Instalación de WuzAPI con Docker

Este tutorial muestra la instalación mínima y funcional de WuzAPI usando Docker Compose.

Requisitos

  • Docker
  • Docker Compose
  • Puerto 8080 libre

Crear archivo .env

En el directorio del proyecto, crear el archivo .env:

WUZAPI_ADMIN_TOKEN=admin_CAMBIAR_ESTE_TOKEN

WUZAPI_GLOBAL_ENCRYPTION_KEY=CAMBIAR_ESTA_CLAVE

WUZAPI_GLOBAL_HMAC_KEY=CAMBIAR_ESTA_CLAVE

TZ=America/Asuncion
Nunca publiques estos valores en producción. Cambiá siempre los tokens y claves.

3️⃣ Crear docker-compose.yml

services:
  wuzapi:
    image: asternic/wuzapi
    container_name: wuzapi
    restart: unless-stopped
    ports:
      - "8080:8080"
    env_file:
      - .env
    volumes:
      - ./.env:/app/.env
      - wuzapi_data:/data

volumes:
  wuzapi_data:
El volumen wuzapi_data guarda la sesión de WhatsApp y evita perderla al reiniciar.

Levantar el contenedor

Desde el mismo directorio:

docker compose up -d

Verificar que WuzAPI esté activo

docker ps

El contenedor wuzapi debe aparecer en estado Up.


Probar acceso al API

curl http://localhost:8080/admin/users \
  -H "Authorization: admin_TU_TOKEN"
Si responde con JSON, la instalación fue exitosa.

✅ Instalación completada

WuzAPI ya está listo. Desde aquí podés crear usuarios, vincular WhatsApp y enviar mensajes.

Listar usuarios (verificar instalación)

Este endpoint permite verificar que el servicio esté activo y consultar los usuarios existentes.

curl http://localhost:8080/admin/users \
  -H "Authorization: admin_TU_ADMIN_TOKEN"

Respuesta esperada (ejemplo):

{
  "code": 200,
  "data": [
    {
      "connected": true,
      "loggedIn": true,
      "id": "2c49af474a7fb4078aef31eefc97d4db",
      "name": "user1",
      "jid": "595994757448:2@s.whatsapp.net",
      "token": "USER_TOKEN_1"
    }
  ],
  "success": true
}
Si obtenés esta respuesta, WuzAPI está funcionando correctamente.

Crear un usuario

Para crear un nuevo usuario de WhatsApp:

curl -X POST http://localhost:8080/admin/users \
  -H "Authorization: admin_TU_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "user1",
    "token": "USER_TOKEN_1"
  }'
El token generado será usado luego para enviar mensajes desde la API.

Comentarios