Метасвойства

Описание и авторизация - см. RAEC REST API документация для подключения.

Все вызовы методов API — это GET HTTP-запросы к URL http://catalog.raec.su/api/metaproperties/<метод>

Метод metaproperties/tree - получение дерева метасвойств (GET).

URL /api/metaproperties/tree


 Параметр

Тип

Описание

Пример

id

int

ID веточки дерева

31

parentId

int

ID родителя или null

null

name

string

Название веточки

Мощность, Вт

typestringТип значения A или NN
formulastringФормула для расчета метасвойстваEF000076 (EU570418*1000, EU571007*1000), EF004892
leafarrayДля веточек типа A. Массив листочков с атрибутами: id, название, синонимы, формула
[
	{"id":"25","name":"IP00","synonym":null,"formula":"EV006404"},
	{"id":"43","name":"IP05","synonym":null,"formula":"EV010695"}
]
hasChildrenbooleanФлаг, указывающий на наличие дочерних веточекtrue
childrenarrayМассив дочерних веточек. Структура повторяет вышеописанную


{
	"id": 32,
	"parentId": 31,
	"name": "Номин. мощность, Вт",

	"type": "N",
	"formula": "EF000169 (EU570418*1000), EF000806, EF002048, EF005116, EF007051 (EU000018*1000)",
	"hasChildren": false

}


Метод metaproperties/list - получение первой страницы метасвойств (100 товаров по умолчанию).

URL /api/metaproperties/list


Параметр

Тип

Описание

Пример

raecId

int

RAEC ID товара

417

metaproperties

array

Массив метасвойств


[
	{
		"tree": {
			"name": "Цвет",
			"id": 37,
			"type": "A"
		},
		"value": {
			"synonym": "металлический",
			"string": "Металлик",
			"leaf_id": 538
		}
	},
	{
		"tree": {
			"name": "Материал",
			"id": 36,
			"type": "A"
		},
		"value": {
			"synonym": null,
			"string": "Алюминий",
			"leaf_id": 152
		}
	},
	{
		"tree": {
			"name": "Тип изделия",
			"id": 33,
			"type": "A"
		},
		"value": {
			"synonym": "центральная плата",
			"string": "Накладка",
			"leaf_id": 124
		}
	},
	{
		"tree": {
			"name": "Степень защиты IP",
			"id": 20,
			"type": "A"
		},
		"value": {
			"synonym": null,
			"string": "IP20",
			"leaf_id": 47
		}
	}
]

URL /api/metaproperties/list?page=5 - пятая страница списка товаров с метасвойствами.

Применение фильтра

Изменение количества товаров в выдаче(по умолчанию 100)

Фильтр позволяет установить пользовательское значение количества товаров в выдаче. Для этого нужно передать GET параметр filter[limit].

Максимально возможное значение 1000. 

По дате последнего обновления метасвойств

Для списка товаров с метасвойствами и вывода количества страниц товаров можно использовать фильтр по дате последнего обновления метасвойств. Для этого нужно передать GET параметр filter[updatedfrom] или/и filter[updatedto]. Значение - метка времени Unix (временная зона UTC).

Набор метасвойств

По умолчанию выдается список основных и дополнительных метасвойств (см. ниже метод metaproperties/sort). Если необходимо получить все метасвойства, нужно передать GET параметр all со значением 1 (all=1).

Метод metaproperties/pages - вывод количества страниц (GET).

URL /api/metaproperties/pages

Метод возвращает целое число - количество страниц для списка товаров. В данном методе можно использовать фильтр по дате или измененное количество товаров в выдаче.

Метод metaproperties/raecId - получение метасвойств для одного товара (GET).

URL /api/metaproperties/_raecId

Возвращает массив метасвойств. Каждый элемент массива имеет следующую структуру:

 Параметр

Тип

Описание

Пример

tree


Массив

        id

int

ID веточки дерева метасвойств

33

        name

string

Название веточки

Тип изделия

        type

A
valuearrayМассив
        synonymstringСписок синонимов через запятуюисточник света, лампочка
        stringstringНазвание листочка (тип A)Лампа
        leaf_idintID листочка (тип A)100
       range_minfloatЗначение метасвойства (тип N, минимальное)-
       range_maxfloatЗначение метасвойства (тип N, максимальное)-
Пример ответа на запрос http://catalog.raec.su/api/metaproperties/625285
[
  {
    "tree": {
      "name": "Степень защиты IP",
      "id": 20,
      "type": "A"
    },
    "value": {
      "synonym": null,
      "string": "IP20",
      "leaf_id": 47
    }
  },
  {
    "tree": {
      "name": "Номин. напряжение, В",
      "id": 35,
      "type": "R"
    },
    "value": {
      "range_min": 220,
      "range_max": 230
    }
  },
  {
    "tree": {
      "name": "Тип изделия",
      "id": 33,
      "type": "A"
    },
    "value": {
      "synonym": "источник света, лампочка",
      "string": "Лампа",
      "leaf_id": 100
    }
  }
]


По умолчанию выдается список основных и дополнительных метасвойств (см. ниже метод metaproperties/sort). Если необходимо получить все метасвойства, нужно передать GET параметр all со значением 1 (all=1).


Метод metaproperties/sort - получение порядка свойств в каждом Типе изделия

URL api/metaproperties/sort

Возвращает массив. Каждый элемент массива имеет следующую структуру:

 Параметр

Тип

Описание

Пример

productTypeIdintID типа изделия91
productTypeNamestringНазвание типа изделияМодульный автоматический выключатель

sections

array

Массив групп свойств
        mainarrayМассив основных свойств

                id

int

ID свойства (веточки дерева метасвойств)

46

                name

string

Название свойства (веточки дерева метасвойств)

Количество полюсов

                priorityintПриоритет свойства в группе1
        secondaryarrayМассив дополнительных свойств

                id

int

ID свойства (веточки дерева метасвойств)

49

                name

string

Название свойства (веточки дерева метасвойств)

Тип напряжения

                priorityintПриоритет свойства в группе1

Пример ответа:

[
   {
      "productTypeId": "91",
      "productTypeName": "Модульный автоматический выключатель",
      "sections": {
        "main": [
          {
            "id": "46",
            "name": "Количество полюсов",
            "priority": "1"
          },
          {
            "id": "45",
            "name": "Характеристика срабатывания",
            "priority": "2"
          },
          {
            "id": "72",
            "name": "Номин. отключающая способность",
            "priority": "3"
          }
        ],
        "secondary": [
          {
            "id": "49",
            "name": "Тип напряжения",
            "priority": "1"
          }
        ]
      }
    },
    {
      "productTypeId": "92",
      "productTypeName": "Дифференциальный автомат",
      "sections": {
        "main": [
          {
            "id": "45",
            "name": "Характеристика срабатывания",
            "priority": "1"
          },
          {
            "id": "46",
            "name": "Количество полюсов",
            "priority": "2"
          }
        ],
        "secondary": [
          {
            "id": "66",
            "name": "Тип тока утечки",
            "priority": "1"
          }
        ]
      }
    }
]


Все примеры ответов даны при отключенном параметре json_force_object