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:
- Login con su cuenta de Facebook (la que administra su WhatsApp).
- Selecciona o crea su WhatsApp Business Account.
- 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
- La verificación del número (SMS o llamada de voz, útil para líneas fijas) ocurre adentro del flujo de Meta.
- Al terminar, Sabado registra el número en Cloud API
automáticamente (PIN inicial
000000) — queda listo para enviar sin pasos extra. - Todo lo demás es igual: mismas credenciales, misma API, mismos webhooks de mensajes.
- Como no hay app de celular en paralelo, para estos números
no vas a recibir
message.echoni historial de coexistencia — esperado, no es un error.
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.