# Etiquetas

Las etiquetas marcan a los contactos: «vip», «ordered_bouquet», «awaiting_delivery». Con las etiquetas es fácil ramificar un flujo y elegir los destinatarios de un envío masivo. Consulta [Etiquetas y variables](https://support.jetbot24.ru/es/chatbots/contacts/tags-variables) para más detalles.

Las etiquetas añadidas y quitadas se guardan cuando el código termina sin error. Dentro del código, las comprobaciones ya ven los cambios.

## getContactTags

```js
getContactTags()
```

Devuelve todas las etiquetas del contacto.

**Sin parámetros.**

**Devuelve** un array de cadenas con los nombres de las etiquetas. Si no hay etiquetas, el array está vacío.

```js
var tags = getContactTags();

if (tags.length === 0) {
    sendMessage('Cuéntanos qué flores te gustan y te prepararemos un ramo.');
}
```

## hasContactTag

```js
hasContactTag(name)
```

Comprueba si el contacto tiene una etiqueta.

| Parámetro | Tipo | Qué pasar |
|---|---|---|
| `name` | Cadena | El nombre de la etiqueta. Las mayúsculas importan: `VIP` y `vip` son etiquetas distintas |

**Devuelve** `true` si la etiqueta está, y `false` si no.

```js
if (hasContactTag('vip')) {
    setContactVariable('discount', 15);
}
```

## setContactTag

```js
setContactTag(name)
```

Añade una etiqueta al contacto. Si la etiqueta ya está, no cambia nada.

| Parámetro | Tipo | Qué pasar |
|---|---|---|
| `name` | Cadena | El nombre de la etiqueta |

**No devuelve nada.**

```js
setContactTag('ordered_bouquet');
```

## deleteContactTag

```js
deleteContactTag(name)
```

Quita una etiqueta al contacto. Si no tiene esa etiqueta, no cambia nada.

| Parámetro | Tipo | Qué pasar |
|---|---|---|
| `name` | Cadena | El nombre de la etiqueta |

**No devuelve nada.**

```js
if (hasContactTag('awaiting_delivery')) {
    deleteContactTag('awaiting_delivery');
    setContactTag('order_received');
}
```
