Table of Contents |
---|
Описание
Веб-сервис запроса обратно связи предназначен для диагностики состояния получения пакетов из ERP-системы.
...
После загрузки пакета с информацией из ERP, отправляется пакет с запросом и TI-идентификатором первичного пакета.
Алгоритм построения запроса обратной связи
Drawio | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Метод | |
Метод | getPackageStatus |
URL | http://IP-адрес_сервера:8090/SET-ERPIntegration/SET/FeedbackWS |
WSDL | http://IP-адрес_сервера:8090/SET-ERPIntegration/SET/FeedbackWS?wsdl |
-
Формат данных
Поле | Тип данных | Назначение | Обязательное | ||||||||||||||||
Принимаемые параметры | |||||||||||||||||||
xmlGetstatus | xml | Список идентификаторов пакетов, по которым необходимо получить обратную связь | Да | ||||||||||||||||
import | тег | Для каждого запрашиваемого пакета указывается отдельный тег import | Да | ||||||||||||||||
ti | string | В каждом теге import указывается один идентификатор пакета в атрибуте ti, по которому необходимо получить статус импорта. | Да | ||||||||||||||||
Возвращаемые параметры | |||||||||||||||||||
xmlGetstatus | xml | Список идентификаторов запрашиваемых пакетов с указанием статуса обработки | |||||||||||||||||
import | тег | Для каждого запрошенного пакета указывается отдельный тег import | |||||||||||||||||
ti | string | В каждом теге import указывается один идентификатор запрошенного пакета в атрибуте ti. | |||||||||||||||||
Ошибки и статусы обработки всего пакета | |||||||||||||||||||
status | status-message | Назначение | Отображение при импорте типа данных | ||||||||||||||||
-1 | Происходит процесс сохранения пакета в базу данных сервера. |
| |||||||||||||||||
0 | packagedoesn'texist | Пакет не найден, то есть не отправлялся из ERP. |
| ||||||||||||||||
1 | xmlerror | Пакет не прошёл проверку валидности структуры данных - XML |
| ||||||||||||||||
2 | inprogress | Пакет в обработке |
| ||||||||||||||||
3 | correct | Пакет обработан полностью, все сущности успешно прошли валидацию |
| ||||||||||||||||
4 | invalid item | Пакет обработан полностью, но некоторые сущности не прошли проверку и были отклонены. |
| ||||||||||||||||
5 | internalerror | Произошла внутренняя критическая ошибка сервера во время обработки пакета. Дальнейшая обработка данных невозможна. |
| ||||||||||||||||
6 | dublicate item |
Произошел импорт пакета дубликата |
| ||||||||||||||||
Ошибки и статусы сущностей внутри пакета | |||||||||||||||||||
integrity_error | Сущность не соответствует настроенным параметрам валидации |
| |||||||||||||||||
parent_error | Сущность не соответствует настроенным параметрам валидации |
|
Пример запроса и ответа
Code Block | ||||
---|---|---|---|---|
| ||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:feed="http://feedback.ERPIntegration.crystals.ru/"> <soapenv:Header /> <soapenv:Body> <feed:getPackageStatus> <xmlGetstatus> <import ti="12345" /> <import ti="12346" /> </xmlGetstatus> </feed:getPackageStatus> </soapenv:Body> </soapenv:Envelope> |
Code Block | ||||
---|---|---|---|---|
| ||||
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header /> <env:Body> <ns2:getPackageStatusResponse xmlns:ns2="http://feedback.ERPIntegration.crystals.ru/"> <xmlGetstatus> <import ti="12345" status="3" status-message="correct"/> <import ti="12346" status="0" status-message="package doesn't exist"/> </xmlGetstatus> </ns2:getPackageStatusResponse> </env:Body> </env:Envelope> |
-
Текстовый формат для 1С | |
Метод | getPackageStatusLight |
URL | http://IP-адрес_сервера:8090/SET-ERPIntegration/SET/FeedbackWS |
WSDL | http://IP-адрес_сервера:8090/SET-ERPIntegration/SET/FeedbackWS?wsdl |
Поле | Тип данных | Описание |
Принимаемые параметры | ||
ti | string | Список идентификаторов пакетов, по которым необходимо получить обратную связь. В формате строки через "," (через запятую) Пример: |
Возвращаемые параметры | ||
return | Base64 | XML ответа, со структурой, аналогичной описанному выше ответу Весь xml ответа передается как одна закодированная в Base64 строка |
Code Block | ||||
---|---|---|---|---|
| ||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:feed="http://feedback.ERPIntegration.crystals.ru/"> <soapenv:Header /> <soapenv:Body> <feed:getPackageStatusLight> <ti>12345,12346</ti> </feed:getPackageStatusLight> </soapenv:Body> </soapenv:Envelope> |
Code Block | ||||
---|---|---|---|---|
| ||||
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header /> <env:Body> <ns2:getPackageStatusResponse xmlns:ns2="http://feedback.ERPIntegration.crystals.ru/"> <return> PHhtbEdldHN0YXR1cz4KPGltcG9ydCB0aT0iMTIzNDUiIHN0YXR1cz0iMyIgc3RhdHVzLW1lc3NhZ2U9ImNvcnJlY3QiLz4KPGltcG9ydCB0aT0iMTIzNDYiIHN0YXR1cz0iMCIgc3RhdHVzLW1lc3NhZ2U9InBhY2thZ2UgZG9lc24ndCBleGlzdCIvPgo8L3htbEdldHN0YXR1cz4= </return> </ns2:getPackageStatusResponse> </env:Body> </env:Envelope> |
Code Block | ||||
---|---|---|---|---|
| ||||
<xmlGetstatus> <import ti="12345" status="3" status-message="correct"/> <import ti="12346" status="0" status-message="package doesn't exist"/> </xmlGetstatus> |
Обратная связь по типам данных
Товары
В случае загрузки справочника товаров с помощью методов с обратной связью, при обнаружении ошибок в данных по конкретным товарам, не приводящим к нарушению целостности всего XML-пакета, информация по таким ошибкам будет накапливаться по мере обработки всего пакета. Когда весь пакет будет обработан, он получит статус 4 (invalid item), а вложенными тегами в таком пакете будут указаны коды товаров с указанием конкретной ошибки.
Если в этом же пакете будут находиться товары, по которым не будет обнаружено ошибок, то такие товары нормальным образом пройдут проверку и попадут на кассы (в случае нормального прохождения других ступеней бизнес логики, таких как печать ценников)
Возвращаемые параметры | |||
Поле | Тип | Описание | |
good | тег | По каждому товару в XML пакете, при обработке которого произошла ошибка, и соответственно товар не был доставлен на кассу. | |
marking-of-the-good | string | Код товара | |
errortype | string | Тип ошибки -integrityError Указывается, когда товар не проходит проверку целостности данных. И задерживается на полке отклонённых товаров. Например, при обязательном наличии НДС, пришёл товар без НДС. | |
errormessage | string | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной ошибки. |
Code Block | ||
---|---|---|
| ||
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header /> <env:Body> <ns2:getPackageStatusResponse xmlns:ns2="http://feedback.ERPIntegration.crystals.ru/"> <xmlGetstatus> <import ti="12345" status="4" status-message="invalid item"/> <good marking-of-the-good="010080_ST" errortype="integrityError" errormessage="Отсутствует корректная цена у товара." /> <good marking-of-the-good="010081_ST" errortype="integrityError" errormessage="У товара отсутствует НДС"/> </xmlGetstatus> </ns2:getPackageStatusResponse> </env:Body> </env:Envelope> |
Комплекты
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Возвращаемые параметры | |||
Поле | Тип | Описание | |
good | тег | По каждому комплекту в XML-пакете, при обработке которого произошла ошибка, и соответственно товар не был доставлен на кассу. | |
marking-of-the-good | string | Код комплекта | |
errortype | string | Тип ошибки -integrityError Указывается, когда товар не проходит проверку целостности данных. И задерживается на полке отклонённых товаров. Например, при обязательном наличии НДС, пришёл товар без НДС. | |
errormessage | string | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной
|
Code Block | ||||
---|---|---|---|---|
| ||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getPackageStatusResponse xmlns:ns2="http://feedback.ERPIntegration.crystals.ru/"> <xmlGetstatus> <import status-message="invalid item" status="4" ti="232323232"> <good errormessage="Указано не верное количество товара в комплекте. Должно быть положительным В справочнике товаров нет товара, входящего в комплект Указано не верное количество товара в комплекте. Должно быть положительным В справочнике товаров нет товара, входящего в комплект Указано не верное количество товара в комплекте. Должно быть положительным В справочнике товаров нет товара, входящего в комплект" errortype="INTEGRITY_ERROR" marking-of-the-good="111113"/> </import> </xmlGetstatus> </ns2:getPackageStatusResponse> </soap:Body> </soap:Envelope> |
Кассиры
Возвращаемые параметры | |||
Поле | Тип | Описание | |
cashUser | тег | По каждому кассиру в XML-пакете, при обработке которого произошла ошибка, и соответственно кассир не был доставлен на кассу. | |
tabNum | string | Табельный номер кассира | |
errortype | string | Тип ошибки - integrityError Указывается, когда кассир не проходит проверку целостности данных. Например, при обязательном наличии фамилии, пришёл кассир без фамилии. | |
errormessage | string | Сообщение об ошибке. Для возможности отправки сотрудникам ответственным за возникновение данной ошибки. |
...
Code Block | ||
---|---|---|
| ||
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header /> <env:Body> <ns2:getPackageStatusResponse xmlns:ns2="http://feedback.ERPIntegration.crystals.ru/"> <xmlGetstatus> <import ti="12349" status="4" status-message="invalid item"> <cashUser tabNum="" errortype="integrityError" errormessage="Cashier '' is not valid: CashUserType.tabNum: is empty" /> <cashUser tabNum="1427" errortype="integrityError" errormessage="Cashier '1427' is not valid: CashUserType.password: is empty" /> </import> </xmlGetstatus> </ns2:getPackageStatusResponse> </env:Body> </env:Envelope> |
Дисконтные карты
Возвращаемые параметры | |||
Поле | Тип | Описание | |
internal-card | тег | По каждой карте в XML пакете, при обработке которой произошла ошибка, и соответственно карта не была загружена в систему. | |
number | string | Номер карты | |
errortype | string | Тип ошибки - integrityError Указывается, когда карта не проходит проверку целостности данных. | |
errormessage | string | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной ошибки |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header /> <env:Body> <ns2:getPackageStatusResponse xmlns:ns2="http://feedback.ERPIntegration.crystals.ru/"> <xmlGetstatus> <import ti="89" status="4" status-message="invalid item"> <internal-card number="0270416" errortype="integrityError" errormessage="Карта отклонена по причине отсутствия типа [card-type-guid]" /> <internal-card number="" errortype="integrityError" errormessage="Карта отклонена по причине отсутствия номера [number]" /> </import> </xmlGetstatus> </ns2:getPackageStatusResponse> </env:Body> </env:Envelope> |
Рекламные акции
Возвращаемые параметры | |||
Поле | Тип | Описание | |
AdvertisingAction | тег | По каждой рекламной акции в XML пакете, при обработке которой произошла ошибка, и соответственно акция не была доставлен на кассу. | |
external-code | string | Внешний код рекламной акции | |
errortype | string | Тип ошибки - integrityError Указывается, когда рекламная акция не проходит проверку целостности данных. | |
errormessage | string | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной ошибки. |
...