Веб-сервис запроса обратно связи предназначен для диагностики состояния получения пакетов из ERP-системы.
Для того, чтобы произвести диагностику отправленной информации из ERP-системы, произведите выгрузку с уникальным идентификатором пакета TI.
Идентификатор пакета ti Transaction Id – является уникальным идентификатором этого пакета в SetRetail10, что накладывает определённые ограничения на повторный импорт пакета и загрузку разных типов данных с одним идентификатором. |
После загрузки пакета с информацией из ERP, отправляется пакет с запросом и TI-идентификатором первичного пакета.
Метод | |
Метод | 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 | Сущность не соответствует настроенным параметрам валидации |
|
<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> |
<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 строка |
<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> |
<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> |
<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 | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной ошибки. |
<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> |
Возвращаемые параметры | |||
Поле | Тип | Описание | |
good | тег | По каждому комплекту в XML-пакете, при обработке которого произошла ошибка, и соответственно товар не был доставлен на кассу. | |
marking-of-the-good | string | Код комплекта | |
errortype | string | Тип ошибки -integrityError Указывается, когда товар не проходит проверку целостности данных. И задерживается на полке отклонённых товаров. Например, при обязательном наличии НДС, пришёл товар без НДС. | |
errormessage | string | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной
|
<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 | Сообщение об ошибке. Для возможности отправки сотрудникам ответственным за возникновение данной ошибки. |
<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 | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной ошибки |
При ошибочном импорте карт может отобразиться сообщения integrityError, то есть ошибка при проверке целостности данных. |
<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 | Сообщение об ошибке. Сообщение указывается на русском языке, для возможности его отправки сотрудникам ответственным за возникновение данной ошибки. |
При ошибочном рекламных акций может отобразиться сообщения integrityError, то есть ошибка при проверке целостности данных. |
<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="12350" status="4" status-message="invalid product"> <AdvertisingAction external-code="TEST122-1" errortype="integrityError" errormessage="Action 'BB1.2 TEST122-1' is not valid: Actions results/set: set has row without marking-of-the-good information Parent action with external code SR10_SECONDPRICE does not exist in BD" /> </import> </xmlGetstatus> </ns2:getPackageStatusResponse> </env:Body> </env:Envelope> |