Appearance
Конфигуратор API v1
http
GET /api/v1/get/item/:id/configurator
Authorization: Bearer <JWTToken>Маршрут доступен администратору или пользователю с configurator=true. id — UMI object ID товара.
Успешный ответ
Сокращенный пример сохраняет точную корневую форму production-ответа:
json
{
"status": true,
"data": {
"enabled": true,
"itemId": 57114409,
"installed": {
"id": "3133ee0e-87ff-11ea-b88d-00155d50c701",
"name": "Неизменяемые опции",
"size": 0,
"multiple": false,
"empty": false,
"options": []
},
"categories": [
{
"id": "da76e7bc-bc3c-11ed-b8a2-00155d50c111",
"name": "Дополнительные опции",
"size": 4,
"multiple": true,
"empty": true,
"options": []
}
],
"options": {}
},
"error": {},
"message": ""
}installed содержит неизменяемую часть комплектации, categories — группы выбираемых опций, а options — справочник полных данных опций по их 1С ID.
Опция
json
{
"objectId": 57114889,
"name": "NFC /NFC",
"oneCId": "option-id",
"article": "00-06156794",
"stockAmount": 0,
"stores": [],
"priceData": {
"price": 55.51,
"opt_price": 54.72,
"diler_price": 53.94,
"optovaya": 53.16,
"krupnyj_opt": 52.32,
"dilerskaya": 50.76,
"krupnyj_diler": 49.56,
"partnerskaya": 45.6
},
"price": 55.51,
"personalPrice": 50.76
}price всегда содержит розничную цену, а personalPrice выбирается по priceLevel пользователя. Для уровня Розн оба значения совпадают. Исходный priceData сохраняется ради совместимости.
Товар без конфигуратора
json
{
"enabled": false,
"itemId": 123,
"installed": null,
"categories": [],
"options": {}
}Нет доступа
Маршрут возвращает HTTP 200 и ошибку:
json
{
"status": false,
"data": {},
"error": {
"name": "ConfiguratorAccessError",
"code": 1003,
"text": "У вас не достаточно прав для доступа к конфигуратору"
},
"message": ""
}