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

Коды ошибок

Ошибки возвращаются внутри payload_base64 в виде XML-структуры <ErrorList>. Сервер при этом возвращает HTTP 200.

Структура ошибки

<ErrorList>
  <Error>
    <Code>215</Code>
    <Description>Часть payload токена невалидна</Description>
    <Params>
      <Param>
        <Key>Причина</Key>
        <Value>Element 'Competition': Missing child element(s). Expected is one of (MedicalExamination, CompetitionParamList).</Value>
      </Param>
    </Params>
    <Time>2025-03-29T11:45:35+03:00</Time>
  </Error>
</ErrorList>

При ошибке 215 теги после первого в сообщении могут быть необязательными — это особенность технической реализации, их учитывать не нужно.

Поле Stage

В response-схеме всегда присутствует поле Stage: - Validate — ошибка на этапе валидации схемы (XML не соответствует XSD) - Business — ошибка бизнес-логики (данные валидны, но нарушают правила)


Коды ошибок

2xx — Ошибки токена и валидации

Код Описание Что делать
201 Ошибка декодирования Проверить Base64-кодировку payload
202 Неизвестный тип сущности Проверить поле data_type в Token-Header
203 Действие над сущностью не найдено Проверить поле action в Token-Header
204 Не найден классификатор Проверить Id в полях ссылающихся на классификаторы
205 Попытка изменения параметра, запрещённая бизнес-логикой Изменение этого поля недопустимо в текущем состоянии
206 Токен невалиден — невалидные символы Проверить кодировку строки
206 Выбранный классификатор не имеет необходимого параметра Проверить наличие нужного параметра у классификатора
207 Ошибка валидации поля xs:dateTime Формат: 2006-01-02T15:04:05+03:00
208 Ошибка валидации поля xs:date Формат: 2006-01-02
209 Верификация токена провалена — подпись не совпадает Проверить формирование подписываемой строки: Token-Header.payload_base64
210 Организация не найдена Проверить ОГРН/КПП
211 Сертификат организации не найден Загрузить сертификат в ЛК ФИС
212 Подозрительная активность — попытка доступа к данным другой организации Проверить ОГРН/КПП в Token-Header
213 Токен невалиден Проверить структуру токена
214 Комбинация EntityType + Action не разрешена Проверить допустимые операции для сущности
215 Часть payload невалидна Провалидировать XML по XSD-схеме локально
216 Часть header токена невалидна Проверить структуру Token-Header
217 Нельзя подавать более одного объекта без уникальных полей Добавить уникальные идентификаторы для каждого объекта
218 Нельзя повторять поля уникальной идентификации в одном токене Убрать дублирующиеся записи
219 Нельзя повторять классификаторы внутри одного массива Убрать дублирующиеся классификаторы
220 Нельзя повторять поля уникальной идентификации вложенного объекта Убрать дубли во вложенных объектах
221 СНИЛС невалиден СНИЛС должен содержать ровно 11 цифр
222 Объект EntranceTest не может ссылаться сам на себя Проверить поле IdEntranceTest
223 В объекте не указан необходимый параметр Проверить обязательные поля в схеме

3xx — Ошибки бизнес-логики справочников

Код Описание Что делать
301 Изменение справочника НП запрещено — есть активная кампания Дождаться окончания приёма или изменить в допустимый период
302 Справочник НП с таким ID уже существует Использовать Edit вместо Add
303 Справочник НП не найден Проверить IdOrgDirection
304 Справочник НП не является видом спорта Указать справочник типа «спорт»
305 Указанный IdSubject обязывает указать UidDictionaryValueSport Добавить справочник дополнительных параметров типа «спорт»
306 Указанный IdSubject не допускает UidDictionaryValueSport Убрать справочник типа «спорт»
307 Справочник НП не является видом музыкального инструмента Указать справочник типа «музыкальный инструмент»
308 При добавлении доп. параметров НП — справочник должен иметь вид 1 или 6 Проверить тип справочника
310 НП организации с таким ID уже существует Использовать Edit вместо Add
311 НП организации не найдено Проверить IdOrgDirection
312 НП организации с таким НП уже существует для данной организации Убрать дубль НП
313 Есть дубли НП — убрать, сущность OrgDirectionList Убрать дублирующиеся НП

Полный список кодов 3xx–5xx уточнять в Приложении Г Спецификации API (source-docs/).


Советы по отладке

Сначала проверяй локально. Перед отправкой запроса провалидируй XML через XSD-схему локально — это быстрее чем разбирать ошибку 215 из ответа API.

xmllint --noout --schema schemas/OwnXsd/ApplicationList/Add.xsd твой_документ.xml

Смотри на Stage. Если Stage: Validate — ищи несоответствие схеме. Если Stage: Business — данные валидны, но нарушено бизнес-правило.

Код 212 — внимание. Это «подозрительная активность». Несколько таких ошибок подряд могут привести к временной блокировке. Немедленно проверь что ОГРН/КПП в заголовке совпадают с сертификатом.