Mindbox
V3 API

Обработка ошибок

Общая схема ответа с ошибкой

JSONCode
{ "status":"{Статус ошибки}", "errorMessage":"{Текст ошибки}", "errorId":"{Идентификатор ошибки}", "httpStatusCode":"{HTTP-код ошибки}" }
ИмяОписание
statusСтатус ошибки. Описание статусов и причины ошибок в разделе ниже
errorMessageОписание ошибки
errorIdИдентификатор ошибки в формате UUID. Может отсутствовать
httpStatusCodeHTTP-код ошибки

Коды и статусы ошибок

Код ответа HTTPStatus в теле ответаПричинаМожно повторять запрос
200TransactionAlreadyProcessedОперация уже была успешно обработанаНет
200ValidationErrorОшибка в данных введенных, клиентомНет
400ProtocolErrorОшибка в запросеНет
401ProtocolErrorОтсутствуют данные для авторизацииНет
403ProtocolErrorНеправильные данные авторизацииНет
404ОтсутствуетНеправильный url запросаНет
429ProtocolErrorПревышен лимит вызова одной операции в деньНет
500InternalServerErrorВременная недоступность MindboxДа
502ОтсутствуетВременная недоступность MindboxДа
503InternalServerErrorВременная недоступность MindboxДа
504ОтсутствуетВременная недоступность MindboxДа

Операция уже была успешно обработана

JSONCode
{ "status":"TransactionAlreadyProcessed" }

Означает, что транзакция с переданным уникальным идентификатором уже была обработана.

Если вы реализовали очередь запросов и повторяете запрос до тех пор пока он не обработается, то это нормальная ситуация. Если вы не повторяете запросы, то такой ответ означает, что вы передали неуникальный идентификатор транзакции.

Ошибка в данных, введенных клиентом

JSONCode
{ "status":"ValidationError", "validationMessages": [ { "message":"\"mymail\" не является корректным адресом электронной почты.", "location":"/customer/email" }, { "message":"Заполните хотя бы один контакт." } ] }

Возвращается в случае ошибок в данных, введенных клиентом.

Если вы полагаетесь на валидацию данных на стороне Mindbox, необходимо отобразить клиенту сообщение с ошибкой:

  • Если заполнен тег location, сообщение об ошибке можно показать рядом с соответствующим ему полем. В location пишется xpath поля, с которым связана ошибка.
  • Если тег location отсутствует, сообщение об ошибке относится к запросу в целом и его стоит отображать где-то в общей части.

Автоматически повторять тот же запрос в случае таких ошибок нельзя. Нужно отправить новый запрос после того, как клиент поправит ошибки в введенных данных.

Неправильный вызов операции

JSONCode
{ "status":"ProtocolError", "errorMessage":"{текст ошибки}", "errorId":"{UUID ошибки}", "httpStatusCode":"{http-код ошибки}" }

httpStatusCode дублирует код ответа HTTP.

В случае возникновениях таких ошибок, надо исправлять интеграцию. Уточните у менеджера, что именно надо поправить.

Автоматически повторять тот же запрос в случае таких ошибок нельзя. Если важно не потерять данные, стоит сохранить данные запроса, чтобы можно было его поправить и выполнить исправленную версию.

Временная недоступность Mindbox

JSONCode
{ "status":"InternalServerError", "errorMessage":"{текст ошибки}", "errorId":"{UUID ошибки}", "httpStatusCode":"{http-код ошибки}" }

Ошибка связана с временными проблемами на стороне mindbox или проблемами на уровне сети. Подробности можно уточнить у менеджера.

В случае подобной ошибки можно повторить запрос:

  • Если он не меняет данные (например, запрос получения данных клиента)
  • Если в запросе передается уникальный идентификатор транзакции (при повторе надо передавать тот же идентификатор, что и при первом запросе)
Last modified on