Logo oficial CliengoIcono WhatsApp BusinessGuía WhatsApp Business 2026

    Cómo obtener el BSUID de WhatsApp

    Dónde leer el Business-Scoped User ID en el webhook de la Cloud API y cómo guardarlo sin romper tu base de contactos.

    Técnico

    Cómo se ve el payload

    "contacts": [
      {
        "profile": { "name": "María" },
        "wa_id": "AR.7f3a9b2c1d4e5f6a8b9c0d1e2f3a4b5c",
        "user_id": "AR.7f3a9b2c1d4e5f6a8b9c0d1e2f3a4b5c"
      }
    ]

    Cuando el usuario mantiene su número visible, wa_id trae el teléfono y user_id el BSUID. Cuando lo oculta, ambos traen el BSUID. Ver el detalle de escenarios en qué es el BSUID.

    Paso a paso

    5 pasos para capturarlo correctamente

    1. Suscribe tu app al webhook de mensajes. En la configuración de la app de Meta, suscríbete al campo messages de la WhatsApp Business Account. Sin esa suscripción no recibes el payload que contiene el user_id.
    2. Lee el campo user_id del contacto. En el payload, dentro de entry[].changes[].value.contacts[], cada contacto trae wa_id (teléfono o BSUID) y user_id con el BSUID.
    3. Detecta el formato del campo from. Si el valor del mensaje empieza con dígitos es un número E.164; si tiene el patrón dos letras + punto + alfanumérico es un BSUID.
    4. Guarda el BSUID en tu CRM. Persiste el BSUID en su propia columna, junto al teléfono cuando exista, y usa matcheo dual para no duplicar contactos.
    5. Responde usando el BSUID. Para contestar dentro de la ventana de 24 horas o enviar una plantilla, usa el BSUID como destinatario en el campo to del endpoint de mensajes.

    Cómo distinguir un BSUID de un teléfono

    const esBsuid = (valor) => /^[A-Z]{2}\.[A-Za-z0-9]{1,128}$/.test(valor);
    Regla prácticaNunca asumas que el identificador entrante es numérico. Valida el formato antes de escribirlo en tu base y guarda siempre el BSUID, aunque también recibas el teléfono.

    Una vez que lo detectas, el paso siguiente es persistirlo bien: cómo guardar el BSUID en tu CRM. Si tu integración ya está en producción, contrasta tu implementación con los errores comunes con el BSUID.

    Si no quieres tocar código

    Con un Meta Business Partner como Cliengo, la captura y el matcheo dual del BSUID ya vienen implementados: los Agentes IA reconocen al contacto y conservan su historial aunque oculte el número o cambie de nombre de usuario.

    Para esto necesitas estar sobre WhatsApp Business API. Antes de conectarla, revisa el precio de WhatsApp Business API en 2026 y los cambios de facturación de octubre 2026.

    Preguntas Frecuentes

    En el campo user_id dentro de value.contacts[] del webhook de mensajes de la Cloud API. Aparece en todas las notificaciones, tenga o no el usuario un nombre de usuario configurado.

    Sí: el campo user_id se entrega en las versiones recientes del Graph API. Si tu integración está anclada a una versión antigua, actualízala cuanto antes para no quedarte sin el identificador.

    No. El BSUID se genera con la primera interacción entre esa persona y tu empresa; no existe un endpoint para consultarlo a partir de un número.

    Sí, el BSUID se acepta en el campo to del endpoint /messages para conversaciones existentes. Para el primer contacto sigues necesitando el número con opt-in.

    Envía un mensaje de prueba desde una cuenta con nombre de usuario y número oculto, y verifica en tus logs que el contacto se crea con BSUID y sin teléfono, sin errores de validación.
    Explorar más con IA

    Profundiza este tema con tu asistente favorito

    Abre una conversación pre-cargada con el contexto de esta página. La IA analiza el contenido y responde tus dudas específicas.

    ChatGPT abre con el prompt pre-cargado. Gemini no soporta pre-carga por URL: copiamos el prompt al portapapeles y solo tienes que pegarlo (Ctrl/Cmd + V).

    ¿Te sirvió esta guía? Compártela

    Ayuda a otro equipo de LATAM a vender más por WhatsApp.

    CliengoesMeta Business Partner