Ошибки и ретраи
Все API МТС KYC платформы (KYC, Mobile ID, Verification, OCR)
возвращают ошибки через HTTP‑коды и JSON‑тело ответа.
Общие принципы ошибок
Типичные группы:
4xx— ошибки на стороне клиента:- некорректные параметры запроса;
- отсутствие обязательных полей;
- неверный токен или права доступа.
5xx— ошибки на стороне сервиса:- временные сбои инфраструктуры;
- ошибки внутренних компонентов.
Рекомендуется:
- всегда анализировать и HTTP‑код, и тело ответа;
- логировать код, текст ошибки и корреляционный идентификатор (если есть).
Примеры по продуктам
KYC
В KYC используются собственные справочники статусов и ошибок:
- статусы заявок и идентификаций описаны в разделе
«Продукты → KYC → Справочники → Статусы / Ошибки»; - при ошибках валидации или нарушении бизнес‑правил возвращаются коды с описаниями.
Рекомендуется:
- различать технические и бизнес‑ошибки;
- для бизнес‑ошибок корректно обрабатывать ситуацию на уровне UI/процессов.
Verification
В Verification ошибки делятся на:
- HTTP‑коды (
400,401,403,404,429,500и т.д.); - бизнес‑ошибки и статусы в теле ответа/Callback (см.
«Продукты → Verification → Ошибки и коды ответов»).
Примеры проблем:
- некорректный набор данных для конкретной проверки;
- некорректная настройка
completionStrategyилиmodules; - недоступность внешних источников (СМЭВ, скоринговые сервисы).
OCR
OCR имеет явные бизнес‑ошибки, например:
DocumentNotRecognized— «Невозможно произвести извлечение данных из документа.»
А также таблицу кодов:
- системные (
500 system_error,500 internal_error,500 empty_request_body, …); - бизнес‑ошибки (
400 photos_not_found,400 empty_or_correct_type_format,
400 document_type_not_foundи др.).
Подробнее см. разделы:
Продукты → OCR → Ошибки;API Reference → OCR API → Errors.
Mobile ID
Mobile ID использует стандартные ошибки OAuth 2.0:
invalid_client,invalid_grant,invalid_scopeи т.д.;- ошибки при вызове
/authorize,/token,/userinfo.
Примеры приведены в API Reference → Mobile ID API.
Ретраи и идемпотентность
- Когда можно повторять запрос
- при сетевых ошибках;
- при ответах
5xx(особенно500,502,503,504); -
при явно обозначенных временных ограничениях (
429 Too Many Requests). -
Когда ретраи опасны
-
для операций, создающих сущности (заявителей, идентификации, batch‑запросы на Verification),
важно обеспечивать идемпотентность:- использовать внешние идентификаторы (
applicantExternalId,verificationExternalId); - при повторном вызове с тем же идентификатором проверять, не был ли запрос уже обработан.
- использовать внешние идентификаторы (
-
Рекомендации по стратегии
- использовать экспоненциальную задержку между повторными попытками;
- ограничивать максимальное число ретраев;
- для callback‑обработчиков на вашей стороне также реализовать повторяемость
(чтобы повторная доставка callback не приводила к дублированию операций).
Логирование и мониторинг
- логируйте:
- время запроса;
- HTTP‑код;
- тело ошибки;
- ключевые идентификаторы (
applicantExternalId,verificationExternalIdи т.п.); - настраивайте алерты для частых или критичных ошибок (по кодам/статусам);
- используйте эти данные для настройки ретраев и улучшения UX.