API
Публичный API предназначен для взаимодействия с внешними сервисами.
Методы разработаны по принципу: https://bot.targethunter.ru/api/METHOD, где METHOD - название метода. Доступные методы представлены в данной документации.
Каждый метод работает с типами запроса GET и POST (form-data и json).
apikey - API ключ
Каждый метод можно вызывать и через GET, и через POST (form-data).
Пример запроса на добавление пользователя в бота:
$url = 'https://bot.targethunter.ru/api/';
$api_key = 'cd29334cb46d4f8325deedfdea81e9b266319d074e08cd56f05b56466d2';
$method_name = 'bots/addUser'; $params = [ 'api_key' => $api_key, 'bot_id' => '607d97c6a01c6a25972ed95e', 'uid' => 102036383, 'channel' => 'VK', 'force' => 1, 'payload' => [ 'text' => 'Текст', 'param1' => 'param1' ] ];
$curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => $url . $method_name, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query($params) ]);
$response = curl_exec($curl); curl_close($curl);
import requests
url = f'https://bot.targethunter.ru/api/'
method = 'bots/addUser'
api_key = 'cd29334cb46d4f8325deedfdea81e9b266319d074e08cd56f05b56466d2'
params = {
'api_key': api_key,
'bot_id': '607d97c6a01c6a25972ed95e',
'uid': 102036383,
'channel': 'VK',
'force': 1,
'payload': {
'text': 'Текст',
'param1': 'param1'
}
}
response = requests.post(url + method, data=params)
Частый запрос: запустить бота по хуку или по ссылке. Пример для метода bots/addUser:
Замените:
{apiKey} на ваш ключ API
{botId} на ID бота, которого надо запустить. Найти id бота можно рядом с его названием. Вид: 62d718ceb6ea2a17c83aadd2
{uid} - ID пользователя, которого нужно добавить в бота. Например, vk id человека, если бот для VK. Пример: 1 - Павел Дуров.
{channel} - на название канала из этого списка. Например, VK для того, чтобы указать, что человек из канала VK.
Пример сформированной ссылки:
https://bot.targethunter.ru/api/bots/addUser?api_key=12g1k105sadq124fa12&bot_id=62d718ceb6ea2a17c83aadd2&uid=1&channel=VK
По этой ссылке добавится Павел Дуров в бота с id 62d718ceb6ea2a17c83aadd2
При необходимости, вы можете сделать запрос к API прямо из бота. Для этого добавьте блок Действие - Запросы во вне - Отправить запрос на url.
В поле "Адрес запроса" нужно поставить url метода, который нужно вызвать. На примере ниже - это добавление пользователя в бота (url - https://bot.targethunter.ru/api/bots/addUser)
Поля в примере:
Нужно указать ваш ключ API
ID бота, которого нужно запустить (можно найти при открытии бота в ссылке после id=) Например, для ссылки https://bot.targethunter.ru/bots/edit?id=6234edd5fb3c1c06f8765b9bd6 ID бота будет 6234edd5fb3c1c06f8765b9bd6
ID пользователя, которого нужно добавить в бота. Если вы запускаете бота для VK, то нужно указывать ID пользователя из VK.
Идентификатор канала. Для явного указания из какого канала этот пользователь.
В каждое из полей можно указывать любые доступные переменные


При необходимости, вы можете сделать запрос к API прямо из бота и передать дополнительные параметры, например, информацию о пользователе из переменных. Для этого добавьте блок Действие - Запросы во вне - Отправить запрос на url.
В поле "Метод" нужно выбрать POST JSON, если будете передавать дополнительные параметры через payload.
В поле "Адрес запроса" нужно поставить url метода, который нужно вызвать. На примере ниже - это добавление пользователя в бота (url - https://bot.targethunter.ru/api/bots/addUser)
Параметры полей с примерами:
Поле | Значение | Тип |
|---|---|---|
api_key | Ваш API ключ Посмотреть можно в настройках (Токен доступа) - https://targethunter.ru/settings | Поле |
bot_id | ID бота, которого нужно запустить. | Поле |
uid | ID пользователя, которого нужно добавить в бота. Если вы запускаете бота для VK, то нужно указывать ID пользователя из VK. | Поле |
channel | Идентификатор канала. Например: | Поле |
| ||
step_id | ID шага в боте, на который нужно добавить пользователя (можно найти при открытии шага для редактирования под его названием после "Ссылка на шаг • ID:" ) | Поле |
force | 0 (не добавлять пользователя, если он уже есть в боте) | Поле |
payload | {'param1': 'Значение параметра 1','param2': 'Значение параметра 2','param3': 'Значение параметра 3'} В значение может помещаться как строка, так и переменная Например: {'name': '{first_name}','sex': 'M','link': '{user_link}'} | Поле JSON |

Тестируем бота:

Теперь разберем бота, в которого отправили пользователя и передали данные через payload.
Чтобы в другом боте (в которого добавляем пользователя) получить и использовать дальше для работы полученные данные из массива payload, нужно:
1 в расширенных настройках бота (в которого добавляем пользователя) обязательно включить сохранение входных параметров:

2 После начального шага в боте добавить Действие "Функции" - "Декодировать JSON" .
В поле "Значение" указываем переменную, в которую сохранили входные параметры, например, {%trigger%}

3 Используйте нужные данные, обращаясь к элементам декодированного массива данных. В нашем примере был записан как result.

Тестируем бота:
