Flexible Reflex E-Commerce

Flexible Reflex E-Commerce


Интеграция с системой 1C.





Метод "Проверка перед возвратом"

Имя метода - 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&lt;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

]]>


Просмотр истории ...