Перейти к основному содержимому

Боты и аккаунт

Что есть в аккаунте: боты, проекты, цепочки, статистика, генерация нового бота, файлы и короткие ссылки.

Авторизация

Права: bots:read / bots:write, stats:read для статистики, files:write для загрузки файла, links:read / links:write для ссылок.


Боты аккаунта

GET|POST /bot/list

{
"items": [
{
"botid": "123456789",
"messenger": "telegram",
"name": "Пекарня",
"username": "pekarnya_bot",
"active": true,
"code": "839201748293011",
"subscribers": 1042
}
]
}

С этого метода удобно начинать: botid нужен почти всем остальным методам.

POST /bot/state/set — включить или выключить бота: botid и active.

POST /bot/webhook/refresh — переустановить вебхук. Нужно, когда бот перестал получать сообщения: у Телеграма вебхук иногда слетает сам. Пока только для Телеграма.


Количество подписчиков

GET|POST /bot/count

ПолеТипОбязательныйОписание
botidstringДаBotID бота
{ "count": 1024 }

Проекты, цепочки и шаги

GET|POST /group/list — проекты (группы ботов) с их кодами.

GET|POST /chain/list — цепочки:

{ "items": [ { "code": "483920174829301", "name": "Заказы", "active": true } ] }

GET|POST /chain/steps — шаги одной цепочки. С параметром blocks=true отдаёт и блоки шагов-сценариев:

{
"chain": { "code": "483920174829301", "name": "Заказы" },
"items": [
{
"code": "718239104829301",
"name": "Готовность",
"scenario": true,
"active": true,
"blocks": [ { "num": 1, "id": "b7f2", "name": "Сообщить клиенту" } ]
}
]
}

Коды отсюда нужны методам /chain/start и /block/start.


Сводка одним запросом

GET|POST /account/summary — боты, проекты, цепочки и списки сразу. Удобно на старте интеграции, чтобы не делать четыре запроса подряд.


Аккаунт, тариф и расход

GET|POST /account/get

{
"account": { "code": "a1b2c3", "balance": 1234, "trial": false, "timezone": "+05:00" },
"tariff": { "name": "Бизнес", "subscribers": 10000, "listlimit": 5000, "neurolim": 5, "api": true },
"used": {
"subscribers": 1042,
"bots": 3,
"neuro": 2,
"neuroapp": 0,
"neurolp": 1,
"disk": { "used": 184320512, "limit": 2147483648, "exceeded": false }
}
}

Здесь видно то, чего раньше через API узнать было нельзя: сколько осталось генераций, подписчиков и места на диске.

GET|POST /account/balance/get — только баланс, метод первой очереди:

{ "balance": 1234.56 }

Статистика

GET|POST /stat/get

ПолеОписание
from, toдаты в виде 2026-08-01
messengerтолько один мессенджер
{
"items": [
{ "date": "2026-08-27", "messenger": "telegram", "subscribers": 14, "canceled": 1, "sended": 320, "startchat": 9 }
],
"total": { "subscribers": 402, "canceled": 21, "sended": 8140, "startchat": 260 },
"now": { "subscribers": 1042, "blocked": 31, "dialog": 654 }
}

Собрать бота нейросетью

POST /bot/generate

curl -X POST https://api.quescha.com/api/bot/generate \
-H "Authorization: ВАШ_КЛЮЧ" -H "Content-Type: application/json" \
-d '{"theme": "Бот записи в барбершоп: услуги, мастера, свободное время, напоминание за день"}'

Отвечает сразу, а собирает в фоне — как и в кабинете:

{ "taskId": "1" }

GET|POST /bot/generate/status — ход сборки:

{ "status": "completed", "tariffneed": null, "warning": "", "neuro": 3 }

Расход считается по тем же правилам, что и генерация из кабинета: лимит тарифа, потом баланс. Подробности — в статье «Как составить описание бота».


Выгрузка и загрузка

POST /bot/export — выгрузить проекты: параметр groups, массив кодов проектов.

POST /bot/import — загрузить проект из выгрузки: параметр data.

Это те же выгрузка и загрузка, что в кабинете, — файл совместим.


Файлы

POST /file/upload — положить файл в аккаунт: по ссылке (url) или содержимым в base64 (content), необязательное name.

{ "file": "a1b2c3d4_price.pdf", "size": 102400 }

Полученное имя принимают поля вложений в сообщениях и списках.

Почему нет загрузки формой

У API нет ни одного метода с multipart/form-data, и заводить его ради одного случая не хочется: ссылка и base64 закрывают ту же задачу и проще отлаживаются.


Короткие ссылки

POST /link/create — короткая ссылка с подсчётом переходов:

ПолеОписание
urlкуда ведёт
maxvisitsпредел переходов
maxlifeсколько минут жить
{ "id": 51, "short": "https://link.quescha.com/to/…", "url": "https://example.com" }

GET|POST /link/list — ссылки и сколько раз по ним перешли.


Мини-приложения и заявки

GET|POST /webapp/list — мини-приложения аккаунта: название, тип (cat — каталог, cal — календарь, own — своё), адрес и проект.

Товары каталога и записи календаря живут своими методами — см. WebApp каталог и WebApp календарь.

GET|POST /lead/list — заявки с виджетов и бот-лендингов: вопрос, ответ, телефон, почта, обработана ли. Фильтры: answered, from, to.


Журнал вызовов API

GET|POST /log/get — что дёргали, с какими параметрами и чем сервер ответил. Хранится месяц.

ПолеОписание
pathчасть адреса метода
statusкод ответа
failedtrue — только ошибки
fromс какой даты

Тот же журнал виден в кабинете, на странице настроек аккаунта.