Biométricos, proveedores BSP y el camino sin verificar (2026-09-26)
Continuación de [CREDENCIAL].md.
Origen: “no hay proveedores que hagan la conexión? de verdad no quiero dar mis biométricos a meta”.
1. El hallazgo que reabre la decisión: estás mezclando dos controles
Business verification e identity verification son gates distintos.
| Business verification | Identity verification | |
|---|---|---|
| ¿De quién? | De la empresa | De una persona |
| ¿Qué pides? | Nombre legal, dirección, registro, y un documento del negocio (licencia, constancia de situación fiscal, estado de cuenta bancario, acta de constitución) | INE/passport + selfie o video |
| ¿Dónde vive? | Security Centre de tu Business Portfolio | Tu cuenta personal |
| ¿Desbloquea WhatsApp API? | Sí | No es el gate de WhatsApp |
El gate de WhatsApp Business Platform es el de negocio. La evidencia: la documentación de Delvia separa explícitamente ambos y señala que para “WhatsApp Business Platform o acceso sensible de developer” corresponde business verification — “these gates depend on confirming the legal business, not an individual’s ID”.
Consecuencia práctica: lo que temes entregar (tu INE, tu selfie) pertenece al otro control, que se dispara por recuperación de cuenta o por otros productos, no por montar la API de WhatsApp. La verificación de negocio pide documentos de la empresa, no tus biométricos.
Matiz honesto: no está 100% bajo tu control. Meta puede pedir confirmación de identidad en tu cuenta personal por razones ajenas a este proyecto. Si eso ocurre, es un gate independiente y se decide aparte, no es el precio de entrada de WhatsApp.
2. Puedes empezar SIN verificar. La decisión se difiere (o se cancela)
Confirmado por docs de Bird y 360dialog: un portfolio sin verificar conecta y envía. “You do not need it to start… both connects and sends while that portfolio is unverified. Verification is what lifts the ceilings you hit once volume grows.” 360dialog: “While not mandatory for all businesses, verification is required to scale.”
Lo que pierdes sin verificar, y es poco para un piloto:
| Cota | Sin verificar | Verificado |
|---|---|---|
| Números registrados | 2 | 20 |
| Mensajería (usuarios únicos/24h) | 250 | 2,000 → 10,000 → 100,000 → sin límite (escala automática) |
| Plantillas por WABA | 250 | 6,000 |
| Nombre de visualización | Sí se puede (desde abril 2024, pasando quality + display-name review) | Sí |
| Scaling automático | No | Sí |
250 usuarios únicos/24h y 250 plantillas sobran para pilotear 1-2 clínicas. No verifiques ahora.
3. Y hay un camino para crecer SIN verificar nunca
Meta da dos rutas al escalado de 2,000. La segunda no lleva documentos:
- Verificar el negocio (o que un partner lo verifique).
- Enviar 2,000 mensajes entregados fuera de la ventana de servicio, a destinatarios únicos, en 30 días móviles, con templates de alta calidad.
Mismo destino (2,000), mismo número, cero biométricos — solo tarda más. Es la ruta si la verificación es un no. Se documenta en Messaging Limits.
4. Proveedores: qué te ahorran y qué te quitan
Sí hay proveedores, pero ninguno te exime de entregar documentos de la empresa — la verificación es de Meta sobre el negocio, un intermediario no puede sustituirla. Lo que sí hacen:
A) PLBV — Partner-led Business Verification (lo que realmente quieres)
Un Solution Partner aprobado junta los documentos de verificación de tus clientes y los presenta en tu nombre. Decisiones en minutos en vez de días.
- Endpoint:
POST /<BUSINESS_PORTFOLIO_ID>/self_certify_whatsapp_business - Máximo 3 documentos, 5 MB c/u, PDF/JPEG/JPG/PNG
- Se dispara al final de un Embedded Signup, tras registrar el número, o después contactando soporte
- 360dialog lo posiciona como “the fastest, easiest and most reliable way” y da “full WhatsApp API capabilities from day one”
- Embedded Signup v2 muere el 15-oct-2026 → usa v4
Documentos aceptados (varian por país; los de “Other countries” aplican a México): licencia o permiso del negocio, constancia de registro fiscal/VAT, certificado de constitución, estado de cuenta bancario, recibo de servicio (luz/teléfono). Idiomas: español está en la lista. No se pide documento de identidad personal por esta vía.
B) BSP con números gestionados (white-label) — la tentación y el problema
360dialog, Twilio, MessageBird, Infobip, Sinch, Gupshup, MessageAPI, Zenvia, Route Mobile, WATI, respond.io, Interakt, WebEngage, ManyChat, AiSensy, Yellow.ai, DoubleTick, Trengo, Freshworks.
Ventaja: te ahorran el alta, gestionan plantillas y onboarding. Y sí, evitan que tú toques el proceso.
El problema, y es serio para tu caso: los números gestionados viven en el portfolio del BSP, no en el tuyo. En el churn dependes de que te devuelvan o muevan el número, y el WABA con su historial no es tuyo. Para un piloto de 2 clientes puede ser la vía más rápida; para un producto que vendes como servicio recurrente, es una palanca en contra. Aplica la misma lógica del §4 del documento anterior: lo que no es tuyo, no es tuyo.
C) La trampa
Cualquier oferta de “número de WhatsApp para tu negocio” sin onboarding de Meta por detrás, o un número compartido entre clientes. O es un BSP con lo que implica, o es un gray market con tus datos y los de tus clientes.
5. Reordenamiento de la decisión (revisa §6 del documento anterior)
El runbook anterior asumía “verificar el negocio” como paso 2 bloqueante. Se reordena: la verificación no es el primer paso, es una decisión diferida.
- Ya: crear el Business Portfolio (sin verificar). Documentos del negocio a la mano, pero no los subas.
- Ya: crear la App → producto WhatsApp → token con
whatsapp_business_managementywhatsapp_business_messaging. Secret, no repo. - Ya: crear el WABA, añadir 1 número, registrarlo por API
(
POST /<PHONE_NUMBER_ID>/register, pin de 6 dígitos, 10 intentos/72h). - Ya: webhook único, routing por
metadata.phone_number_id, tenant en D1. - Decisión posterior, con cliente pagando delante: ¿PLBV (si ya hay Solution Partner y urge escalar) o ruta de volumen sin verificar? Solo entonces los documentos del negocio entran.
- Cuestión separada, si algún día aparece: identity verification con INE + selfie. No es el gate de WhatsApp; decidir entonces, no ahora.
6. Costo que no se había contado: los números
El número de WhatsApp que ya usa una clínica con sus pacientes no se puede transferir: la API requiere números que tú controles. Cada cliente = un número nuevo que tú registras (línea/SIM física o número fijo virtual) con su verificación por código. El costo por cliente no es cero, y crece con el cliente.
Para 2 clientes piloto: 2 números y 2 WABAs (o 1 WABA con 2 números) bajo un portfolio, sin verificar. Eso es todo lo que hace falta para empezar.
7. La respuesta: económico + soberano = Cloud API directo
Tres variables, medidas:
7.1 Soberanía sobre el canal: imposible (no es opción de compra)
Los mensajes tienen que pasar por la red de Meta porque la red es de Meta. Ningún proveedor, ni ningún precio, cambia eso. Si el requisito fuera “que ningún dato de mis pacientes toque un servidor de Meta”, con WhatsApp es imposible — no se negocia. Cualquier proveedor que prometa eso te está mintiendo.
Lo que sí se decide es cuánto de tu negocio depende de ese canal. Y por eso web-en-paralelo no es un feature: es el seguro.
7.2 Soberanía sobre el activo: sí, y es lo que realmente se negocia
| Directo (tu portfolio) | BSP white-label | |
|---|---|---|
| Corpus + embeddings | Tuyo | Tuyo (vive en tu infra) |
| Harness / prompts | Tuyo | Tuyo |
| Número | Tuyo | Del BSP |
| WABA e historial | Tuyo | Del BSP |
| Plantillas | Tuyas | Del BSP |
| Churn | No pierdes nada | Dependes de que te devuelvan el número |
| Datos de pacientes en tránsito | Pasan por Meta (única red disponible) | Pasan por Meta y por el BSP |
La sopa: hay dos capas. Capa 1 = el activo (tu producto). Capa 2 = el conducto (Meta, no negociable). En capa 2 no hay alternativa; en capa 1 el BSP te quita la mitad gratis.
7.3 Económico: el umbral
| Concepto | Directo | BSP white-label típico |
|---|---|---|
| Plataforma | $0 | $50-500 USD/mes (según plan) |
| Markup por mensaje | $0 | $0.005-0.05 USD/msg sobre la tarifa de Meta |
| Números | $150-300 MXN/mes c/u (propio o virtual) | Alquilados, más caro |
| Inferencia | $0 (HF Space / Ollama, ya planeado) | $0 o markup |
| Templates | Gratis | Gratis o incluidos en plan |
A volumen bajo la ventaja del BSP no existe: es un gasto fijo sin clientes que lo justifiquen. El markup por mensaje solo se justifica cuando hay tráfico que absorberlo — que es exactamente el mes 7, no el mes 1. Contratar un BSP antes del primer cliente es comprar escala que no vas a usar.
7.4 La regla de diseño que se sigue
El canal solo puede producir respuestas, nunca devolver documentos.
Un RAG mal diseñado es un buscador de los documentos de la clínica con otra interfaz. El corpus se genera en tu infra, se responde en el canal, y el documento nunca cruza. Esto aplica igual a WhatsApp y a web, y es la misma regla del §5 del primer documento. La red de seguridad (web en paralelo) tiene sentido solo si el corpus ya está a salvo del canal.
8. Precio total (calculado 2026-09-26)
8.1 Tarifas de Meta para México (rate card vigente y del 1-oct-2026)
Las cifras coinciden en tres fuentes independientes (EvaAI 2026-09-18, WASync, HiQBot 2026-09-08), todas leídas de las cards de Meta:
| Categoría (destino México) | Hasta 30-sep-2026 | Desde 1-oct-2026 |
|---|---|---|
| Marketing | $0.0305 USD / MXN 0.5614 | $0.0397 USD / MXN 0.7298 (+30%) |
| Utility fuera de ventana 24h | $0.0085 / MXN 0.1565 | igual |
| Utility dentro de ventana 24h | Gratis | $0.0085 / MXN 0.1565 |
| Authentication | $0.0085 / MXN 0.1565 | igual |
| Service dentro de allowance | Gratis (sin tope) | Gratis, 1,000/mes por número |
| Service más allá de 1,000/mes por número | Gratis | $0.0085 / MXN 0.1565 |
| Ventana free entry point 72h (click-to-WhatsApp ad) | Gratis | Gratis (no cambia) |
Sin volumen discount para service ni marketing. El discount de utility empieza en 1,000,000/mes (5%) — irrelevante a esta escala.
8.2 La trampa de diseño del 1-oct (importante)
Los utility templates dentro de la ventana de 24h se cobran Y no cuentan contra la allowance de 1,000 service messages. Los service messages free-form sí la consumen.
Consecuencia de arquitectura: dentro de la ventana abierta, responde con free-form (service), no con utility templates. Un “tu cita es mañana” enviado como utility template dentro de la ventana se factura de inmediato; el mismo texto como respuesta free-form entra en los 1,000 gratis. Es la diferencia entre $0 y MXN 0.1565 por mensaje, y en una clínica que manda recordatorios eso se multiplica.
8.3 El total
| Concepto | Costo | Nota |
|---|---|---|
| Meta plataforma / Cloud API | $0 | Sin fee de plataforma ni por asiento |
| Verificación de negocio | $0 | Documentos. Y se puede diferir (§2) |
| Verificación de número por SMS | ~$2-5 MXN c/u | 2 SMS, una vez |
| Números (2) | ~$300-800 MXN/mes | Estimado, no verificado. SIM/linea propia $150-400 MXN c/u |
| Cloudflare Workers + D1 + R2 + KV | $0 en free tier | $5/mes si la cuenta ya está en Workers Paid — no pude verificar tu tier, el token no tiene scope de subscriptions |
| Inferencia | $0 | HF Space ZeroGPU (con cuota) u Ollama local |
| TOTAL FIJO | ~17-47 USD) | ~90% son los números |
| Variable | $0 hasta 1,000 service/mes por número | Después MXN 0.1565/msg |
Ejemplo a volumen realista de piloto: 2 clínicas × 400 conversaciones/mes × ~2 mensajes de respuesta = 800 service messages por número → debajo de 1,000 → $0 en mensajes. Total del mes: solo los números.
Si una clínica llega a 1,500 mensajes/mes: 500 cobrados × MXN 0.1565 = MXN 78 al mes. Irrelevante contra la tarifa de la clínica.
8.4 La variable que sí puede doler: inferencia
Todo lo anterior es ruido comparado con la inferencia. A 800 mensajes/mes por
número, si cada mensaje cuesta aunque sea 4/mes —
más que la infraestructura entera. Con HF ZeroGPU u Ollama local es $0, y ahí se
queda. No meter un proveedor de inferencia pagado antes de tener volumen: es el
único rubro donde el margen se evapora. El Space [usuario]/sonrisa-inference
sigue en CPU sin ZeroGPU (ver [CREDENCIAL].md);
ese bloqueo también es un bloqueo de costo, no solo de función.
8.5 Qué NO pude verificar
- Tier de Workers de la cuenta (Free vs Paid): el token no tiene scope de subscriptions. Hay 24 Workers, 3 KV y 6 buckets R2 vivos, lo que sugiere uso real pero no dice el plan.
- Listado de D1: el token devuelve 401 en
/d1/database. Herramienta, no cuenta. - Costo de los números: estimado de mercado. El VoIP barato es la variable la variable estructurada — muchos proveedores de número virtual no pasan la verificación por SMS de WhatsApp. No presupuestar VoIP hasta confirmarlo con el proveedor.
Facts verificados contra
- business.facebook.com/business/help/2058515294227817 (business verification desde Business Suite, prerequisite: elegibilidad del portfolio)
- developers.facebook.com/docs/whatsapp/solution-providers/partner-led-business-verification
(PLBV, minutos vs días, 3 docs, 5MB, PDF/JPEG/JPG/PNG,
self_certify_whatsapp_business) - developers.facebook.com/docs/whatsapp/messaging-limits (nuevo = 250; rutas de
escalado: verificar / partner / 2,000 mensajes a únicos en 30 días; escala
automática 2,000→10,000→100,000→ilimitado;
messaging_limit_tierdeprecado, usar[CREDENCIAL]) - developers.facebook.com/docs/whatsapp/message-templates/guidelines (250 plantillas sin verificar vs 6,000 con portfolio verificado)
- bird.com/en-au/docs/knowledge-base/whatsapp/business-verification (conecta y envía sin verificar; la verificación sube techos, no habilita)
- docs.360dialog.com/docs/resources/meta-business-verification (PLBV, docs aceptados, display name sin verificación completa desde abril 2024)
- facebook.com/help/policies/804481810668573 (tipos de ID: solo para identity/account verification, no business)
- delvia.org/facebook/verification-types-explained (separación business vs identity; el gate de WhatsApp es business)