Функционал позволяет предоставлять через АПИ свои каталоги регионам франчайзи или сторонним организациям.
ВАЖНО! Сервер франчайзи / сторонней организации должен быть отдельным.
Доступ к АПИ осуществляется по ключу доступа (api_key) или по коду авторизации (auth_key).
Для настройки доступа по ключу (api_key) выполните описанные ниже шаги. Настройка должна выполняться администратором сайта.
ШАГ 1. Получение ключа доступа.
В админ панели на основном сервере перейдите в меню Сайт → Общие настройки. Найдите поле Ключ доступа к API каталогов клиента parts-soft.ru и скопируйте его значение.
Если это поле пустое, поставьте галочку Генерировать новый ключ к API каталогов parts-soft.ru и нажмите на кнопку «Сохранить» в нижней части страницы. В результате будет сгенерирован новый ключ.
Фото 1. Ключ доступа
ШАГ 2. Настройки каталогов во франчайзи.
Перейдите в админ панель франчайзи / сторонней организации. Откройте меню Служебные → Каталоги→ Настройки и введите скопированное ранее значение в поле АПИ ключ для каталогов клиента parts-soft.ru.
Также в поле Хост для каталогов клиента parts-soft.ru укажите адрес основного сайта, откуда предоставляются каталоги, с протоколом (http / https).
Нажмите на кнопку «Сохранить» в нижней части страницы.
Фото 2. Настройки каталогов
ШАГ 3. Создание каталога на основном сервере.
Перейдите в меню Служебные → Каталоги → Добавить и в нижней части блока Список действующих каталогов нажмите на кнопку «Создать».
В открывшейся форме укажите параметры каталога:
ШАГ 4. Категории товаров.
Перейдите в меню Служебные → Продукция → Категории. Найдите нужную категорию и отредактируйте ее.
Фото 4. Категории товаров
ШАГ 5. Привязка категории к каталогу
На странице настроек во вкладке Редактирование категории найдите выпадающий список Привязка к каталогу. Выберите созданный ранее каталог (см. фото 3) и нажмите на кнопку «Сохранить» в нижней части страницы.
Фото 5. Привязка категории к каталогу
ШАГ 6. Подключение каталога.
В админ панели франчайзи / сторонней организации перейдите в меню Служебные → Каталоги → Добавить. В блоке Список доступных онлайн каталогов клиента parts-soft.ru нажмите на кнопку «Подключить» в строке нужного каталога.
Фото 6. Подключение каталога
ВАЖНО! Для настройки доступа к АПИ по коду потребуется авторизация по basic auth.
ШАГ 1. Получение кода авторизации.
Получить код авторизации (auth_key) можно одним из способов:
1. Через клиентскую часть – в адресной строке браузера введите url "/api/v1/auth_key/init".
Фото 7. Получение кода авторизации
2. Через запрос – GET /api/v1/auth_key/init.
Пример ответа:
{
"result":"ok",
"auth_key":"124b0d5b13b61174751266e41ac5aa66", # код авторизации
"expires_in":"05.05.2020 15:54 +03:00", #cрок действия кода авторизации
"customer_id":5124, #ID авторизованного клиента
"user_id":1 #ID менеджера клиента
}
По умолчанию код авторизации действует 24 часа. В меню Сайт → Общие настройки можно изменить это значение.
Фото 8. Срок действия кода авторизации
ШАГ 2. Передача кода авторизации в запросах.
После получения кода авторизации его следует передавать в параметре auth_key в следующих запросах:
1. Получение списка доступных каталогов
2. Получение категории по коду каталога
3. Получение атрибутов (фильтров) и значений атрибутов категории
4. Получение списка товаров
Ниже представлена техническая документация для разработчиков.
1. Получение списка доступных каталогов
GET /api_catalog/catalogs
Пример результата:
[
{"name":"Моторные масла ",#Название каталога
"code":"pscc-api-motornye-masla", #код каталога
"category_code":"pscc-api-motornye-masla" #код категории
}
]
2. Получение категории по коду каталога
GET /api_catalog/catalogs/category
Параметры:
Пример результата:
{
"id":800, #ID категории
"name":"Моторные масла u рп", #Название категории
"description":"", #описание
"short_description":"",
"friendly_id":"pscc-api-motornye-masla",
"has_children":false,
"logo":"http://localhost:3003/logos/original/missing.png",
"children":[],
"parents":[]
}
3. Получение атрибутов (фильтров) и значений атрибутов категории
GET /api_catalog/catalogs/:category_id/attr_filters
Параметры:
Пример результата:
[
{
"name":"Тип автомобиля", # Название атрибута
"values":[ #Коллекция значение атрибута
{
"id":858, #ID значение атрибута
"name":"Легковой",
"products_count":1,
"filter_count":0
},
{
"id":873,
"name":"Грузовой",
"products_count":1,
"filter_count":0
},
{
"id":896,
"name":"Легковой/грузовой",
"products_count":1,
"filter_count":0
}
],
"type":"link",
"open":false,
"step":1,
"id":23,
"parent_id":null,
"child_id":null,
"linked_filters_title":null,
"max":0,
"min":0
}
4. Получение списка товаров
GET /catalogs/:category_id/articles_by_attrs
При наличии параметра pav_ids подбираются товары по значениям атрибутов.
Параметры:
Пример результата:
{
"products":[
{
"id":731270, #ID продукции
"oem":"0888080365", #артикул товара
"detail_name":"Toyota Engine oil .", #название товара
"description":"", #описание товара
"make_name":"TOYOTA", #бренд
"product_photo":"http://localhost:3003/system/product_photo/731270/9176_original.jpg?1394996224",
"properties":[ #коллекция свойств товара
{
"name":"API",
"value":"SL, CF",
"logo":"/logos/original/missing.png"
},
{
"name":"Объем упаковки, л",
"value":"5",
"logo":"/logos/original/missing.png"
}
]
},
....
],
"pr_count":93 #кол-во товаров в выборки
}