API
Возможности взаимодействия с сервисом из других сервисов
Публичный API предназначен для взаимодействия с внешними сервисами.
Методы разработаны по принципу: https://smm.targethunter.ru/api/METHOD, где METHOD - название метода. Доступные методы представлены в данной документации.
Каждый метод работает с типами запроса GET и POST (form-data и json).
Обязательные параметры для каждого запроса
api_key - API ключ
Методы
МетодыПример запроса
Каждый метод можно вызывать и через GET, и через POST (form-data).
Пример запроса на добавление пользователя в бота:
Добавить пользователя в бота$url = 'https://smm.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);
Пример запуска API из бота
При необходимости, вы можете сделать запрос к API прямо из бота. Для этого добавьте блок Действие - Запросы во вне - Отправить запрос на url.
В поле "Адрес запроса" нужно поставить url метода, который нужно вызвать. На примере ниже - это добавление пользователя в бота (url - https://smm.targethunter.ru/api/bots/addUser)
Поля в примере:
Нужно указать ваш ключ API
ID бота, которого нужно запустить (можно найти при открытии бота в ссылке после id=) Например, для ссылки https://bot.targethunter.ru/bots/edit?id=6234edd5fb3c1c06f8765b9bd6 ID бота будет 6234edd5fb3c1c06f8765b9bd6
ID пользователя, которого нужно добавить в бота. Если вы запускаете бота для VK, то нужно указывать ID пользователя из VK.
Идентификатор канала. Для явного указания из какого канала этот пользователь.
В каждое из полей можно указывать любые доступные переменные


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

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

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

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

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

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

Last updated
Was this helpful?