← Blog

·

Coexistencia en WhatsApp: cómo usar el mismo número en la app Business y en la API oficial

Actualizado el 29/10/2026

La coexistencia es la función de Meta que conecta un número ya activo en la app WhatsApp Business a la API de WhatsApp (Cloud API) sin sacarlo de la app. Después de la integración, la empresa sigue conversando desde el celular y, al mismo tiempo, envía y recibe mensajes por la API, con el historial sincronizado entre ambos. La conexión se hace mediante el Registro insertado (Embedded Signup) de un socio de Meta y tiene limitaciones: velocidad de envío fija de 20 mensajes por segundo, algunas funciones de la app desactivadas y la obligación de abrir la app con regularidad.

En la documentación de Meta, la función aparece como «Integrar usuarios de la app WhatsApp Business» (Onboard WhatsApp Business app users), y Meta aclara que a veces se la llama «Coexistence» (coexistencia) en los canales de soporte y en la documentación para socios.

Por qué existe la coexistencia

Antes de ella, poner un número en la API de WhatsApp exigía eliminarlo de la app. La documentación de números de la Cloud API todavía dice que los números que ya se usan en WhatsApp no pueden registrarse si antes no se eliminan; la coexistencia, documentada en la página de integración, es el camino para los números de la app WhatsApp Business. Para las pequeñas empresas, el camino antiguo significaba perder el historial y la forma de trabajar desde el celular.

Con la coexistencia, el número de la app Business también se vuelve un número de la API. El dueño sigue respondiendo desde el celular, y un sistema conectado (CRM, chatbot, agente de IA, plataforma de notificaciones) empieza a operar en el mismo número.

Qué pasa con la cuenta en la integración

Cuando el cliente termina el flujo, Meta convierte la cuenta de WhatsApp Business existente en una cuenta de mensajes compatible. En la práctica:

  • El ID que devuelve el Registro insertado es el mismo ID numérico que la cuenta tenía antes de la conversión: en el campo waba_id en la versión 4 y en el campo messaging_account_ids en la versión 5.
  • No se crea una cuenta de mensajes separada para el socio.
  • La cuenta de WhatsApp vinculada al número y la cuenta de mensajes convertida se comparten con el socio, pero siguen en el portafolio empresarial del cliente.
  • Se omite el paso de registro del número, porque ya está registrado.

Desde el 23/09/2026, Meta separa la antigua WABA en cuenta de WhatsApp (el número) y cuenta de mensajes (plantillas, facturación, webhooks). Si esa estructura es nueva para ti, mira cuenta de WhatsApp vs. cuenta de mensajes.

¿Quieres probar mientras lees? Crea tu cuenta en Vectalk y envía el primer mensaje por la API oficial. Crear cuenta gratis →

Requisitos

RequisitoDetalle
Versión de la appWhatsApp Business 2.24.17 o superior en el celular del cliente
Quién integraUn Solution Partner o Tech Provider de Meta
FlujoRegistro insertado con registro de sesión
WebhooksEndpoint capaz de recibir y procesar los campos adicionales (ver abajo)
Versión del Registro insertadoLas versiones 2 y 3 están descontinuadas; en la versión 5 (20/10/2026) la coexistencia viene activada por defecto

La última fila cambió hace poco. Meta anunció que las versiones 2 y 3 del Registro insertado quedarían obsoletas el 15/10/2026 y, el 20/10/2026, lanzó la versión 5, en la que la integración de usuarios de la app WhatsApp Business está activada por defecto. Las integraciones antiguas deben actualizarse.

La página de Meta sobre esta integración no enumera restricciones por país.

Cómo funciona el flujo para el cliente

  1. En el Registro insertado, el cliente elige conectar una cuenta existente de la app WhatsApp Business e ingresa el número.
  2. WhatsApp muestra un código de verificación.
  3. El cliente recibe en la app un mensaje de la cuenta comercial oficial de Facebook, toca Conectar y luego Conectar a la plataforma comercial.
  4. La app pregunta si quiere compartir el historial de conversaciones con el socio.
  5. El cliente pega el código y termina el flujo.

