# Profiles

Perfis são a descrição básica de um jogador, com informações como seu nome no mundo e avatar.

Eles estão disponíveis em servidores de conteúdo como [entities](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md), embora os World Explorers geralmente utilizem o sistema de comms para obter versões atualizadas dinamicamente.

O sistema está preparado para permitir múltiplas identidades com o mesmo proprietário, todas incluídas como avatares no manifest da entidade. Na prática, porém, a grande maioria dos jogadores possui apenas uma.

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

Perfil [pointers](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) são o endereço Ethereum do proprietário, sem prefixo ou sufixo. Por exemplo:

```
0x210c4415d6a71195af76beef9b85dd0eb43f35df
```

### Campos de Metadata

| Campo      | Valor                                                                          |
| ---------- | ------------------------------------------------------------------------------ |
| `avatares` | Um array de descrições para cada um dos avatares do proprietário (ver abaixo). |

### Avatares

Cada avatar em `metadata.avatars[]` representa uma identidade com o mesmo proprietário, e possui várias propriedades que permitem aos clientes exibir perfis, renderizar avatares no mundo e contatar o proprietário.

| Campo            | Valor                                                                                                                                                |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`         | O [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) que resolve (ou que costumava resolver) para este perfil. |
| `name`           | O nome exibido deste jogador.                                                                                                                        |
| `email`          | (Opcional) Um endereço de e-mail deste jogador.                                                                                                      |
| `description`    | (Opcional) Texto escolhido pelo jogador para descrever-se.                                                                                           |
| `ethAddress`     | O endereço ethereum deste jogador (atualmente igual ao seu `userId`).                                                                                |
| `hasClaimedName` | Se o `name` campo é um nome ENS reclamado.                                                                                                           |
| `unclaimedName`  | Um nome temporário para usuários sem um nome ENS (por exemplo, convidados).                                                                          |
| `tutorialStep`   | O progresso do tutorial para este jogador.                                                                                                           |
| `avatar`         | Propriedades do avatar do jogador no mundo (ver abaixo).                                                                                             |

Um exemplo:

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

#### Campo do Avatar

O `metadata.avatars[].avatar` campo tem todas as informações que um World Explorer (ou outros clientes, como um editor de avatar independente) requer para renderizar um jogador.

| Campo       | Valor                                                                                                                                                     |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bodyShape` | O [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) para a entidade body shape do avatar.                          |
| `snapshots` | Um objeto com imagens para este avatar (ver abaixo).                                                                                                      |
| `eyes`      | Um objeto com um `color` na forma de um `{ r, g, b }` objeto para os olhos do avatar.                                                                     |
| `hair`      | Um objeto com um `color` na forma de um `{ r, g, b }` objeto para o hair do avatar.                                                                       |
| `skin`      | Um objeto com um `color` na forma de um `{ r, g, b }` objeto para o skin do avatar.                                                                       |
| `wearables` | Um array de [wearable pointers](https://github.com/decentraland/docs/blob/main/contributor/entity-types/wearables/README.md#pointers) em uso pelo avatar. |

Para ilustrar:

```json
{
  "bodyShape": "urn:decentraland:off-chain:base-avatars:BaseMale",
  "snapshots": {
    // Veja abaixo
  },
  "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

O `metadata.avatars[].avatar.snapshots` campo contém [identificadores de arquivo](https://github.com/decentraland/docs/blob/main/contributor/filesystem/README.md#identifiers) para imagens (incluídas no [`content` campo de nível superior](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md#properties)). Cada propriedade é um tipo de imagem, e atualmente existem dois: `face256` (uma miniatura) e `body` (uma versão em tamanho real).

Por exemplo:

```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-pt/content/entity-types/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.
