# Perfiles

Los perfiles son la descripción básica de un jugador, con información como su nombre en el mundo y su avatar.

Están disponibles en los content servers como [entidades](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md), aunque los World Explorers normalmente aprovechan el sistema de comms para obtener versiones actualizadas al vuelo.

El sistema está preparado para permitir múltiples identidades con el mismo propietario, todas incluidas como avatares en el manifiesto de la entidad. En la práctica, sin embargo, la gran mayoría de jugadores solo tiene una.

### Punteros <a href="#pointers" id="pointers"></a>

Perfil [pointers](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) son la dirección de Ethereum del propietario, sin prefijo ni sufijo. Por ejemplo:

```
0x210c4415d6a71195af76beef9b85dd0eb43f35df
```

### Campos de metadata

| Campo      | Valor                                                                                    |
| ---------- | ---------------------------------------------------------------------------------------- |
| `avatares` | Un array de descripciones para cada uno de los avatares del propietario (ver más abajo). |

### Avatares

Cada avatar en `metadata.avatars[]` representa una identidad con el mismo propietario y tiene varias propiedades que permiten a los clientes mostrar perfiles, renderizar avatares en el mundo y contactar al propietario.

| Campo            | Valor                                                                                                                                      |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `userId`         | El [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) que resuelve (o solía resolver) a este perfil. |
| `name`           | El nombre para mostrar de este jugador.                                                                                                    |
| `email`          | (Opcional) Una dirección de correo electrónico de este jugador.                                                                            |
| `description`    | (Opcional) Texto elegido por el jugador para describirse a sí mismo.                                                                       |
| `ethAddress`     | La dirección ethereum de este jugador (actualmente igual a su `userId`).                                                                   |
| `hasClaimedName` | Si el `name` campo es un nombre ENS reclamado.                                                                                             |
| `unclaimedName`  | Un nombre temporal para usuarios sin un nombre ENS (p. ej., invitados).                                                                    |
| `tutorialStep`   | El progreso del tutorial de este jugador.                                                                                                  |
| `avatar`         | Propiedades del avatar del jugador en el mundo (ver más abajo).                                                                            |

Un ejemplo:

```json
{
  "userId": "0x210c4415d6a71195af76beef9b84dd0eb43f35da",
  "name": "Bob",
  "email": "",
  "hasClaimedName": false,
  "description": "",
  "ethAddress": "0x210c4415d6a71195af76beef9b84dd0eb43f35da",
  "avatar": {
    // Ver abajo
  }
}
```

#### Campo de Avatar

El `metadata.avatars[].avatar` el campo tiene toda la información que un World Explorer (u otros clientes, como un editor de avatares independiente) requiere para renderizar a un jugador.

| Campo       | Valor                                                                                                                                                         |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bodyShape` | El [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) al entity de body shape del avatar.                               |
| `snapshots` | Un objeto con imágenes para este avatar (ver más abajo).                                                                                                      |
| `eyes`      | Un objeto con un `color` en la forma de un `{ r, g, b }` objeto para los ojos del avatar.                                                                     |
| `hair`      | Un objeto con un `color` en la forma de un `{ r, g, b }` objeto para el hair del avatar.                                                                      |
| `skin`      | Un objeto con un `color` en la forma de un `{ r, g, b }` objeto para el skin del avatar.                                                                      |
| `wearables` | Un arreglo de [wearable pointers](https://github.com/decentraland/docs/blob/main/contributor/entity-types/wearables/README.md#pointers) en uso por el avatar. |

Para ilustrar:

```json
{
  "bodyShape": "urn:decentraland:off-chain:base-avatars:BaseMale",
  "snapshots": {
    // Ver abajo
  },
  "eyes": {
    "color": { "r": 0.37109375, "g": 0.22265625, "b": 0.1953125 }
  },
  "hair": {
    "color": { "r": 0.234375, "g": 0.12890625, "b": 0.04296875 }
  },
  "skin": {
    "color": { "r": 0.80078125, "g": 0.609375, "b": 0.46484375 }
  },
  "wearables": [
    "urn:decentraland:off-chain:base-avatars:eyes_00",
    "urn:decentraland:off-chain:base-avatars:eyebrows_00",
    "urn:decentraland:off-chain:base-avatars:mouth_00",
    "urn:decentraland:off-chain:base-avatars:m_mountainshoes.glb",
    "urn:decentraland:off-chain:base-avatars:sport_jacket",
    "urn:decentraland:off-chain:base-avatars:brown_pants",
    "urn:decentraland:off-chain:base-avatars:aviatorstyle",
    "urn:decentraland:off-chain:base-avatars:casual_hair_03",
    "urn:decentraland:off-chain:base-avatars:Mustache_Short_Beard"
  ]
}
```

#### Snapshots

El `metadata.avatars[].avatar.snapshots` el campo contiene [identificadores de archivo](https://github.com/decentraland/docs/blob/main/contributor/filesystem/README.md#identifiers) para imágenes (incluidas en el [`content` campo de nivel superior](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md#properties)). Cada propiedad es un tipo de imagen, y actualmente hay dos: `face256` (una miniatura) y `body` (una versión de tamaño completo).

Por ejemplo:

```json
{
  "face256": "bafkreidvjwc3gqqdqk646rqnxnqzpsyjsjafqfc76zenfgjnm2ahbvrtsd",
  "body": "bafkreigclygt6vzzu7myzg3weifapb3a5uec245lzndg4f53y4vfb3cmwm"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/contributor/contributor-es/contenido/tipos-de-entity/profiles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
