Skip to main content
El objeto User te permite consultar información del contacto que está interactuando con tu flujo, como su nombre, número de teléfono y metadatos del canal.

Datos disponibles

Los datos disponibles dependen del canal, pero un ejemplo típico es:

Usar variables de usuario

Puedes acceder a cualquier propiedad del usuario con la sintaxis {{$user.propiedad}}:
  • {{$user.id}} muestra el identificador único del usuario para el canal.
  • {{$user.names}} muestra el nombre del usuario.
  • {{$user.phone}} muestra el número de teléfono del contacto. Es el campo que debes usar cuando necesitas el teléfono.
En canales como WhatsApp, el teléfono viene sin signos ni espacios. Por ejemplo, +593-111-111-111 se representa como 593111111111.

El teléfono va en phone, no en id

WhatsApp dejó de garantizar el número telefónico como identificador estable y adopta un identificador propio, el BSUID. Por eso {{$user.id}} puede traer un BSUID en lugar de un número, y no debes usarlo como teléfono.
  • Para el teléfono, usa {{$user.phone}}. Devuelve el número real del contacto, incluso cuando la conversación entra identificada por BSUID.
  • {{$user.phoneNumber}} es un alias de {{$user.phone}} y devuelve el mismo valor. Se mantiene para los flujos que ya lo usan, pero recomendamos migrar a phone.
  • Ambos pueden venir vacíos cuando no es posible resolver un teléfono para ese contacto. Contempla ese caso en tus flujos antes de usar el valor.
  • {{$user.id}} sigue siendo el identificador del contacto en el canal, y es el que debes usar para referenciarlo. Solo dejó de ser siempre un teléfono.

User en nodos de código

Dentro de los nodos de código, tienes disponible el objeto User a través de $user:
El objeto User es de solo lectura. Si quieres persistir información nueva del contacto, guarda esos datos en Memory o Context.