Документация Пользовательская документация

Подключение

Content-Type: application/json
Endpoint: api.flyerhubs.com
Timezone: MSK (+3)

Описание

● Предложения и тех. вопросы писать — @flyers

● Библиотека для Python — flyerapi

Тёмные поля являются обязательными

○ Ошибка Prohibited method for a bot type означает, что этот метод неверный для выбранного вами типа бота


Методы

Обязательная подписка Задания Задания без интеграции Задания из MAX
POST /get_me Получение данных ключа

Получение информации о ключе бота.

Параметры запроса

Параметр Тип Описание
key string Ключ бота
Пример запроса
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx"
}

Ответ 200

Поля ответа
Поле Тип Описание
type string Тип ключа: sub, tasks, webapp, max
status boolean Статус ключа
webhook string | null URL вебхука
key_number integer Идентификатор бота в сервисе
bot_id integer ID бота
error string Сообщение: ошибка (критически)
Отменяет все остальные параметры
POST /check Проверка обязательной подписки Обязательная подписка

Проверка статуса обязательной подписки пользователя. Возвращает результат проверки и, при необходимости, информацию о назначенном ресурсе.

Параметры запроса

Параметр Тип Описание
key string Ключ бота
user_id integer ID пользователя Telegram
language_code string Языковой код пользователя
Только значение от Telegram
message object — Настройка сообщения обязательной подписки
Поле Тип Описание
rows integer Количество кнопок в строке
text string Текст сообщения (HTML)
button_bot string Текст кнопки для бота
button_bot_emoji integer Премиум Emoji для кнопки бота
button_channel string Текст кнопки для канала
button_channel_emoji integer Премиум Emoji для кнопки канала
button_boost string Текст кнопки для буста
button_boost_emoji integer Премиум Emoji для кнопки буста
button_url string Текст кнопки для URL
button_url_emoji integer Премиум Emoji для кнопки URL
button_fp string Текст кнопки для FlyerPartners
button_fp_emoji integer Премиум Emoji для кнопки FlyerPartners
Пример запроса
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx",
  "user_id": 123456789
}
Пример запроса с кастомным сообщением
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx",
  "user_id": 123456789,
  "message": {
    "rows": 1,
    "text": "Подпишитесь на каналы:",
    "button_channel": "Подписаться",
    "button_channel_emoji": 5397916757333654639
  }
}

Ответ 200

Поля ответа
Поле Тип Описание
skip boolean Статус подписки пользователя. true — подписан или нет заданий для выполнения, нужно пропускать, false — не подписан
attached_at integer | null Время закрепления ресурсов
error string Сообщение: ошибка (критически)
warning string Сообщение: предупреждение (важно)
info string Сообщение: информация
POST /get_tasks Получение заданий для пользователя Задания

Получение списка заданий для пользователя.

Параметры запроса

Параметр Тип Описание
key string Ключ бота
user_id integer ID пользователя Telegram
language_code string Языковой код пользователя
Только значение от Telegram
limit integer Лимит заданий (по умолчанию: 5, максимум: 10)
Используется только при новом закреплении
Пример запроса
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx",
  "user_id": 123456789,
  "limit": 10
}

Ответ 200

Поля ответа
Поле Тип Описание
result array | null Массив заданий, null при ошибке
Поле Тип Описание
signature string Идентификатор задания
task string Тип задания: start bot, subscribe channel, give boost, follow link, perform action, view posts
price float Цена за выполнение задания в рублях
links array[string] Ссылки на ресурсы задания
photo string | null Ссылка на фото ресурса
name string | null Название ресурса
status string Статус задания. Возможные значения
resource_id integer Telegram ID ресурса
is_ios_ban boolean Заблокирован на платформе IOS
attached_at integer | null Время закрепления ресурсов
error string Сообщение: ошибка (критически)
POST /check_task Проверка статуса задания Задания

Проверка текущего статуса задания.

Параметры запроса

Параметр Тип Описание
key string Ключ бота
signature string Идентификатор задания
Пример запроса
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx",
  "signature": "abc123xyz"
}

Ответ 200

Поля ответа
Поле Тип Описание
result string | null Статус задания
Значение Описание
null Ошибка задания, смотрите error
"unavailable" Ресурс больше не актуален
"incomplete" Задание не выполнено
"abort" Задание было выполнено, но сейчас не выполнено
Только каналы в режиме «С проверкой»
"waiting" Задание выполнено, ожидает оплаты в течение 24 часов
Только каналы в режиме «С проверкой»
"complete" Задание выполнено и оплачено
error string Сообщение: ошибка (критически)
POST /get_completed_tasks Получение выполненных заданий Задания без интеграции

Получение списка выполненных заданий пользователя.

Параметры запроса

Параметр Тип Описание
key string Ключ бота
user_id integer ID пользователя
Пример запроса
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx",
  "user_id": 123456789
}

Ответ 200

Поля ответа
Поле Тип Описание
result object | null Данные о выполненных заданиях, null при ошибке
Поле Тип Описание
count_all_tasks integer Общее количество заданий, включая выполненные и ожидающие
completed_tasks array Список выполненных заданий
Поле Тип Описание
signature string Идентификатор задания
task string Тип задания
price float Цена выполнения задания в рублях
status string Статус выполненного задания
attached_at integer | null Время закрепления ресурсов
error string Сообщение: ошибка (критически)
POST /max/get_tasks Получение заданий для пользователя Задания из MAX

Получение списка заданий для пользователя.

Параметры запроса

Параметр Тип Описание
key string Ключ бота
chat_id integer ID чата
user_id integer ID пользователя
user_locale string Языковой код пользователя
Только значение от MAX
limit integer Лимит заданий (по умолчанию: 5, максимум: 10)
Используется только при новом закреплении
Пример запроса
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx",
  "chat_id": 123456789,
  "user_id": 123456789,
  "limit": 10
}

Ответ 200

Поля ответа
Поле Тип Описание
result array | null Массив заданий, null при ошибке
Поле Тип Описание
signature string Идентификатор задания
task string Тип задания: start bot, subscribe channel, give boost, follow link, perform action, view posts
price float Цена за выполнение задания в рублях
links array[string] Ссылки на ресурсы задания
photo string | null Ссылка на фото ресурса
name string | null Название ресурса
status string Статус задания. Возможные значения
resource_id integer MAX ID ресурса
is_ios_ban boolean Заблокирован на платформе iOS
attached_at integer | null Время закрепления ресурсов
error string Сообщение: ошибка (критически)
POST /max/check_task Проверка статуса задания Задания из MAX

Проверка текущего статуса задания.

Параметры запроса

Параметр Тип Описание
key string Ключ бота
signature string Идентификатор задания
Пример запроса
{
  "key": "FL-xxxxx-xxxxx-xxxxx-xxxxx",
  "signature": "abc123xyz"
}

Ответ 200

Поля ответа
Поле Тип Описание
result string | null Статус задания
Значение Описание
null Ошибка задания, смотрите error
"unavailable" Ресурс больше не актуален
"incomplete" Задание не выполнено
"abort" Задание было выполнено, но сейчас не выполнено
Только каналы в режиме «С проверкой»
"waiting" Задание выполнено, ожидает оплаты в течение 24 часов
Только каналы в режиме «С проверкой»
"complete" Задание выполнено и оплачено
error string Сообщение: ошибка (критически)