Del lado del socio, el Registro insertado devuelve los IDs y un código de token intercambiable, como en cualquier integración. La diferencia es el evento de la sesión, que en la versión 4 se ve así:

{
  "data": { "waba_id": "<CUSTOMER_WABA_ID>" },
  "type": "WA_EMBEDDED_SIGNUP",
  "event": "FINISH_WHATSAPP_BUSINESS_APP_ONBOARDING"
}

En la versión 5, el evento mantiene el mismo nombre cuando el número viene de la app (is_on_biz_app: true), pero data cambia: waba_id da lugar a messaging_account_ids, junto con phone_number_id, is_on_biz_app y business_id.

En la versión 4, la función se activa con featureType dentro del objeto extras del código de inicio del Registro insertado (FB.login). En esta versión, sessionInfoVersion se ignora y siempre es 3:

FB.login(fbLoginCallback, {
  config_id: "<CONFIGURATION_ID>",
  response_type: "code",
  override_default_response_type: true,
  extras: {
    setup: {},
    featureType: "whatsapp_business_app_onboarding"
  }
});

En la versión 5 (version: "v5" en extras), featureType ya no es necesario, porque la opción viene activada por defecto. Para desactivarla, agrega la función a features con enabled: false; según Meta, la exclusión vale aunque también se envíe featureType:

FB.login(fbLoginCallback, {
  config_id: "<CONFIGURATION_ID>",
  response_type: "code",
  override_default_response_type: true,
  extras: {
    version: "v5",
    features: [
      { name: "whatsapp_business_app_onboarding", enabled: false }
    ]
  }
});

Sincronización: plazo de 24 horas

Después de la integración, el socio tiene 24 horas para sincronizar contactos e historial. Si se pierde el plazo, el cliente debe desconectarse y repetir el flujo. Cada sincronización solo se puede solicitar una vez.

La sincronización usa la API de datos de la app (smb_app_data), primero para los contactos y luego para el historial de mensajes:

curl -X POST "https://graph.facebook.com/<API_VERSION>/<BUSINESS_PHONE_NUMBER_ID>/smb_app_data" \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "messaging_product": "whatsapp", "sync_type": "smb_app_state_sync" }'

curl -X POST "https://graph.facebook.com/<API_VERSION>/<BUSINESS_PHONE_NUMBER_ID>/smb_app_data" \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "messaging_product": "whatsapp", "sync_type": "history" }'

La respuesta trae un request_id, que conviene guardar para tickets de soporte. El historial cubre hasta seis meses de conversaciones individuales y solo se envía si la empresa autorizó compartirlo; si lo rechazó, el webhook history llega con el error 2593109. Meta recomienda pedirle al cliente que mantenga la app abierta durante el proceso. El detalle de fases, bloques y multimedia está en qué se sincroniza y qué no en la coexistencia.

Webhooks adicionales

Además de los campos que ya tienes suscritos, la coexistencia exige suscribir cuatro campos de la cuenta de mensajes:

CampoQué trae
account_updateCambios en el ciclo de vida de la cuenta, incluida la desconexión (PARTNER_REMOVED)
historyMensajes antiguos enviados y recibidos por el cliente
smb_app_state_syncContactos nuevos y actuales de la app
smb_message_echoesMensajes que el cliente envía desde la app después de la integración

El smb_message_echoes es el que mantiene tu sistema al día: cuando el dueño responde desde el celular, llega el evento y guardas el mensaje en el historial del contacto. Sin él, el sistema solo ve la mitad de la conversación.

Para entender la estructura de los eventos y armar un endpoint robusto, mira Webhooks de la API de WhatsApp: guía práctica.

Qué cambia en la app WhatsApp Business

Meta publica una tabla que compara las funciones antes y después. Los puntos principales:

