Menu

Tree [9044ca] master /
 History

HTTPS access


File Date Author Commit
 .claude 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 config 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 deploy 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 monitor 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 .env.example 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 .gitignore 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 README.md 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 manage.py 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health
 requirements.txt 2026-06-16 cristian.gaitan564 cristian.gaitan564 [9044ca] App Whatsapp Health

Read Me

WhatsApp Health

App Django para monitorear el estado de los servicios de la API de WhatsApp Business. Combina estas fuentes:

  1. Estado general de la plataforma (sin credenciales) — fuente principal: el feed RSS oficial de la página de estado de Meta (outage-events-feed-whatsapp-business-api.rss), que es el mecanismo de suscripción que Meta documenta y soporta. Si el RSS falla, la app recurre como respaldo al JSON (/data/orgs.json) que alimenta esa misma página: son datos oficiales de Meta (mismo dominio, misma información), pero accedidos vía una interfaz no documentada. Funciona sin token ni configuración.
  2. Estado de tu cuenta (opcional, requiere token): el endpoint health_status de la Graph API indica si tu número/cuenta puede enviar mensajes y por qué no en caso de problemas.

Inicio rápido (sin credenciales)

pip install -r requirements.txt
python manage.py migrate
python manage.py runserver

Abre http://127.0.0.1:8000/ y pulsa "Verificar ahora". Listo: ya monitorea el estado global de la plataforma.

Chequeo de cuenta propia (opcional)

Copia .env.example a .env y completa:

  • WHATSAPP_ACCESS_TOKEN: token de acceso (recomendado: token de usuario del sistema, permiso whatsapp_business_management).
  • WHATSAPP_PHONE_NUMBER_ID o WHATSAPP_WABA_ID.

Con esto el dashboard añade el estado de tu número: calidad, límites de mensajería, entidades bloqueadas y soluciones sugeridas.

Funcionalidades

  • Dashboard (/): estado global por servicio de la plataforma + estado de tu cuenta (si está configurada) + historial de chequeos.
  • Endpoint JSON (GET /api/status/): ejecuta los chequeos y devuelve el resultado. Responde 200 si todo está disponible y 503 si no — ideal para Uptime Kuma, Pingdom o similar.
  • Comando de terminal: python manage.py check_whatsapp ejecuta los chequeos y sale con código 0/1. Útil para cron o el Programador de tareas de Windows.
  • Admin de Django (/admin/): historial completo (solo lectura). Crea un usuario con python manage.py createsuperuser.

Estados posibles

Estado Significado
AVAILABLE Todos los servicios operan con normalidad.
LIMITED Hay alguna disrupción menor o restricción (en la plataforma o en tu cuenta).
BLOCKED Disrupción mayor en la plataforma, o tu número no puede enviar mensajes.
ERROR No se pudo consultar la fuente (sin conexión, token inválido, formato inesperado).

Nota sobre las fuentes de datos

  • El feed RSS (https://metastatus.com/outage-events-feed-whatsapp-business-api.rss) es la vía de suscripción oficial de la página de estado de Meta. Solo lista servicios que han tenido incidentes; la app toma la actualización más reciente de cada servicio (si es "Resolved", el servicio opera con normalidad). Los servicios que nunca aparecen en el feed se asumen sanos.
  • El JSON de respaldo (https://metastatus.com/data/orgs.json) también contiene datos oficiales de Meta — es el archivo del que la propia página de metastatus saca lo que muestra —, pero es una interfaz no documentada (un detalle de implementación del frontend), así que su ruta o formato podrían cambiar sin aviso. Solo se consulta si el RSS falla, y el dashboard indica cuándo se usó. A diferencia del RSS, incluye la lista completa de servicios aunque nunca hayan tenido incidentes.
  • Si ambas fuentes fallan, la app lo reporta como ERROR con el detalle de cada fallo.
Auth0 Logo