# API тегов

<Aside type="note">
Чтобы установить значения тегов для HWID и UserID, используйте метод [/setTags](/ru/developer/api-reference/device-api#settags) из Device API. Использование `addTag` необязательно, поскольку `setTags` создает любое имя тега, которое еще не распознано, и определяет тип по значению: целое число становится Integer, число с десятичной точкой — Price, строка — String (или Date, для распознаваемого формата даты-времени, например `2024-10-02 22:11`), массив — List, а булево значение — Boolean. Автоматически созданный тег всегда User-specific (`user_specific: true`). Используйте `addTag` для тега типа Version, так как автоматическое создание не может его определить, или для тега General (`user_specific: false`). Автоматическое создание тегов включено по умолчанию для подавляющего большинства аккаунтов. Если `setTags` не создает новый тег, как ожидалось, обратитесь в [службу поддержки Pushwoosh](https://help.pushwoosh.com/hc/en-us/requests/new), чтобы проверить, не отключена ли эта функция для вашего аккаунта.
</Aside>

## addTag

`POST` `https://api.pushwoosh.com/json/1.3/addTag`

Создает тег в вашем аккаунте.

#### Тело запроса

| Имя | Тип | Описание |
| ------------------------------------------ | ------- | -------------------------------------------------------------------------------------------------------- |
| auth\* | string | [Токен доступа API](/ru/developer/api-reference/api-identifiers/#api-access-token) из Панели управления Pushwoosh. |
| tag\* | object | Параметры тега. |
| tag.name\* | string | Имя тега. |
| tag.type\* | integer | Тип тега. Возможные значения см. ниже. |
| tag.user\_specific | boolean | Если `true`, значение тега хранится на уровне пользователя и является общим для всех его устройств при установке по UserID. Если `false` (по умолчанию), тег является тегом уровня устройства и устанавливается для каждого HWID. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "result": true
  }
}
```
</TabItem>
</Tabs>

```json title="Пример"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H", // обязательно. Токен доступа API из Панели управления Pushwoosh
    "tag": {
      "name": "TAG_NAME",           // обязательно.
      "type": 1,                    // обязательно. Возможные значения см. ниже
      "user_specific": false        // необязательно. true = тег уровня пользователя (общий для всех устройств); false = тег уровня устройства (по умолчанию)
    }
  }
}
```

**Возможные типы значений тегов:**

*   1 - Integer
*   2 - String
*   3 - List
*   4 - Date
*   5 - Boolean
*   6 - Decimal. Пример: 19.95
*   7 - Version. Пример: "1.0.0.0"

## deleteTag

`POST` `https://api.pushwoosh.com/json/1.3/deleteTag`

Полностью удаляет тег со всей связанной с ним информацией из базы данных.

#### Тело запроса

| Имя | Тип | Описание |
| ------------------------------------------ | ------ | ---------------------------------------------- |
| auth\* | string | [Токен доступа API](/ru/developer/api-reference/api-identifiers/#api-access-token) из Панели управления Pushwoosh. |
| tag\* | object | Параметры тега. |
| tag.name\* | string | Имя [тега](/ru/developer/api-reference/api-identifiers/#tag) для удаления. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "result": true
  }
}
```
</TabItem>
</Tabs>

```json title="Пример"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H", // обязательно. Токен доступа API из Панели управления Pushwoosh
    "tag": {
      "name": "TAG_NAME"            // обязательно. Имя тега для удаления
    }
  }
}


```

## listTags

`POST` `https://api.pushwoosh.com/json/1.3/listTags`

Получает список тегов в аккаунте.

#### Тело запроса

| Имя | Тип | Описание |
| -------------------------------------- | ------ | ---------------------------------------------- |
| auth\* | string | [Токен доступа API](/ru/developer/api-reference/api-identifiers/#api-access-token) из Панели управления Pushwoosh. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK", 
  "response": {
    "tags": [{
      "name":"Language",
      "type":2
    }, {
      "name":"List tag",
      "type":3
    }]
  }
}
```
</TabItem>
</Tabs>

```json title="Пример"
{
  "request":{
    "auth": "yxoPUlwqm…………pIyEX4H" // Токен доступа API из Панели управления Pushwoosh
  }
} 
```

**Типы тегов**:

*   1 - Integer
*   2 - String
*   3 - List
*   4 - Date
*   5 - Boolean
*   6 - Decimal. Пример: 19.95
*   7 - Version. Пример: "1.0.0.0"