# WhatsApp Recordatorios — Guía de Configuración

El workflow `whatsapp_reminder.json` envía un recordatorio automático de WhatsApp a cada alumno que tiene clase programada para el día siguiente. Se ejecuta todos los días a las **20:00 hora Argentina (23:00 UTC)**.

---

## Requisitos externos (configuración única)

### 1. Meta for Developers

1. Ir a [developers.facebook.com](https://developers.facebook.com)
2. Crear una App de tipo **Business**
3. Agregar el producto **WhatsApp**
4. Dentro de WhatsApp > Getting Started: copiar el **Phone Number ID** y generar un **Token de acceso permanente**

### 2. Template de mensaje

Meta requiere que los mensajes de negocios usen templates aprobados.

Crear el template en **WhatsApp > Message Templates**:

- **Nombre:** `class_reminder`
- **Idioma:** Español (Argentina) — `es_AR`
- **Categoría:** Utility
- **Cuerpo del mensaje:**
  ```
  ¡Hola, {{1}}! 👑
  
  Te recordamos que tu clase de inglés es *mañana {{2}}* a las *{{3}} hs*.
  
  ¡Hasta pronto! - Alejandra / Kings & Queens 🎓
  ```
  - `{{1}}` = nombre del alumno
  - `{{2}}` = día y fecha (ej: "jueves 3 de abril")
  - `{{3}}` = horario de inicio (ej: "18:00")

> La aprobación tarda 24–48 horas. Una vez aprobado, el nombre exacto debe coincidir con el campo `name` en el workflow.

### 3. Números de teléfono de los alumnos

Los números deben estar guardados en el campo `phone` del perfil del alumno (en PocketBase > `student_profiles`).

- Formato recomendado: solo números sin `+` ni espacios, con código de país pero **sin el 0 provincial**  
  Ejemplo: `2914123456` (Bahía Blanca, sin el `0291`)
- El workflow antepone `549` automáticamente para el formato internacional de Argentina

---

## Configuración en n8n

### Variables de entorno (Settings > Variables)

| Variable | Descripción | Ejemplo |
|----------|-------------|---------|
| `KQ_PB_ADMIN_EMAIL` | Email del superusuario de PocketBase | `admin@kings.com` |
| `KQ_PB_ADMIN_PASSWORD` | Contraseña del superusuario | `••••••••` |
| `KQ_WHATSAPP_PHONE_ID` | Phone Number ID de Meta | `123456789012345` |
| `KQ_WHATSAPP_TOKEN` | Token de acceso de la app Meta | `EAABsbCS...` |

### Importar el workflow

1. En n8n, ir a **Workflows > Import from file**
2. Seleccionar `whatsapp_reminder.json`
3. Activar el workflow (toggle **Active**)

---

## Campo reminder_sent en PocketBase

El workflow marca cada clase con `reminder_sent: true` después de enviar el mensaje (evita duplicados si el workflow se ejecuta dos veces).

Agregar el campo corriendo el script de migración:
```bash
cd projects/kings-and-queens/scripts
python3 add_features.py
```

---

## Costo

- Meta ofrece **1,000 conversaciones gratuitas por mes** (mensajes de negocios iniciados por la empresa).
- Para un instituto con pocas decenas de alumnos el costo es **$0/mes**.
- Si se supera el límite, el costo por conversación en Argentina es ~USD 0,06.

---

## Test manual

Para probar sin esperar el cron:

1. En n8n, abrir el workflow
2. Hacer clic en **Execute Workflow**
3. Verificar que el nodo "PocketBase — Clases de mañana" devuelve clases
4. Verificar que WhatsApp recibe el mensaje en el número de prueba
