Перейти к содержанию

Ошибки авторизации

401 Unauthorized при запросе к транспортному API

Причины и действия:

Причина Действие
Access token истёк Вызвать POST /api/auth/refresh для получения нового токена
Refresh token истёк Пройти авторизацию по логину и паролю заново
Токен не передаётся Убедиться, что заголовок Authorization: Bearer <token> присутствует в запросе
Токен передан некорректно Убедиться, что значение соответствует формату: Bearer + JWT без переносов строк

401 при ACK после успешного GET /receive

Наиболее опасная ситуация: сообщение принято и зафиксировано в локальном хранилище, но ACK не прошёл из-за истечения токена.

Последствие: сервер DataHUB считает сообщение недоставленным и повторно доставит его при следующем запросе. Обработчик должен быть идемпотентным — повторная обработка того же сообщения не должна изменять состояние системы.

Действие: обновить токен, продолжить цикл получения.

Ошибка «неверный логин или пароль»

Проверить: 1. Логин указан точно как в Личном кабинете DataHUB (регистр важен). 2. Пароль не содержит пробелов в начале/конце (частая ошибка при копировании). 3. Учётная запись не заблокирована.

2FA: код не приходит

Проверить: 1. Номер телефона указан корректно в профиле пользователя DataHUB. 2. SMS-провайдер настроен на стороне DataHUB (параметры в конфигурации сервера). 3. Код запрашивается повторно через POST /api/auth/login/two-factor/resend.

Токены в 1С: «Доступ запрещён» сразу после авторизации

Причина: токены сохраняются в регистрах модуля, но при следующем обращении передаётся старый токен из кэша.

Действие: принудительно повторить авторизацию через кнопку «Авторизация» в форме настроек — это сбросит сохранённые токены и получит новые.

Истечение refresh token в автоматическом режиме

В 1С-модуле обмен работает без участия пользователя. Если refresh token истёк ночью или в выходные, обмен прекратится до ручной повторной авторизации.

Рекомендация: настроить мониторинг статуса фоновых заданий в 1С (раздел «Текущее состояние» формы настроек) или внешний мониторинг доступности через GET /api/exchange/whoami.