Skip to content

Справочник OAuth ​

Эндпоинты ​

МетодПутьАвторизацияНазначение
POST/auth/oauth/authНетClient credentials
POST/auth/oauth/tokenНетОбмен кода или обновление
GET/auth/oauth/clientBearer (сессия входа)Данные клиента для экрана подтверждения
POST/auth/get-one-time-tokenBearer (сессия пользователя)Одноразовый токен

Хосты:

СредаХост
Продакшнhttps://api.bito.uz
Девhttps://api.systematicdev.uz

Ограничение частоты для /auth/oauth/auth, /auth/oauth/token и /auth/oauth/client: 20 запросов в минуту с одного IP. На /auth/get-one-time-token это ограничение не распространяется.

В Integration API webhook/subscribe и webhook/unsubscribe принимают 1 запрос в секунду.

Что Bito отправляет вам ​

СобытиеМетодКудаТело
УстановкаPOSTваш redirect_uri{ code, client_id, account_id }
УдалениеPOSTваш revoke_access_hook_uri{ account_id }
Изменение данныхPOSTкаждый destination вебхука{ collection_name, action, id, organization_id }

Первые два подписаны вашим client_secret (проверка X-Bito-Signature описана в разделе Хуки установки и удаления), третий — в Вебхуках данных.

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

Любой ответ Bito — успешный или нет — имеет одинаковую структуру.

Успех

json
{
    "code": 0,
    "message": "Success",
    "messages": { "uz": "...", "ru": "Успешно", "en": "..." },
    "data": {},
    "time": "2025-01-15T10:30:00.000Z"
}

Ошибка

json
{
    "code": 401,
    "message": "Unauthorized user",
    "messages": { "uz": "...", "ru": "...", "en": "Unauthorized user" },
    "time": "2025-01-15T10:30:00.000Z"
}

При успехе code равен 0. При ошибке в нём код ошибки, а data отсутствует. Ветвитесь по code, а не по тексту message — текст локализован.

Частые ошибки ​

HTTPОшибкаЧто это значитЧто делать
401UnauthorizedЗаголовок Authorization отсутствует или некорректенОтправьте Bearer <access_token>
401Token expiredAccess-токен старше 24 часовОбновите
401UnauthorizedСессия за токеном была завершенаАвторизуйтесь заново. Смена секрета делает именно это.
400Invalid credentialsclient_id и client_secret не совпадают, либо код уже использованПроверьте секрет, запросите новый код
400Client not foundКлиента с таким client_id нетПроверьте id, полученный при создании
400Auth code expiredПрошло больше 20 минутНачните сценарий заново
400Invalid scopeЗапрошенный scope не является известным значениемИсправьте значение scope
429Too many requestsБольше 20 запросов в минуту с одного IPСнизьте частоту: обновляйте токен по истечении срока

Bito 2.0 Integration API