API

Возможности взаимодействия с сервисом из других сервисов

Публичный API предназначен для взаимодействия с внешними сервисами.

Методы разработаны по принципу: https://smm.targethunter.ru/api/METHOD, где METHOD - название метода. Доступные методы представлены в данной документации.

Каждый метод работает с типами запроса GET и POST (form-data и json).

Обязательные параметры для каждого запроса

api_key - API ключ

Методы

pageМетоды

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

Каждый метод можно вызывать и через GET, и через POST (form-data).

Пример запроса на добавление пользователя в бота:

pageДобавить пользователя в бота
$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)

Поля в примере:

  1. Нужно указать ваш ключ API

  2. ID бота, которого нужно запустить (можно найти рядом с названием бота после #)

  3. ID пользователя, которого нужно добавить в бота. Если вы запускаете бота для VK, то нужно указывать ID пользователя из VK.

  4. Идентификатор канала. Для явного указания из какого канала этот пользователь.

В каждое из полей можно указывать любые доступные переменные

Пример запуска 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 бота, которого нужно запустить (можно найти рядом с названием бота после #) Например: 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