# Punteros

Los pointers son cadenas únicas e insensibles a mayúsculas que hacen referencia a un activo [entity](https://github.com/decentraland/docs/blob/main/contributor/entities.md). Los content servers pueden resolver estos pointers para obtener el identificador de la entidad.

Recuerde que tanto [entidades](https://github.com/decentraland/docs/blob/main/contributor/entities.md) como sus [archivos](https://github.com/decentraland/docs/blob/main/contributor/filesystem.md) son inmutables en el sistema de contenido de Decentraland, y sus identificadores cambian cuando se suben versiones de reemplazo. Los pointers, por otro lado, son referencias estables que persisten a través de los reemplazos. Esto se logra redirigiendo automáticamente el pointer a una nueva entidad cuando el propietario sube un reemplazo.

Múltiples pointers pueden resolverse en la misma [entity](https://github.com/decentraland/docs/blob/main/contributor/entities.md), como suele ocurrir con [escenas](https://docs.decentraland.org/contributor/contributor-es/contenido/tipos-de-entity/scenes).

Como puede deducirse, el uso más común de los pointers es obtener el ID de la versión activa (es decir, el último reemplazo) de un [entity](https://github.com/decentraland/docs/blob/main/contributor/entities.md), para poder descargarlo.

### Tipos de pointers

Hay 4 tipos de pointers que los content servers pueden resolver en entidades, cada uno con su propia sintaxis:

* [Scene pointers](https://docs.decentraland.org/contributor/contributor-es/tipos-de-entity/scenes#pointers) son coordenadas de parcel, tales como `"0,0"`.
* [Profile pointers](https://docs.decentraland.org/contributor/contributor-es/tipos-de-entity/profiles#pointers) son la dirección de Ethereum del propietario.
* [Wearable pointers](https://docs.decentraland.org/contributor/contributor-es/tipos-de-entity/wearables#pointers) y [emote pointers](https://docs.decentraland.org/contributor/contributor-es/tipos-de-entity/emotes#pointers) son ya sea [collection](https://github.com/decentraland/docs/blob/main/contributor/collections.md) URNs de item o fuera de cadena.
* [Store pointers](https://docs.decentraland.org/contributor/contributor-es/tipos-de-entity/stores#pointers) son URNs fuera de cadena con la dirección de Ethereum del propietario.
* [Outfits pointers](https://docs.decentraland.org/contributor/contributor-es/tipos-de-entity/outfits#pointers) son la dirección de Ethereum del propietario con el sufijo `:outfits`.

Puede encontrar más detalles en sus secciones específicas.

### Resolviendo pointers

Los content servers tienen un endpoint que puede resolver pointers en el manifiesto de su entidad activa, haciendo una `GET` solicitud a:

```
https://<content-base-url>/entities/<entity-type>?pointer=<pointer>
```

{% hint style="info" %}
Por razones históricas, la respuesta de este endpoint es un arreglo que contiene un elemento.
{% endhint %}

Algunos ejemplos útiles, usando el content server de la Foundation:

```bash
# Un pointer on-chain de una colección a un wearable:
curl "https://peer.decentraland.org/content/entities/wearables/?pointer=urn:decentraland:matic:collections-v2:0x30517529cb5c16f686c6d0b48faae5d250d43005:0"

# Un pointer off-chain de una colección a un asset por defecto:
curl https://peer.decentraland.org/content/entities/wearables/?pointer=urn:decentraland:off-chain:base-avatars:BaseFemale

# Un pointer de parcel:
curl https://peer.decentraland.org/content/entities/wearables/?pointer=0,0

# Un pointer de profile:
curl https://peer.decentraland.org/content/entities/profiles/?pointer=0xe2c2b80ca5ad868f4b30fa83cca2bf12cc95b4fe
```

Tenga en cuenta que, si ya conoce el ID de la entidad, puede [descargar el manifiesto](https://github.com/decentraland/docs/blob/main/contributor/filesystem.md#downloading) directamente.
