Создать переменную сообщества

Метод globalVars/create создаёт переменную сообщества, как кнопка «Создать переменную» в интерфейсе. Параметры, лимит 20 в минуту и 200 в сутки.

Обновлено

Создаёт в сообществе новую переменную сообщества — как кнопка «Создать переменную» на вкладке переменных сообщества в интерфейсе.

Нужен личный токен с продуктом BotHunter — как получить. Кому доступен: владельцу сообщества и сотрудникам с ролью «Админ (полный доступ)» или «Пользователи».

Лимит: не больше 20 созданий в минуту и 200 в сутки — вместе с lists/create и vars/create. Считается и попытка с ошибкой в параметрах, сутки начинаются в 03:00 по Москве. Сверх лимита — ошибка 5, ничего не создаётся.

Параметры

group_id
целое число
обязательный

Номер сообщества — group_id из ответа groups/get.

Пример: 123456

channel
строка
обязательный

Канал сообщества: VK, TG, OK, MAX, CHAT или AVITO — константы.

Пример: VK

title
строка
обязательный

Название переменной, до 120 символов. Его видно в интерфейсе.

Пример: Промокод недели

name
строка
обязательный

Короткое имя для подстановки в тексты. До 120 символов, должно быть свободно в сообществе. Нельзя использовать символы . { } [ ] % | ' " : ;, обратный апостроф и сочетание _NAME.

Пример: promo

value
строка или число

Начальное значение: строка или число, до 32 000 символов. Не передано — переменная создастся с пустым значением.

Пример: AUTUMN20

Результат

Возвращает созданную переменную — как элемент globalVars/list. Её id передавайте как var_id в globalVars/get, globalVars/set и globalVars/clear.

{
  "status": "ok",
  "response": {
    "id": "61af67fb5bc8635f3f53b18d",
    "title": "Промокод недели",
    "name": "promo",
    "value": "AUTUMN20",
    "create_at": 1704067200
  }
}

Коды ошибок

Общие ошибки — на странице API.

Код

Когда

5

«Слишком много созданий: не больше 20 в минуту и 200 в сутки. Повторите позже.»: лимит созданий исчерпан, ничего не создано.

7

Не передан group_id или channel, значение неверное или такого сообщества нет.

«Не указан обязательный параметр title» или «… name»: параметр не передан или пустой.

«Параметр title: максимальная длина 120 символов» или то же про name: значение длиннее 120 символов.

«Параметр value должен быть строкой»: в value передан массив или объект.

«Превышен допустимый объем символов значения переменной»: значение длиннее 32 000 символов.

«В коротком имени не должно быть символа: «:»»: в name запрещённый символ, в кавычках — какой именно.

«Переменная "promo" уже существует»: такое короткое имя в сообществе уже занято.

Пример запроса

Подставьте свой токен вместо <ваш_токен>.

curl
PHP
Python
JavaScript
curl -X POST https://bot-api.targethunter.ru/external-api/v2/globalVars/create \
  -H "Authorization: Bearer <ваш_токен>" \
  -H "Content-Type: application/json" \
  -d '{"group_id": 123456, "channel": "VK", "title": "Промокод недели", "name": "promo", "value": "AUTUMN20"}'
$token = '<ваш_токен>';
$url = 'https://bot-api.targethunter.ru/external-api/v2/globalVars/create';
$params = [
    'group_id' => 123456,
    'channel' => 'VK',
    'title' => 'Промокод недели',
    'name' => 'promo',
    'value' => 'AUTUMN20',
];

$curl = curl_init($url);
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($params),
]);

$response = json_decode(curl_exec($curl), true);
curl_close($curl);
import requests

token = '<ваш_токен>'
url = 'https://bot-api.targethunter.ru/external-api/v2/globalVars/create'
params = {
    'group_id': 123456,
    'channel': 'VK',
    'title': 'Промокод недели',
    'name': 'promo',
    'value': 'AUTUMN20',
}

response = requests.post(url, json=params, headers={'Authorization': f'Bearer {token}'})
print(response.json())
const token = '<ваш_токен>';
const params = {
  "group_id": 123456,
  "channel": "VK",
  "title": "Промокод недели",
  "name": "promo",
  "value": "AUTUMN20"
};

const response = await fetch('https://bot-api.targethunter.ru/external-api/v2/globalVars/create', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(params),
});
console.log(await response.json());