Боты и аккаунт
Что есть в аккаунте: боты, проекты, цепочки, статистика, генерация нового бота, файлы и короткие ссылки.
Права: 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
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
botid | string | Да | 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 | код ответа |
failed | true — только ошибки |
from | с какой даты |
Тот же журнал виден в кабинете, на странице настроек аккаунта.