Модуль REST API
Методы:
- offerQtyUpdate - Обновление количества у товаров (обновление остатков)
- offerQtyGet - Получение количества у товаров (получение остатков)
- offerPriceUpdate - Обновление цен и типов цен
- offerPriceGet - Получение цен вместе с их типами
- offerPriceTypesCreate - Создание типов цен
- offerPriceTypesGet - Получение типов цен
- offerStoresCreate - Создание склада
- offerStoresGet - Получение складов
- offerGet - Получение списка товаров и предложений
- getSites - Получение списка сайтов в БУС
- getCatalogsByLid - Получение списка каталогов по LID сайта
- siteRedactionGet - Получение редакции Битрикс
- moduleVersionGet - Получение версии модуля
URL:
https://#SITE#/rest/#USER#/#TOKEN#/glit.rest.catalog.#METHOD#
SITE - адрес сайта
USER - ID пользователя через которого работает рест (который сгенерировал токен)
TOKEN - токен авторизации, сгенерированный в настройках модуля реста
METHOD - метод получения/обновления данных
Например:
https://gl-it.ru/rest/1/upml6ls0db7j5l1y/glit.rest.catalog.offerQtyUpdate
Методы:
offerQtyUpdate
1. Обновление количества у товаров (обновление остатков)
PAYLOAD:
{
"products": {
"xml_id": {
"store": {
"store_xml_id": "amount"
}
}
}
}
"products" - массив xml_id товаров; "store" - массив xml_id склада -> количество товара на данном складе
Результат:
Все товары обновлены:
{
"Result": "Остатки успешно обновлены.",
"Errors": {}
}
Возможные ошибки:
{
"Result": "При обновлении остатков возникли ошибки."
"Errors": {
"General": {
"Пустой запрос." // отправлен пустой запрос
"Ошибка входящего массива товаров." // если "products" не массив
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
"Products":{
"ext_id": "Товар не найден" // если товар не найден по его xml_id
"ext_id": "Текст ошибки при неудачном обновлении" // если товар не обновлён
}
"Store":{
"store_extId": "Склад не найден" // если по этому xml_id не нашлось склада
}
"Amount":{
$store_extId + '_' + $ext_id: "Текст ошибки при обновлении количества у склада" // ошибка обновления кол-ва у склада
}
}
}
offerQtyGet
2. Получение количества у товаров (получение остатков)
PAYLOAD: отсутствует
Результат:
Получены все товары на сайте:
{
"Result": {
0: {
"AMOUNT": "1", // количество товара на данном складе
"STORE_ID": "2", // xml_id склада
"PRODUCT_ID": "3" // xml_id товара
},
},
"Errors": {}
}
Возможные ошибки:
{
"Result": {}
"Errors": {
"General": {
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
}
}
offerPriceUpdate
3. Обновление цен и типов цен
PAYLOAD:
{
"pricetype": {
"xml_id": "name"
}
"products": {
"ext_id": {
"price": {
"ext_price_id": "new_price"
}
}
}
}
Результат:
Успешное обновление цен и типов цен:
{
"Result": {
"PriceType": {
"priceType_extId": "Обновлен"
"priceType_extId": "Обновление не требуется"
"priceType_extId": "Тип цены "Название" создан. ID: 2"
},
"Product": {
"product_ext_id": {
"ext_price_id": "Цена обновлена."
"ext_price_id": "Цена установлена."
}
}
},
"Errors": {}
}
Возможные ошибки:
{
"Result": {}
"Errors": {
"General": {
"Пустой запрос." // отправлен пустой запрос
"Некорректно заданы необходимые параметры." // если "products" не массив
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
"PriceType": {
"priceType_extId": "Текст ошибки при обновлении типа цены" // если не удалось обновить тип цены
"priceType_extId": "Отсутствует поддержка множественных типов цен" // если редакция Битрикс не поддерживает множественные типы цен
"priceType_extId": "Такой тип цены уже существует" // если такой тип цен уже есть
"priceType_extId": "Текст ошибки при создании нового типа цены" // если не удалось создать новый тип цен
"priceType_extId": {
"Lang Table": "Текст ошибки при установлении названия нового типа цены в языковой таблице"
"Access Table": "Текст ошибки при установлении прав доступа нового типа цены"
}
}
"Product": {
"product_ext_id": {
"ext_price_id": "Тип цен не найден."
"ext_price_id": "Текст ошибки при добавлении цены"
"ext_price_id": "Текст ошибки при добавлении цены"
}
}
}
}
offerPriceGet
4. Получение цен вместе с их типами
PAYLOAD: Может быть пустым, тогда возвращаются все цены. Либо по фильтру входящих id товаров:
{
"products": {
"product_ext_id"
}
}
Результат:
Успешное получение цен и типов цен:
{
"Result": {
"product_ext_id": {
"ext_price_id": "1234.00"
}
},
"Errors": {}
}
Возможные ошибки:
{
"Result": {}
"Errors": {
"General": {
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
}
}
offerPriceTypesCreate
5. Создание типов цен
PAYLOAD:
{
"pricetype": {
"pricetype_ext_id": "pricetype_name"
}
}
Результат:
Успешное создание типов цен:
{
"Result": {
"PriceType": {
"priceType_extId": "Обновлен"
"priceType_extId": "Обновление не требуется"
"priceType_extId": "Тип цены "Название" создан. ID: 2"
}
},
"Errors": {}
}
Возможные ошибки:
{
"Result": ""
"Errors": {
"General": {
"Пустой запрос." // отправлен пустой запрос
"Ошибка входящего массива товаров." // если "products" не массив
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
"PriceType": {
"0_newPriceType_xmlId_newPriceType_name": "Такой тип цены уже существует"
"1_newPriceType_xmlId_newPriceType_name": "Отсутствует поддержка множественных типов цен"
"2_newPriceType_xmlId_newPriceType_name": "Текст ошибки при создании нового типа цены"
"3_newPriceType_xmlId_newPriceType_name": {
"Lang Table": "Текст ошибки при установлении названия нового типа цены в языковой таблице"
"Access Table": "Текст ошибки при установлении прав доступа нового типа цены"
}
}
}
}
offerPriceTypesGet
6. Получение типов цен
PAYLOAD: отсутствует
Результат:
Получены все все типы цен:
{
"Result": {
0: {
"priceType_xml_id": "priceType_name",
},
},
"Errors": {}
}
Возможные ошибки:
{
"Result": {}
"Errors": {
"General": {
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
}
}
offerStoresCreate
7. Создание складов
PAYLOAD:
{
"store_1_ext_id": "store_1_name",
"store_2_ext_id": "store_2_name",
...
}
Результат:
Успешное создание складов:
{
"Result": {
"Store": {
"store_extId": "Склад 'Название' создан. ID: 2"
}
},
"Errors": {}
}
Возможные ошибки:
{
"Result": "",
"Errors": {
"General": {
"Пустой запрос." // отправлен пустой запрос
"Модуль 'Каталог' не установлен" // если не установлены необходимые модули
"Отсутствует поддержка множественных складов" // если редакция Битрикса не поддерживает множественные склады
}
"Stores": {
"0_newStore_xmlId_newStore_name": "Не задан xml_id склада."
"1_newStore_xmlId_newStore_name": "Не задано название склада."
"2_newStore_xmlId_newStore_name": "Такой склад уже существует."
"3_newStore_xmlId_newStore_name": "Текст ошибки при создании склада"
}
}
}
offerStoresGet
8. Получение складов
PAYLOAD: отсутствует
Результат:
Получены все склады:
{
"Result": {
0: {
"store_xml_id": "store_name",
},
},
"Errors": {}
}
Возможные ошибки:
{
"Result": {},
"Errors": {
"General": {
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
}
}
offerGet
9. Получение всех товаров, либо по фильтру
PAYLOAD: Может быть пустым, тогда возвращаются все товары. Либо по фильтру входящих id товаров:
{
"products": {
"product_1_ext_id",
"product_2_ext_id",
...
}
}
Результат:
Получены все товары:
{
"Result": {
0: "product_1_ext_id",
1: "product_2_ext_id",
...
},
"Errors": {}
}
Возможные ошибки:
{
"Errors": {
"General": {
"Модуль "Каталог" не установлен" // если не установлены необходимые модули
}
}
}
getSites
10. Получение списка сайтов
PAYLOAD: отсутствует
Результат:
Получен список сайтов:
{
"Result": {
0: {
"lid": "s1",
"default": "Y",
"active": "Y",
"name": "Название сайта",
"server_name": "sitename.ru",
},
},
"Errors": {}
}
Возможные ошибки:
{
"Errors": {
"General": {
"Модуль 'Каталог' не установлен" // если не установлены необходимые модули
}
}
}
getCatalogsByLid
11. Получение списка каталогов по LID сайта
PAYLOAD:
{
"lid": "site_lid"
}
Результат:
Получен список сайтов:
{
"Result": {
0: {
"id": "9",
"name": "Название каталога",
"offers_id": "10",
"offers_name": "Название связанного каталога предложений"
},
},
"Errors": {}
}
Возможные ошибки:
{
"Errors": {
"General": {
"Модуль 'Каталог' не установлен" // если не установлены необходимые модули
"Ошибка входящего массива." // если входящий массив не задан или пуст, если не задано поле "lid" или оно пустое
"По этому сайту каталог не найден." // если не найден каталог по заданому LID
}
}
}
siteRedactionGet
12. Получение редакции Битрикса
PAYLOAD: отсутствует
Результат:
Получена редакция Битрикса:
{
"Result": "Малый бизнес",
"Errors": {}
}
Возможные ошибки:
{
"Errors": {
"General": {
"Модуль 'Каталог' не установлен" // если не установлены необходимые модули
}
"GetUpdatesList": {
"Текст ошибки при получении массива данных методом GetUpdatesList"
}
}
}
moduleVersionGet
13. Получение версии модуля
PAYLOAD: отсутствует
Результат:
Получена версия модуля:
{
"Result": "1.0.2",
"Errors": {}
}
Возможные ошибки:
{
"Errors": {
"General": {
"Модуль 'Каталог' не установлен" // если не установлены необходимые модули
}
}
}
Контакты
- 197342, город Санкт-Петербург, набережная Чёрной речки, 47с1
- +7 812 209 19 01
- info@gl-it.ru
- ВКонтакте Телеграм
- ОГРН 1127847042025
- ИНН 7806469739
© ООО Глобал АйТи, 2012 - 2025