## Visión general

Además del Embedded Signup (el inicio de sesión guiado de Meta), el canal **WhatsApp Cloud** también
puede conectarse en modo **manual**: proporcionas las credenciales de tu propia app de Meta (API key,
Phone Number ID y Business Account ID) y configuras el webhook directamente en el **Panel de Apps de
Meta** (WhatsApp → Configuración → Webhook). Este modo es ideal si ya tienes una app de Meta propia,
necesitas control total sobre las suscripciones del webhook o usas un token con permisos limitados.

La plataforma ofrece una única **URL de callback a nivel de app** que atiende todos tus números y
cuentas de WhatsApp Business (WABAs): cada evento se enruta automáticamente según el contenido del
payload. También hay una URL por número, si prefieres configurar número por número.

## Requisitos previos

- Perfil de **administrador** en la plataforma.
- Una **app de Meta** con el producto WhatsApp habilitado y acceso al Panel de Apps.
- **API key** (token de acceso permanente), **Phone Number ID** y **Business Account ID** del número.
- Opcional, pero muy recomendado: el **App Secret** de la app de Meta (Configuración de la app →
  Básico), usado para validar la firma `X-Hub-Signature-256` de cada webhook recibido.

## Paso a paso

1. En **Configuración → Bandejas de entrada**, crea una nueva bandeja y elige **WhatsApp**.
2. Selecciona el proveedor **WhatsApp Cloud** (modo manual, sin el login de Meta).
3. Completa el nombre de la bandeja, el número de teléfono, el **Phone Number ID**, el
   **Business Account ID** y la **API key**.
4. (Recomendado) Ingresa el **App Secret** para activar la verificación de firma de los webhooks.
5. Elige si la plataforma debe **registrar el webhook automáticamente** vía Graph API. Desactívalo si
   prefieres configurar el webhook manualmente en el Panel de Apps de Meta.
6. Al crear la bandeja, la pantalla muestra la **URL de callback** (a nivel de app y por número) y el
   **token de verificación**, con botones de copiar.
7. En el Panel de Apps de Meta, abre **WhatsApp → Configuración → Webhook**, pega la URL de callback
   y el token de verificación y haz clic en **Verificar y guardar**.
8. Suscribe los **campos del webhook**: como mínimo `messages`; recomendamos suscribir también los
   campos de plantillas, calidad del número, cuenta y seguridad para recibir los eventos
   administrativos en tiempo real.
9. Envía un mensaje de prueba al número y confirma que llega a la bandeja.

## Configuración y opciones

- **Pestaña Salud de la cuenta** (Configuración de la bandeja → Salud de la cuenta): muestra el panel
  de configuración manual del webhook con la URL, el token (enmascarado, con revelar/copiar), el
  estado del registro, el estado de la verificación de firma (HMAC) y el modo de registro (automático
  o manual).
- **Volver a suscribir**: rehace el registro del webhook vía Graph API (disponible cuando el registro
  automático está activo).
- **Rotar token**: genera un nuevo token de verificación. En modo manual, pega el nuevo valor en el
  Panel de Apps de Meta después de rotar.
- **Eventos recientes de la cuenta**: la misma pestaña lista los últimos eventos administrativos
  recibidos — estado de plantillas, calidad del número, alertas de la cuenta, capacidad del negocio y
  seguridad — con insignias de severidad.

## Casos de uso

- Empresas con **app de Meta propia** que no quieren (o no pueden) usar el Embedded Signup.
- Operaciones con **múltiples números y WABAs** en la misma app de Meta: una única URL de callback
  los atiende a todos; los lotes de eventos con varias entradas se procesan por completo.
- Tokens con **permisos limitados** (sin `whatsapp_business_management`): con el registro automático
  desactivado, la plataforma nunca llama a las APIs de suscripción de Meta.

## Consejos, límites y buenas prácticas

- Configura siempre el **App Secret**: sin él, los webhooks se aceptan sin verificación de firma (la
  plataforma registra una advertencia). El operador de la instalación puede exigir firmas en todas
  las bandejas de forma global.
- Suscribe los campos de **plantillas y calidad** en el Panel de Apps: los estados de plantillas
  (aprobada/rechazada/pausada) se reflejan en la plataforma en tiempo real, sin esperar la
  sincronización periódica.
- Si el Panel de Meta rechaza algún campo del webhook, guarda con un conjunto menor — el mínimo
  indispensable es `messages`.
- Al **rotar el token** con el registro automático desactivado, recuerda actualizar el valor en el
  Panel de Apps de Meta; de lo contrario, la verificación del webhook fallará en la próxima
  validación.

## Solución de problemas

- **"Verificar y guardar" falla en Meta**: revisa que la URL de callback se copió completa y que el
  token de verificación es exactamente el que muestra la plataforma (sin espacios).
- **Los mensajes no llegan**: confirma que el campo `messages` está suscrito en el Panel de Apps y
  que el número no está listado como inactivo por la operación.
- **Webhook marcado como divergente en la pestaña Salud de la cuenta**: la URL registrada en Meta es
  distinta de la esperada — usa **Volver a suscribir** (registro automático) o corrige la URL
  manualmente en el Panel de Apps.
- **Los eventos administrativos no aparecen**: los campos correspondientes (plantillas, calidad,
  cuenta, seguridad) deben estar suscritos en el webhook de la app de Meta.

## Ver también

- [WhatsApp Cloud con Embedded Signup de Meta](/hc/ajuda/articles/inboxes-channels-whatsapp-cloud-embedded-signup-es)
- [WhatsApp Cloud Coexistence](/hc/ajuda/articles/inboxes-channels-whatsapp-coexistence-es)
- [WhatsApp Inbox Suite: Plantillas, Flows y Llamadas](/hc/ajuda/articles/inboxes-channels-whatsapp-inbox-suite-es)