> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# User

> Variables - User

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:

```json theme={null}
{
  "id": "593999999999",
  "names": "Juan Pérez",
  "phone": "593999999999"
}
```

## 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.

<Info>
  En canales como WhatsApp, el teléfono viene sin signos ni espacios. Por ejemplo, `+593-111-111-111` se representa como `593111111111`.
</Info>

## 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`:

```js theme={null}
// Accede al id del usuario
const id = $user.get('id')

// Accede al nombre del usuario
const name = $user.get('names')
```

<Info>
  El objeto `User` es de solo lectura. Si quieres persistir información nueva del contacto, guarda esos datos en `Memory` o `Context`.
</Info>
