Добавить пользователя в бота
Метод bots/addUser запускает бота для подписчика со стартового шага или с выбранного. Параметры, коды ошибок и как работает force при повторном проходе.
Обновлено
Запускает бота для человека: бот начинает с ним работать со стартового шага или с шага step_id.
Нужен личный токен с продуктом BotHunter — как получить. Кому доступен: владельцу сообщества и сотрудникам с ролью «Админ (полный доступ)» или «Рассылки и чат-боты».
Параметры
| ID бота — Пример: |
| Номер человека в соцсети или мессенджере, например id страницы ВКонтакте. Пример: |
| Канал бота — константы. Пример: |
| Шаг, с которого начать, — Пример: |
|
Пример: |
| Данные для бота: объект или строка. Значение ключа Пример: |
Чтобы бот увидел payload, включите в расширенных настройках бота «Сохранять входные параметры в переменную»; объект разберите блоком «Декодировать JSON». Пример запуска бота из другого бота — на странице API.
Результат
Возвращает {"status": "ok"} без поля response.
{
"status": "ok"
}Коды ошибок
Общие ошибки — на странице API.
Код | Когда |
|---|---|
| Не передан |
| «Бот не найден»: бота с таким |
Пример запроса
Подставьте свой токен вместо <ваш_токен>.
curl -X POST https://bot-api.targethunter.ru/external-api/v2/bots/addUser \
-H "Authorization: Bearer <ваш_токен>" \
-H "Content-Type: application/json" \
-d '{"bot_id": "607d97c6a01c6a25972ed95e", "uid": 102036383, "channel": "VK", "force": 1, "payload": {"text": "Текст", "param1": "value1"}}'$token = '<ваш_токен>';
$url = 'https://bot-api.targethunter.ru/external-api/v2/bots/addUser';
$params = [
'bot_id' => '607d97c6a01c6a25972ed95e',
'uid' => 102036383,
'channel' => 'VK',
'force' => 1,
'payload' => [
'text' => 'Текст',
'param1' => 'value1',
],
];
$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/bots/addUser'
params = {
'bot_id': '607d97c6a01c6a25972ed95e',
'uid': 102036383,
'channel': 'VK',
'force': 1,
'payload': {
'text': 'Текст',
'param1': 'value1',
},
}
response = requests.post(url, json=params, headers={'Authorization': f'Bearer {token}'})
print(response.json())const token = '<ваш_токен>';
const params = {
"bot_id": "607d97c6a01c6a25972ed95e",
"uid": 102036383,
"channel": "VK",
"force": 1,
"payload": {
"text": "Текст",
"param1": "value1"
}
};
const response = await fetch('https://bot-api.targethunter.ru/external-api/v2/bots/addUser', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(params),
});
console.log(await response.json());Как работает параметр force при разных настройках бота на разрешение повторного прохода
В расширенных настройках бота можно установить 1 из 3 вариантов на возможность повторного прохода бота:

Как сработает параметр force при различных ситуациях:
Когда пользователь находится в цепочке бота:
Если бот, в который добавляют - повторный проход возможен в любой момент, то:
force 0 - ничего не меняет, всё равно добавляется в бот заново;
force 1 - соответственно, тоже самое.
Если бот, в который добавляют - повторный проход возможен после завершения всей цепочки, то:
force 0 - ничего не происходит, повторно не добавляется;
force 1 - добавляется повторно. (по умолчанию, force 0, если не передается этот параметр)
Если бот, в который добавляют - повторный проход запрещён, то:
force 0 - ничего не происходит, повторно не добавляется;
force 1 - добавляется повторно (да, даже если запрещён повторный проход в настройках бота).
(по умолчанию, force 0, если не передается этот параметр)
Иными словами, force НЕ имеет смысла использовать, если повторный проход в любой момент.