Conectar un negocio

Cómo el comercio (cliente final tuyo) conecta su WhatsApp con Sabado Cloud usando el flow oficial de Meta de Embedded Signup — con o sin coexistencia con su WhatsApp Business app.

Embedded Signup

Cuando registrás un negocio nuevo en Tus negocios, te damos un link único:

https://waba.galgo.io/connect/TU_CUENTA/IDENTIFICADOR_DEL_NEGOCIO

Cuando el negocio entra al link, hace tres cosas:

  1. Login con su cuenta de Facebook (la que administra su WhatsApp).
  2. Selecciona o crea su WhatsApp Business Account.
  3. Acepta los permisos para que Sabado Cloud envíe y reciba mensajes en su nombre.

Cuando termina, en tu panel el negocio aparece como conectado y ya podés enviar mensajes a través de la API. También empezás a recibir message.received cuando el cliente final le escribe.

El link también sirve para reconectar: si el negocio ya estaba conectado, la página lo muestra y deja volver a hacer el flujo, que refresca la conexión sin perder plantillas ni historial. Es lo que hay que hacer cuando llega un tenant.update con PARTNER_REMOVED — por ejemplo, porque Meta desvinculó el número por inactividad. El link de cada negocio también viene en onboarding_url de GET /v1/tenants.

Te conviene chequear el estado del negocio antes de mandar mensajes para no recibir 409 tenant_not_connected — si el cliente abandonó el flow o falló algo, no se persisten credenciales (o queda marcado como no-conectado).

Conectar WhatsApp requiere que el plan de tu cuenta lo incluya y que quede cupo de números (los cupos son por cuenta, según el plan). Si no, el flow se bloquea antes de empezar con 403 plan_not_included o 422 quota_exceeded; con un plan pago sin suscripción activa, 402 subscription_required. Todo se resuelve desde el panel: pasate a un plan que incluya WhatsApp o activá la suscripción.

Coexistence vs migration

La vista default de Embedded Signup ofrece dos opciones al usuario. La elección la hace el dueño del comercio — vos como consumer no la controlás. En ambos casos el resultado para tu lado es el mismo: el negocio queda conectado y empezás a recibir mensajes. (Para números que van 100% por API sin app de celular, hay un tercer camino con link propio: el modo estándar.)

Coexistence (default, recomendado)

La WhatsApp Business app del cliente sigue funcionando en su celular y nuestra Cloud API recibe los mismos mensajes en paralelo. Es lo que vas a ver casi siempre — es el flow que onboardea clientes reales en producción hoy.

El cliente mantiene su forma de trabajar con WhatsApp del celular sin perder funcionalidad; tu integración recibe los mismos mensajes vía la API.

En este camino, dentro del flujo de Meta el dueño escanea un código QR con la WhatsApp Business app de su celular (como cuando vincula WhatsApp Web). Para que Meta lo acepte, el número tiene que venir usándose en la WhatsApp Business app hace al menos 7 días y la app tiene que estar en la versión 2.24.17 o posterior.

Migration (opción avanzada con confirmación strict)

El número se migra a Cloud API y la WhatsApp Business app del celular deja de funcionar para ese número. Revertir requiere ticket a Meta y suele tardar días.

Por la irreversibilidad, esta opción no se llega por accidente: el cliente tiene que escribir literalmente "migrar" en un campo de un modal de confirmación. Sin esa tecleada, el botón de confirmar queda deshabilitado.

Por qué la guard. Sin ella, un cliente que quería coexistence podía terminar migrando su número por accidente y perdía el uso de WhatsApp Business app en el celular de un día para el otro. El modal con confirmación textual existe específicamente para que la migración sea siempre un acto deliberado.

Cuando el callback de Sabado recibe el resultado del Embedded Signup, incluye un campo flow: "coexistence" | "migration" | "standard" en el log interno para que podamos auditar qué flujo se usó. No impacta en lo que tu integración recibe.

Modo estándar (sin coexistencia)

Para números que van a operar 100% por la API — números nuevos o líneas fijas que no están en la app de WhatsApp de ningún celular — existe una variante del link de connect que lanza el flujo estándar de Embedded Signup:

https://waba.galgo.io/connect/TU_CUENTA/IDENTIFICADOR_DEL_NEGOCIO?mode=standard

No lo uses con un número activo en la app de WhatsApp de un celular: el flujo estándar lo desconecta de esa app (equivale a migrarlo). Para esos números va el link default (coexistencia). La vista exige tildar una confirmación explícita antes de habilitar el botón, justamente para esto.