Función de la appDespués de la integración¿Disponible por la API?
Conversaciones individualesSiguen; ahora se pueden editar y eliminar mensajesSí, reflejadas entre app y API
ContactosSin cambiosSí, sincronizados
GruposSin cambios en la appNo se sincronizan
Mensajes temporalesDesactivados en conversaciones individualesNo
Ver una vezDesactivadoNo
Ubicación en tiempo realDesactivadaNo
Listas de difusiónDesactivadas; las existentes quedan en solo lecturaNo
Llamadas de voz y videoSin cambios en la appNo
Catálogo, pedidos, estadosSin cambios en la appNo
Saludo, ausencia, respuestas rápidas, etiquetasSin cambios en la appNo
Dispositivos vinculadosSe desvinculan en la integración; se pueden volver a vincularExcepto WhatsApp para Windows y WearOS

Sobre los dispositivos vinculados: la app admite hasta cuatro dispositivos acompañantes. Los mensajes que un usuario de WhatsApp envía desde un dispositivo acompañante no compatible no disparan el webhook de mensajes, así que no aparecen en tu sistema.

La API de Grupos tampoco está disponible para números de la app WhatsApp Business, según la documentación de grupos.

Limitaciones que afectan la operación

Velocidad de envío fija en 20 mps

Los números que usan la app y la API al mismo tiempo tienen un throughput fijo de 20 mensajes por segundo. Los números comunes de la Cloud API empiezan en 80 mps y pueden subir automáticamente hasta 1.000 mps si son elegibles. Para envíos grandes de notificaciones, esto pesa.

La inactividad corta la conexión

El webhook account_update con el evento PARTNER_REMOVED informa el motivo de la desconexión. Entre los motivos documentados:

  • PRIMARY_INACTIVITY: el dispositivo principal estuvo inactivo unos 14 días;
  • COMPANION_INACTIVITY: un dispositivo acompañante estuvo inactivo unos 30 días;
  • BUSINESS_DOWNGRADE: el número se registró en WhatsApp común (Messenger);
  • CHANGE_NUMBER y USER_RE_REGISTERED: cambio de número o nuevo registro en otro dispositivo;
  • ACCOUNT_DISCONNECTED: la cuenta se desconectó por una medida de cumplimiento (enforcement) o porque la empresa eliminó su cuenta de WhatsApp.

En la práctica, pídele al cliente que abra la app en el celular principal con regularidad. Maneja el evento PARTNER_REMOVED en tu sistema y avisa al equipo, en lugar de descubrir la caída por los mensajes que dejaron de salir.

Desconexión solo desde la app

El endpoint para anular el registro (Deregister) no funciona con números en coexistencia. El cliente se desconecta desde la app, en Configuración > Cuenta > Plataforma comercial > Desconectar cuenta.

Error 131060 en el primer mensaje

Meta documenta que los mensajes recibidos pueden llegar con el error 131060 cuando un usuario escribe por primera vez (algo común después de un clic en un anuncio) o usa un dispositivo acompañante no compatible. En el primer caso, el error suele resolverse en segundos. En el segundo, pídele a la empresa que revise el mensaje en la app.

Precios y ventana de atención en la coexistencia

  • Los mensajes enviados desde la app siguen siendo gratuitos.
  • Los mensajes enviados por la API siguen la tabla de la Cloud API, por categoría y país.
  • La ventana de atención de 24 horas solo se abre con mensajes recibidos después de la integración. Si el cliente escribió antes, la respuesta por la API debe ser una plantilla.
  • Los mensajes enviados desde la app no abren, no extienden y no afectan las ventanas ni los precios de la API.

Para números en Brasil, las tarifas desde el 01/10/2026 son R$ 0,3217 por mensaje de marketing y R$ 0,0350 por mensaje de utilidad, autenticación o servicio (en reales, BRL). Cada número de teléfono comercial tiene 1.000 mensajes de servicio entregados gratis al mes, con cobro a partir del 1.001, y las plantillas de utilidad enviadas dentro de la ventana de atención ahora se cobran (solo siguen gratis dentro de una ventana de punto de entrada gratuito abierta). Detalles en precio de la API de WhatsApp en Brasil; para otros mercados, mira precio de la API de WhatsApp por país. La fuente es la página oficial de precios de Meta.

