ИС "Такском-Доклайнз"                  ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
×
3.2.6. Обработка ошибок
 
Такском-Доклайнз Web API предусматривает сообщения об ошибках при вызове методов: CertificateLogin, GetMessageList, SendMessage и GetMessage. Ошибки делятся на:
Синхронные, когда ошибка возвращается как JSON сообщение на HTTP-запрос;
Асинхронные, когда сообщение об ошибке размещено в поле ErrorMessage в контейнере Такском.
 
Пример синхронной ошибки
Например, если  card.xml не соответствует XSD-схеме, это выявляется синхронно, и ошибка отобразится а HTTP-ответе на вызов метода SendMessage:
{"Details":"Файл карточки имеет некорректную структуру (Card.xml has invalid structure)",
"AdditionalData":"The 'EernalIdentifier' attribute is not declared.",
"ApiErrorCode":2112,
"CommonDescription":"Некорректный транспортный контейнер (Transport container is invalid)",
"StatusCode":400}
 
ПРИМЕЧАНИЕ: Текст ошибки не ориентирован на конечного пользователя,  главная цель - информировать разработчика системы.
 
Пример асинхронной ошибки
Пример асинхронной ошибки: тарифный счётчик равен нулю. Ошибка проявляется, если счётчик не проверялся перед отправкой документа. При такой ситуации система Такском-Доклайнз не обрабатывает отправляемый документ и возвращает следующее сообщение:
<?xml version="1.0" encoding="windows-1251"?>
<ошибка xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <кодОшибки>3201</кодОшибки>
   <описание>Контейнер не может быть отправлен в связи с ограничениями тарификации (Transport container with invoice cannot be sent due to tariff restrictions)</описание>
</ошибка>
 
В ответе метода GetMessageList эта ошибка отображается так:
<?xml version="1.0" encoding="utf-8"?>
<ContainerDescription RequestDateTime="2012-12-13 16:46:10.206" IsLast="True"
LastRecordDateTime="2012-12-13 16:46:03.607" xmlns="http://api-invoice.taxcom.ru/meta">
   <DocFlow Id="b35ddf02-33a8-4de1-ae8c-cad96b518682">
       <Documents>
           <Document ReglamentCode="Invoice" TransactionCode="ErrorMessage">
               <Definition>
                   <Identifiers InternalId="cc322a2d-f556-4d75-ae7c-4f7f5b26877e" ParentDocumentInternalId="82cecc5e-1e2e-46e3-b2a9-c71844ff3490" />
                   <Type />
               </Definition>
           </Document>
       </Documents>
   </DocFlow>
</ContainerDescription>
 
В Приложении 2. Коды ошибок приведен полный список ошибок, диагностируемых Такском-Доклайнз Web API.