Skip to main content

Настройки интеграций с магазинами и маркетплейсами

Реализован http сервис для работы с магазинами и маркетплейсами. Добавлен следующий функционал:

1. Получение одного магазина. Метод GET /api/lite/settings/eshop?id=sdjkcjnsd-njkw398njk-njskdcbj. Получаем вот такую JSON:

{
     "shops":[
                 {
                     "active":false,
                     "additional_params_dictionary":"",
                     "apiPassword":"AgAAAAA2xaMuAAXwby5dKO5av0XslPGLxdkzUAA",
                     "apiToken":"FF000001AC70ED29",
                     "apiUrl":"https://app.kak2c.ru/api/beru/588589",
                     "autoSkuImportInterval":24,
                     "bitrixCatalogId":"e4a1920d-f154-7284-bad4-a7b9546032fe",
                     "bitrixCatalogName":"Каталог товаров KAK2C7",
                     "confirmationType":"SELF_CONFIRM",
                     "default":false,
                     "defaultVat":"NO_VAT",
                     "deliveryInfoID":"42fe7049-6c47-2bca-e690-c49267060e9f",
                     "eshopOfferIdType":"EXT_ID",
                     "extId":"21584150",
                     "id":"e4a1920d-f154-7284-bad4-a7b9546032fe",
                     "isActive":false,
                     "isDefault":false,
                     "isOrdersEnabled":false,
                     "name":"Bro Cosmetics",
                     "needAutoSkuImport":false,
                     "needCodConfirmation":true,
                     "needCopyOrderNumber":true,
                     "needExportStatuses":false,
                     "needPrepayConfirmation":false,
                     "needReserve":true,
                     "needRestsControl":true,
                     "ordersImportInterval":1,
                     "percentStock":100,
                     "prevPriceTypeID":"805a5315-4d39-523a-6d79-e90fcc056abd",
                     "priceTypeID":"35578ac2-7949-8b3f-cbd0-19cdb82a2046",
                     "pricesRestsExportInterval":1,
                     "reserveType":"ON_IMPORT",
                     "syncOrdersToEshopMode":"NO_SYNC",
                     "tenantOrganizationID":"ad68f1b6-8975-1179-9fe6-df8bbb6333f2",
                     "type":"BERU",
                     "warehouseID":"6805bc64-270f-ae7d-1231-773ff181e446"
               }
    ],
    "success":true
}

При этом нужно учесть что для tenantOrganization вместо объекта возвращается его id в поле tenantOrganizationID. То же сделано для warehouse-warehouseID, deliveryInfo-deliveryInfoID, prevPriceType-prevPriceTypeID и priceType-priceTypeID. Соответственно на фронте нужно получить эти объекты из базы по id.

2. Получения списка магазинов. Метода GET /api/lite/settings/eshop. Получаем файл аналогичный предыдущему, но вместо одного магазина в файле все магазины данного клиента.

3. Изменение и добавление магазина реализовано одной операцией. Метод POST /api/lite/settings/eshop. В теле метода передаем json:

{
                     "active":false,
                     "additional_params_dictionary":"",
                     "apiPassword":"AgAAAAA2xaMuAAXwby5dKO5av0XslPGLxdkzUAA",
                     "apiToken":"FF000001AC70ED29",
                     "apiUrl":"https://app.kak2c.ru/api/beru/588589",
                     "autoSkuImportInterval":24,
                     "bitrixCatalogId":"e4a1920d-f154-7284-bad4-a7b9546032fe",
                     "bitrixCatalogName":"Каталог товаров KAK2C7",
                     "confirmationType":"SELF_CONFIRM",
                     "default":false,
                     "defaultVat":"NO_VAT",
                     "deliveryInfoID":"42fe7049-6c47-2bca-e690-c49267060e9f",
                     "eshopOfferIdType":"EXT_ID",
                     "extId":"21584150",
                     "id":"e4a1920d-f154-7284-bad4-a7b9546032fe",
                     "isActive":false,
                     "isDefault":false,
                     "isOrdersEnabled":false,
                     "name":"Bro Cosmetics",
                     "needAutoSkuImport":false,
                     "needCodConfirmation":true,
                     "needCopyOrderNumber":true,
                     "needExportStatuses":false,
                     "needPrepayConfirmation":false,
                     "needReserve":true,
                     "needRestsControl":true,
                     "ordersImportInterval":1,
                     "percentStock":100,
                     "prevPriceTypeID":"805a5315-4d39-523a-6d79-e90fcc056abd",
                     "priceTypeID":"35578ac2-7949-8b3f-cbd0-19cdb82a2046",
                     "pricesRestsExportInterval":1,
                     "reserveType":"ON_IMPORT",
                     "syncOrdersToEshopMode":"NO_SYNC",
                     "tenantOrganizationID":"ad68f1b6-8975-1179-9fe6-df8bbb6333f2",
                     "type":"BERU",
                     "warehouseID":"6805bc64-270f-ae7d-1231-773ff181e446"
               }

изменение происходит если заполнен id, добавление при пустом id. Также нужно учесть что нужно передать tenantOrganizationID, warehouseID, eliveryInfoID, revPriceTypeID и priceTypeID.

4. Удаление магазина. Метод DELETE /api/lite/settings/eshop?id=sdjkcjnsd-njkw398njk-njskdcbj. Удаляет магазин из базы.