Flexible Reflex E-Commerce
Интеграция с системой 1C.
Общие сведения о сервисe.
Тип — SOAP. Авторизация — http базовая. Адрес WSDL описания
Техническая информация по описанию интерфейсов методов интеграции с системой 1СМетод "Проверка перед возвратом"
Имя метода - getUitBySgtin.
Метод ищет значение УИТ по переданному штрих коду на вшивной этикетке - SGTIN.
- Входящие параметры.
- Штрих код на вшивной этикетке - SGTIN. SGTIN - уникальный идетификатор экземпляра артикула. SGTIN - состоит из двух частей - GTIN - 13 знаков (EAN13) и уникальный номер каждого экземпляра артикула - 13 знаков. SGTIN - обязательный параметр и его длина должна быть равна 26 цифровым знакам
Пример xml текста запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.erp/"> <soapenv:Header/> <soapenv:Body> <ws:getUitBySgtin> <!--Optional:--> <sgtin>46804033919270000000196790</sgtin> </ws:getUitBySgtin> </soapenv:Body> </soapenv:Envelope>
Ответ
Техническа информация. Ответ сервиса getUitBySgtin - UitResult/** * Ответ сервиса getUitBySgtin */ @EqualsAndHashCode(callSuper = true) @Data class UitResult extends Status implements Serializable { /** * UIT кода маркировки */ private String uit; }
@Data public class Status { /** * Код ответа */ private int code; /** * Сообщение */ private String message; }
public class Result { public static final int WARNING = -2; public static final int ERRORCODE = -1; public static final int SUCCESSCODE = 1; public static final String SUCCESSMESS = "Обработка выполнена успешна..."; }
Пример положительного xml текста ответа.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getUitBySgtinResponse xmlns:ns2="http://ws.erp/"> <return> <code>1</code> <message>Обработка выполнена успешна...</message> <uit>010468040339192721yJ56cNK?IWj<s</uit> </return> </ns2:getUitBySgtinResponse> </soap:Body> </soap:Envelope>
Пример отрицательного xml текста ответа.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getUitBySgtinResponse xmlns:ns2="http://ws.erp/"> <return> <code>-1</code> <message>SGTIN должен содержать 26 знаков</message> </return> </ns2:getUitBySgtinResponse> </soap:Body> </soap:Envelope>
Метод "Проверка и установка статуса КМ"
Имя метода — kmHeapCapture.
-
Метод устанавливает новый статус кодв маркировки и делает запись в учетной карточке кода маркировки
(КМ).
- Приходная накладная на внутреннее перемещение
- Продажа КММ
- Возврат ККМ.
Вызывается при обработке документов:
Пример xml текста запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.erp/"> <soapenv:Header/> <soapenv:Body> <ws:kmHeapCapture> <KmHeap> <docDateTime>2020-09-09T15:45:00.000Z</docDateTime> <docNum>123456790</docNum> <docType>7</docType> <idFirm>172</idFirm> <commit>false</commit> <scanUit>false</scanUit> <uit>010468040344555221j1K*E>M-B3ydX</uit> <sku>437469000</sku> </KmHeap> </ws:kmHeapCapture> </soapenv:Body> </soapenv:Envelope>
Входящие параметры: KmHeap
/** * Проверка и установка статуса КМ */ @Data @XmlRootElement(name = "KmHeap") public class KmHeap implements Serializable { /** * ID магазина */ private Long idFirm; /** * Номер документа */ private String docNum; /** * Дата документа */ private Date docDateTime; /** * Тип документа */ private Long docType; /** * SKU - идентификатор артикула */ private Long sku; /** * UIT кода маркировки */ private String uit; /** * SGTIN - серийный номер */ private String sgtin; /** * Логический признак что код маркировка был просканирован или нет */ private boolean isScanUit; /** * Записать информацию - true, Проверить - false */ private Boolean commit; }
- Входящие параметры. KmHeap
Теги заголовка:
- docDateTime - дата документа формате yyyy-MM-ddTHH24:mm:ss.fffZ
- docNum - номер документа
- docType - тип документа.
- Возможные значения:
- 5 приходная накладная на внутреннее перемещение
- 7 Продажа ККМ
- 14 Возврат ККМ
- idFirm - ID магазина (склада)
- commit - Если true записать в базу данных. Если false - то выполняется проверка входных данных и информация не фиксируется в базе данных.
- sgtin - SGTIN товара.
- scanUit - признак, были ли УИТ отсканирован (true) или каким-то образом вычислен (false)
- uit - УИТ
- sku - артикул товара
Красным цветом выделены обязательные параметры.
Ответ
Техническа информация. Ответ сервиса kmHeapCapture - CaptureResponce@Data public class CaptureResponce implements Serializable { /** * Код ответа * * @see Result */ private int code; /** * Список сообщений */ private List<String> messages; }
Пример положительного xml текста ответа.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:kmHeapCaptureResponse xmlns:ns2="http://ws.erp/"> <return> <code>1</code> <messages>Обработка выполнена успешна...</messages> </return> </ns2:kmHeapCaptureResponse> </soap:Body> </soap:Envelope>
Пример отрицательного xml текста ответа.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:kmHeapCaptureResponse xmlns:ns2="http://ws.erp/"> <return> <code>-1</code> <messages>Код маркировки UIT:[010468040344555221j1K*E>M-B3ydX] должен находиться в статусе введен в оборот...</messages> </return> </ns2:kmHeapCaptureResponse> </soap:Body> </soap:Envelope>
Метод "Получение данных сертификата и ГТД"
Имя метода — getCert.
Метод возвращает инфомацию о действующем на конкретный товар сертификате (декларации) и номер Декларации на товар (ГТД).
Пример xml текста запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.erp/"> <soapenv:Header/> <soapenv:Body> <ws:getCert> <uit>010468040344555221j1K*E>M-B3ydX</uit> </ws:getCert> </soapenv:Body> </soapenv:Envelope>
Пример положительного xml текста ответа
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getCertResponse xmlns:ns2="http://ws.erp/"> <return> <certificate> <declarant>ООО "СК Трейд"</declarant> <documentbeginactiondate>2019-11-05T00:00:00+03:00</documentbeginactiondate> <documentendactiondate>2020-10-29T00:00:00+03:00</documentendactiondate> <goodsdescription>ПРЕДМЕТЫ ОДЕЖДЫ И ПРИНАДЛЕЖНОСТИ К ОДЕЖДЕ, ИЗ НАТУРАЛЬНОЙ КОЖИ ИЛИ КОМПОЗИЦИОННОЙ КОЖИ</goodsdescription> <goodstnvedcode>4203100001</goodstnvedcode> <prdocumentname>ООО "ПЕРСПЕКТИВА"</prdocumentname> <prdocumentnumber>ЕАЭС N RU Д-PK.АГ02.В.01807/19</prdocumentnumber> </certificate> <custom> <custno>10103080/100220/0008399/1</custno> </custom> <km> <gs1Datamatrix>iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAIAAABoJHXvAAACvElEQVR42u3asXLtIAwE0Pz/TydtihTXYVdg+6hk8q5tDm+QBF9fv+L7Vxg/f9xEADMOzPjf8ckffS9E41lX/23qWxowHyEBAwYMGLB/T0pjohsY7XebXHDAgAEDBuxa4dxONFYmupFApYrZSjYIDBgwYMCqkI0Eod1UXVl8py1oYMCAAXsj2GTT84QCeeXbU99Vb/4CAwYM2AvBdhWJ7YPEdsO6kYhdbv4CAwYMGLDq5r9SLDcK8HaDONV8AAYMGDBg3WJz8gJM+xDy5INQYMCAAQOWv+gyeRjYOPCcbOzGkilgwIABAxZ52K6iOHXA2E5wRjsgwIABAwYs8qO7ko5U7DpEXXpRYMCAAXsh2ORllclGavtbtuEBAwYMGLDq5rwL44REIzVvwIABAwasu+GfdjmnscgaicPSHAIDBgzYy8EaH99YTe3Cs7HgKk1tYMCAAQN2VNHavjCz62JPpWkODBgwYMCEEEKI20f7sNF4dtxEADMOzHh+n2tEqpnbaHbfPjEBBgwYsIeBpZqtKw3fq7+5q/HaOOyt3JoCBgwYsAeDpT4mlRS09+MG9uhFWGDAgAEDFkkEGhdmViYrtSgbC6vyHwAYMGDAgG3ZhNtF+mSx31hMlcwKGDBgwB4G1m6e7mrgpjb2yeTro3cDBgwYMGBjheFko/aERnCqEVHvmgMDBgzYA8BO+ODUhp961u3xgAEDBgzYlmboZKLROCzd9fvAgAEDBiz/sNTFntRz2++ZahzHskRgwIABeyHYrmJwsqicbChvywCBAQMG7MFgKxdUUglL4z0bRW67afDR3wMDBgwYsLHmaWNPTSUvk4ssdQgMDBgwYMC69Vlqg200WCebBpNJGTBgwIC9EeyOh5CN5KUdsWIfGDBgwIBVm5iNxCFVkDYK2Mb7XE46gAEDBuyFYEIIIcSN4geNKkXhSh4ytgAAAABJRU5ErkJggg==</gs1Datamatrix> <kmstate>SALE</kmstate> <uit>010468040344555221j1K*E>M-B3ydX</uit> </km> <status> <code>1</code> </status> </return> </ns2:getCertResponse> </soap:Body> </soap:Envelope>
Пример xml текста ответа (отрицательный ответ). .
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getCertResponse xmlns:ns2="http://ws.erp/"> <return> <certificate/> <custom/> <km/> <status> <code>-1</code> <message>Не удалось получить КМ по УИТ 010468040344555222j1K*E>M-B3ydX[ ]</message> </status> </return> </ns2:getCertResponse> </soap:Body> </soap:Envelope>
- Входящие параметры.
- UIT кода маркировки
/** * Информация по ГТД и сертификату для кода маркировки */ @Data static public class CertificateData { /** * Ответ * @see Status */ private Status status; /** * Код маркировки * @see Km */ private Km km; /** * ГТД * @see Custom */ private Custom custom; /** * Сертификат * @see Certificate */ private Certificate certificate; }
/** * Код маркировки */ @Data static public class Km { /** * UIT кода маркировки */ private String uit; /** * Статус кода маркировки */ private String kmstate; /** * GS1Datamatrx в кодировке base64 */ private String gs1Datamatrix; }
/** * ГТД */ @Data static public class Custom { /** * Номер ГТД для маркировки остатка */ private String custno; /** * Код таможенного органа */ private String customscode; /** * Дата ГТД */ private Date registrationdate; /** * Номер ГТД */ private String gtdnumber; }
/** * Сертификат */ @Data static public class Certificate { /** * ТНВЭД код */ private String goodstnvedcode; /** * Описание товарной группы */ private String goodsdescription; /** * КОд решения */ private String decisioncode; /** * Название документа */ private String prdocumentname; /** * Номер документа */ private String prdocumentnumber; /** * Дата документа */ private Date prdocumentdate; /** * Дата начала сертификата */ private Date documentbeginactiondate; /** * Дата окончания сертификата */ private Date documentendactiondate; /** * Декларант для маркировки остатка */ private String declarant; }
Примечание: Так как UIT может содержать специальные символы, возможно UIT нужно передавать с использованием CDATA. Зависит от языка программирования.
<![CDATA[ UIT ]]>