Getting Started

Формат запросов

  • Content-Type: application/json
  • Ответ: всегда JSON
  • CSRF: отключён

Проверка доступа (ключи)

Есть два варианта авторизации:

1. Секретный ключ бота (secretKey)

  • Передаётся в query: ?secretKey=<значение>
  • Если передан — проверяется только он; token не требуется
  • Ключ должен совпадать с секретным ключом бота в системе (Секретный ключ можно посмотреть в разделе "Обновить токен") и он меняется при обновлении токена.
  • При неверном ключе: ответ с ошибкой secretKey is not valid

2. Токен бота (token)

  • Передаётся в query: ?token=<значение>
  • Используется, если secretKey не передан
  • Токен должен совпадать с токеном бота в системе
  • При отсутствии: token not found; при неверном: token is not valid

Итог: либо передаёте secretKey в query (и тогда token не нужен), либо для непубличных методов передаёте token в query.


Приватные методы (пользовательский доступ)

Некоторые endpoint, требуют авторизации от имени пользователя бота. В теле POST обязательно:

  • bot_id — ID бота
  • user_id — ID пользователя бота
  • secret_user_key — секретный ключ пользователя для этого бота (генерируется/хранится на стороне клиента)

При неверном или отсутствующем secret_user_key возвращается ошибка (например, not valid user secret key).


Тариф и тип бота

  • Для большинства методов требуется премиум-тариф . При тарифе «Старт» возвращается ошибка вида tariff have been premium.
  • В боте "магазин" дополнительно проверяется тип бота (SHOP / SHOP_CART); при неверном типе — 401.

Формат ответа

  • Успех: { "result": true, "data": { ... } }
  • Ошибка: { "result": false, "message": "текст ошибки" }

При ошибке валидации ключей/токена запрос не доходит до action: ответ с result: false и соответствующим message формируется в конструкторе базового контроллера.