Cómo comprobar si el número está en coexistencia

Consulta los campos is_on_biz_app y platform_type del número:

curl "https://graph.facebook.com/<API_VERSION>/<PHONE_NUMBER_ID>?fields=is_on_biz_app,platform_type" \
  -H "Authorization: Bearer <ACCESS_TOKEN>"
{ "is_on_biz_app": true, "platform_type": "CLOUD_API", "id": "106540352242922" }

Si is_on_biz_app es true y platform_type es CLOUD_API, el número opera en la app y en la API.

Cuándo vale la pena la coexistencia

Resuelve bien el caso de quien ya tiene clientes conversando con el número de la app y quiere automatizar parte de la atención o de las notificaciones sin cambiar de número. Funciona para clínicas, tiendas y prestadores de servicios donde el dueño o el equipo todavía responde desde el celular. Si piensas conectar un CRM al número, lee coexistencia con CRM y límites de mensajes.

Es menos indicada cuando:

  • el volumen de envío exige más de 20 mensajes por segundo;
  • la operación depende de listas de difusión, mensajes temporales o grupos por la API;
  • no hay nadie que mantenga activo el celular principal.

Coexistencia y Vectalk

Vectalk ofrece coexistencia: el número sigue en la app WhatsApp Business y también funciona por la API de WhatsApp. Los números se conectan mediante el Registro insertado de Meta, y los payloads y webhooks son los mismos de la documentación de Meta, así que history, smb_app_state_sync y smb_message_echoes llegan a las URLs que registras con POST /api/webhooks. El cobro es una mensualidad más saldo prepago: Vectalk coloca su propia línea de crédito en el número, cada mensaje entregado se descuenta del saldo y no necesitas registrar una tarjeta en Meta. Consulta la documentación.

Para crear una cuenta, usa el registro; las dudas pueden ir por la página de contacto. Si todavía estás decidiendo entre la API y la app, la guía de la API oficial de WhatsApp te ayuda a comparar.

Preguntas frecuentes

¿La coexistencia funciona con WhatsApp común (Messenger)?

No. La función es para números en la app WhatsApp Business. Si el número está en WhatsApp común, puedes pasarlo antes a la app Business, o eliminar la cuenta de la app y registrar el número directamente en la Cloud API; mira cómo liberar un número que ya está en WhatsApp.

¿Voy a perder el historial de conversaciones?

En la app, no. Para el sistema conectado a la API, Meta permite sincronizar hasta seis meses de conversaciones individuales, si la empresa lo autoriza, dentro de las 24 horas posteriores a la integración. Los grupos no se sincronizan.

¿Puedo seguir enviando mensajes desde el celular?

Sí. Los mensajes enviados desde la app siguen siendo gratuitos y aparecen en el sistema conectado mediante el webhook smb_message_echoes.

¿Puedo hacer la coexistencia con una integración directa, sin socio?

La documentación de Meta pone como requisito ser Solution Partner o Tech Provider. Una empresa que solo integra su propio número normalmente lo hace a través de un proveedor.

¿Por qué el número se desconectó solo de la API?

Revisa el evento PARTNER_REMOVED en el webhook account_update. El motivo más común es la inactividad del celular principal durante unos 14 días (PRIMARY_INACTIVITY). Al reconectar con el mismo socio se dispara el evento ACCOUNT_RECONNECTED.


Fuentes oficiales consultadas el 29/10/2026: Onboard WhatsApp Business app users, Números de teléfono comerciales, API de Grupos, Precios, Changelog, Evolución del modelo de cuentas, Versiones del Registro insertado, Versión 5.

Pon a funcionar el WhatsApp oficial de tu empresa

Crea tu cuenta, conecta tu número a la API oficial (puedes mantener la app con coexistencia) y empieza a atender y enviar mensajes.