RAEC REST API документация для подключения




1. Описание

Взаимодействие происходит по протоколу HTTP. REST API предназначен для запросов с внешних серверов (интернет-магазинов) к серверу RAEC.

Форматы выдачи ответа API — JSON (по умолчанию) или XML. Чтобы выбрать формат ответа XML необходимо в заголовке запроса передать параметр "format: xml".

Параметрв выдачи JSON

Есть возможность выдавать объект вместо массива при использовании неассоциативного массива, это полезно, когда принимающая программа или код ожидают объект или же массив пуст. Для включения такой возможности необходимо в заголовке (header) запроса передать специальные параметр json_force_object равный единицы.

Например при json_force_object: 1 пустой массив галереи изображений товара будет выглядеть так "gallery": {}

По умолчанию "gallery": []


2. Авторизация

Авторизация запроса происходит по API-KEY, который выдается каждому пользователю индивидуально. API-KEY должен быть указан в HEADER каждого запроса.

Коды состояния ответа сервера

200 - OK.

400 - Bad Request.

401 - You must be authorized to view this page.

403 - Forbidden

404 - The requested URL was not found.

500 - The server encountered an error processing your request.

501 - The requested method is not implemented.

Как использовать API

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

3. Методы 

Название

Описание

etimgroup

Получение информации о группах ETIM (вывод списком, запрос по конкретной группе)

etimclass

Получение информации о классах ETIM (вывод списком с разбивкой по страницам, запрос по конкретному классу, запрос на количество страниц в списке)

brand

Получение информации о Брендах (список брендов, запрос по конкретному бренду)

product

Получение информации о товарах (вывод списка с разбивкой по страницам, запрос по конкретному товару, запрос на количество страниц в списке)

category

Получение списка разделов RAEC вместе с подразделами

companyПолучение списка компаний, к которым принадлежит пользователь, делающий запрос
filtersettingsНастройки фильтра параметрического поиска (наборы свойств в фильтрах разделов и подразделов)
remainsПолучение списка остатков товара на складах производителей
storage  Получение списка складов брендов
productdeletedПолучение RAEC_ID удаленных товаров

Дополнительные параметры строки запроса

Название

Описание

Пример URL

/

Без параметров

Вывод первой страницы списка объектов

http://catalog.raec.su/api/etimclass

/page-<номер страницы>

Вывод списка объектов определенной страницы. Объектов на страницу выводится 100.

http://catalog.raec.su/api/etimclass/page-2

/<ID объекта>

Вывод информации по конкретному объекту

http://catalog.raec.su/api/etimclass/EC000054

/pages

Вывод количества страниц для данного объекта

http://catalog.raec.su/api/etimclass/pages


3.1 Метод etimgroup

Параметр

Тип

Описание

Пример

groupId

string

ETIM ID группы

EG000001

descriptionEn

string

Название группы EN

Cables and wires

descriptionRu

string

Название группы RU

Кабель и провод

Пример ответа на запрос http://catalog.raec.su/api/etimgroup/EG000001

{"groupId":"EG000001","descriptionEn":"Cables and wires","descriptionRu":"Кабель и провод"}


3.2 Метод brand 

Параметр

Тип

Описание

Пример

id

int

ID бренда в системе RAEC

2

name

string

Название бренда

Schneider Electric

description

string

краткое наименование 15 символов

SEL

seriesarrayМассив возможных серий данного бренда[{"id":236, "name":"DEK"},{"id":292, "name":"I-line II"}]
seriesMarketingarrayМассив возможных маркетинговых серий данного бренда[{"id":46, "name":"Дуэт"},{"id":49, "name":"Этюд"}]

Пример ответа на запрос http://catalog.raec.su/api/brand/2

{"id":2,"name":"Schneider Electric","description":"SE",series:[{"id":236, "name":"DEK"},{"id":292, "name":"I-line II"}]}


3.3 Метод etimclass

Параметр

Тип

Описание

Пример

classId

string

ETIM ID класса

EC000052

groupId

string

ETIM ID группы

EG000006

descriptionEn

string

Название класса EN

Coupler for plinth skirting duct

descriptionRu

string

Название класса RU

Соединение\/накладка на стык для плинтусного кабель-канал

categoryName

string

Название раздела RAEC

Кабеленесущие системы (системы для прокладки кабеля)

categoryId

int

ID раздела RAEC

54

subcategoryName

string

Название подраздела RAEC, к которому относится класс

Кабель-каналы плинтусные и аксессуары

subcategoryId

int

ID подраздела RAEC, к которому относится класс

134

etimVersionStart

string

Значение ETIM версии, с которой появился данный класс. Справочник возможный значений ETIM версий 

ETIM 5
etimVersionEndstringКонечное значение ETIM версии, в которой присутсвует данный класс. Если etimVersionEnd пустое значит класс действителен на текущий момент. ETIM 7

features

array

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

  • featureId - ETIM ID свойства
  • descriptionEn - название EN
  • descriptionRu - Название RU
  • required - флаг "обязательное для заполнения свойство"
  • gold - флаг "золотое свойство"
  • sortGlobal - порядок сортировки в списке всех свойств (глобальная сортировка)
  • type - тип свойства
  • unit - единица измерения
  • values - массив возможных значений для свойства типа A
  • sortInClass - порядок сортировки в классе
  • etimVersionStart и etimVersionEnd - диапазон ETIM версий, в которых данное свойство присутвует в классе; если etimVersionEnd пустое значит свойтсво действительно на текущий момент. 
JSON
[
      {
        "featureId": "EF001630",
        "descriptionEn": "Diameter outer conductor",
        "descriptionRu": "Диаметр внешн. проводника",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "N",
        "unit": {
          "id": "EU570448",
          "descriptionEn": "mm",
          "descriptionRu": "мм"
        },
        "values": [],
        "sortInClass": "1",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": "ETIM 5"
      },
      {
        "featureId": "EF001631",
        "descriptionEn": "Outer conductor material",
        "descriptionRu": "Материал внешн. проводника",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV003884",
            "descriptionEn": "Al",
            "descriptionRu": "Алюминий",
            "sort": "1"
          },
          {
            "valueId": "EV004567",
            "descriptionEn": "Fe",
            "descriptionRu": "Сталь",
            "sort": "4"
          }
        ],
        "sortInClass": "2",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      }
]



synonyms

array

Массив синонимов класса (name — название синонима)

[{"name":"Coupler"}]

Фильтры

По группе ETIM (метод etimclass)

Возвращает классы принадлежащие одной группе 

Пример кода с использованием RestClient: 

$response = $client->get('etimclass', array('filter[etimgroup]' => 'EG000001'));

 

Возвращать только свойства, обязательные для заполнения

Пример кода с использованием RestClient:

$response = $client->get('etimclass', array('filter[onlyRequiredFeature]' => 1));


Возвращать только золотые свойства

Пример кода с использованием RestClient:

$response = $client->get('etimclass', array('filter[onlyGoldFeature]' => 1));


Возвращать только свойства, определенной ETIM версии

Пример кода с использованием RestClient:

$response = $client->get('etimclass', array('filter[etimVersion]' => 'ETIM 5'));


Пример ответа на запрос http://catalog.raec.su/api/etimclass/EC000019

JSON
{
    "classId": "EC000019",
    "groupId": "EG000001",
    "descriptionEn": "Coaxial cable",
    "descriptionRu": "Coaxial cable (*)",
    "subcategoryId": "71",
    "categoryId": "12",
    "subcategoryName": "Аксессуары и крепеж для лотков кабельных",
    "categoryName": "Кабеленесущие системы (системы для прокладки кабеля)",
    "etimVersionStart": "ETIM 5",
    "etimVersionEnd": "ETIM 5",
    "features": [
      {
        "featureId": "EF001627",
        "descriptionEn": "Inner conductor material",
        "descriptionRu": "Материал внутр. проводника",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV003884",
            "descriptionEn": "Al",
            "descriptionRu": "Алюминий",
            "sort": "1"
          },
          {
            "valueId": "EV004250",
            "descriptionEn": "Cu, bare",
            "descriptionRu": "Медь (без покрытия)",
            "sort": "2"
          },
          {
            "valueId": "EV004251",
            "descriptionEn": "Cu, tinned",
            "descriptionRu": "Медь луженая",
            "sort": "3"
          },
          {
            "valueId": "EV004566",
            "descriptionEn": "Fe-Cu",
            "descriptionRu": "Сталь омедненная",
            "sort": "4"
          }
        ],
        "sortInClass": "1",
        "etimVersionStart": "ETIM 7",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001676",
        "descriptionEn": "Inner conductor category",
        "descriptionRu": "Класс внутр. проводника",
        "required": 0,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV004199",
            "descriptionEn": "Class 1 = solid",
            "descriptionRu": "Класс 1 (однопроволочная жила)",
            "sort": "1"
          },
          {
            "valueId": "EV004200",
            "descriptionEn": "Class 2 = stranded",
            "descriptionRu": "Класс 2 (многопроволочная жила)",
            "sort": "2"
          },
          {
            "valueId": "EV004201",
            "descriptionEn": "Class 5 = flexible",
            "descriptionRu": "Класс 5 (многопроволочная гибкая жила)",
            "sort": "3"
          },
          {
            "valueId": "EV004202",
            "descriptionEn": "Class 6 = very flexible",
            "descriptionRu": "Класс 6 (многопроволочная жила повыш. гибкости)",
            "sort": "4"
          }
        ],
        "sortInClass": "2",
        "etimVersionStart": "ETIM 7",
        "etimVersionEnd": "ETIM 7"
      },
      {
        "featureId": "EF001629",
        "descriptionEn": "Diameter inner conductor",
        "descriptionRu": "Диаметр внутр. проводника",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "N",
        "unit": {
          "id": "EU570448",
          "descriptionEn": "mm",
          "descriptionRu": "мм"
        },
        "values": [],
        "sortInClass": "3",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": "ETIM 7"
      },
      {
        "featureId": "EF001630",
        "descriptionEn": "Diameter outer conductor",
        "descriptionRu": "Диаметр внешн. проводника",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "N",
        "unit": {
          "id": "EU570448",
          "descriptionEn": "mm",
          "descriptionRu": "мм"
        },
        "values": [],
        "sortInClass": "4",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": "ETIM 5"
      },
      {
        "featureId": "EF001631",
        "descriptionEn": "Outer conductor material",
        "descriptionRu": "Материал внешн. проводника",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV003884",
            "descriptionEn": "Al",
            "descriptionRu": "Алюминий",
            "sort": "1"
          },
          {
            "valueId": "EV004250",
            "descriptionEn": "Cu, bare",
            "descriptionRu": "Медь (без покрытия)",
            "sort": "2"
          },
          {
            "valueId": "EV004251",
            "descriptionEn": "Cu, tinned",
            "descriptionRu": "Медь луженая",
            "sort": "3"
          },
          {
            "valueId": "EV004567",
            "descriptionEn": "Fe",
            "descriptionRu": "Сталь",
            "sort": "4"
          }
        ],
        "sortInClass": "5",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001626",
        "descriptionEn": "Type of outer conductor",
        "descriptionRu": "Тип внешн. проводника",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV004527",
            "descriptionEn": "Foil + braiding",
            "descriptionRu": "Фольга + оплетка",
            "sort": "1"
          },
          {
            "valueId": "EV003607",
            "descriptionEn": "Braiding",
            "descriptionRu": "Оплетка",
            "sort": "2"
          },
          {
            "valueId": "EV004234",
            "descriptionEn": "Lap-screen",
            "descriptionRu": "Экран (опоясывающий)",
            "sort": "3"
          },
          {
            "valueId": "EV004196",
            "descriptionEn": "Corrugated metal",
            "descriptionRu": "Гофриров./волнистая металл. рубашка",
            "sort": "4"
          }
        ],
        "sortInClass": "6",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF000068",
        "descriptionEn": "Dielectric",
        "descriptionRu": "Диэлектрик",
        "required": 0,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV004235",
            "descriptionEn": "Hollow PE",
            "descriptionRu": "Полый полиэтилен",
            "sort": "1"
          },
          {
            "valueId": "EV003876",
            "descriptionEn": "Solid PE",
            "descriptionRu": "Твердый полиэтилен",
            "sort": "2"
          },
          {
            "valueId": "EV001101",
            "descriptionEn": "Foam PE",
            "descriptionRu": "Вспененный полиэтилен",
            "sort": "3"
          },
          {
            "valueId": "EV000154",
            "descriptionEn": "Other",
            "descriptionRu": "Прочее",
            "sort": "4"
          }
        ],
        "sortInClass": "7",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001024",
        "descriptionEn": "Armouring",
        "descriptionRu": "Бронированный",
        "required": 0,
        "gold": 0,
        "sortGlobal": "500",
        "type": "L",
        "unit": "",
        "values": [],
        "sortInClass": "8",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001625",
        "descriptionEn": "Material outer sheath",
        "descriptionRu": "Материал внешн. оболочки",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV004194",
            "descriptionEn": "Copolymer, thermoplastic",
            "descriptionRu": "Сополимер термопласт ",
            "sort": "1"
          },
          {
            "valueId": "EV000157",
            "descriptionEn": "PE (polyethylene)",
            "descriptionRu": "Полиэтилен (PE)",
            "sort": "2"
          },
          {
            "valueId": "EV006305",
            "descriptionEn": "PE / polyamide",
            "descriptionRu": "Полиэтилен (PE)/полиамид",
            "sort": "3"
          },
          {
            "valueId": "EV000402",
            "descriptionEn": "Polyamide",
            "descriptionRu": "Полиамид",
            "sort": "4"
          },
          {
            "valueId": "EV001108",
            "descriptionEn": "Polyolefin",
            "descriptionRu": "Полиолефин",
            "sort": "5"
          },
          {
            "valueId": "EV000163",
            "descriptionEn": "PVC",
            "descriptionRu": "Поливинилхлорид (ПВХ/PVC)",
            "sort": "6"
          },
          {
            "valueId": "EV000154",
            "descriptionEn": "Other",
            "descriptionRu": "Прочее",
            "sort": "7"
          },
          {
            "valueId": "EV001752",
            "descriptionEn": "Textile",
            "descriptionRu": "Ткань",
            "sort": "8"
          }
        ],
        "sortInClass": "9",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001618",
        "descriptionEn": "Colour outer sheath",
        "descriptionRu": "Цвет внешн. оболочки",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "A",
        "unit": "",
        "values": [
          {
            "valueId": "EV000080",
            "descriptionEn": "Blue",
            "descriptionRu": "Синий/ голубой",
            "sort": "1"
          },
          {
            "valueId": "EV000083",
            "descriptionEn": "Brown",
            "descriptionRu": "Коричневый",
            "sort": "2"
          },
          {
            "valueId": "EV000234",
            "descriptionEn": "Yellow",
            "descriptionRu": "Желтый",
            "sort": "3"
          },
          {
            "valueId": "EV000270",
            "descriptionEn": "Grey",
            "descriptionRu": "Серый",
            "sort": "4"
          },
          {
            "valueId": "EV000235",
            "descriptionEn": "Green",
            "descriptionRu": "Зеленый",
            "sort": "5"
          },
          {
            "valueId": "EV000236",
            "descriptionEn": "Orange",
            "descriptionRu": "Оранжевый",
            "sort": "6"
          },
          {
            "valueId": "EV000233",
            "descriptionEn": "Red",
            "descriptionRu": "Красный",
            "sort": "7"
          },
          {
            "valueId": "EV000206",
            "descriptionEn": "Black",
            "descriptionRu": "Черный",
            "sort": "8"
          },
          {
            "valueId": "EV000202",
            "descriptionEn": "White",
            "descriptionRu": "Белый",
            "sort": "9"
          },
          {
            "valueId": "EV000154",
            "descriptionEn": "Other",
            "descriptionRu": "Прочее",
            "sort": "10"
          }
        ],
        "sortInClass": "10",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF009769",
        "descriptionEn": "Halogen free (acc. EN 60754-1/2)",
        "descriptionRu": "Halogen free (acc. EN 60754-1/2) (*)",
        "required": 0,
        "gold": 0,
        "sortGlobal": "500",
        "type": "L",
        "unit": "",
        "values": [],
        "sortInClass": "11",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF003791",
        "descriptionEn": "Halogen free (acc. EN 50267-2-2)",
        "descriptionRu": "Свободный от галогенов (согл. EN 50267-2-2)",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "L",
        "unit": "",
        "values": [],
        "sortInClass": "11",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001628",
        "descriptionEn": "Characteristic impedance",
        "descriptionRu": "Волновое сопротивление сопротивление",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "N",
        "unit": {
          "id": "EU570104",
          "descriptionEn": "Ohm",
          "descriptionRu": "Ом"
        },
        "values": [],
        "sortInClass": "12",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF003921",
        "descriptionEn": "Outer diameter approx.",
        "descriptionRu": "Внешн. диаметр (прибл.)",
        "required": 1,
        "gold": 0,
        "sortGlobal": "500",
        "type": "N",
        "unit": {
          "id": "EU570448",
          "descriptionEn": "mm",
          "descriptionRu": "мм"
        },
        "values": [],
        "sortInClass": "13",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001685",
        "descriptionEn": "Operating temperature, flexible",
        "descriptionRu": "Температура при монтаж. и эксплуат. изгибах (в движении)",
        "required": 0,
        "gold": 0,
        "sortGlobal": "500",
        "type": "R",
        "unit": {
          "id": "EU570073",
          "descriptionEn": "°C",
          "descriptionRu": "°C"
        },
        "values": [],
        "sortInClass": "14",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      },
      {
        "featureId": "EF001686",
        "descriptionEn": "Operating temperature, fix",
        "descriptionRu": "Температура  при эксплуат. в неподвижн. состоянии (без движения)",
        "required": 0,
        "gold": 0,
        "sortGlobal": "500",
        "type": "R",
        "unit": {
          "id": "EU570073",
          "descriptionEn": "°C",
          "descriptionRu": "°C"
        },
        "values": [],
        "sortInClass": "15",
        "etimVersionStart": "ETIM 5",
        "etimVersionEnd": ""
      }
    ],
    "synonyms": [
      {
        "name": "Antenna cable"
      },
      {
        "name": "Cable"
      },
      {
        "name": "Coaxial cable"
      },
      {
        "name": "RG 11"
      },
      {
        "name": "RG 174"
      },
      {
        "name": "RG 213"
      },
      {
        "name": "RG 214"
      },
      {
        "name": "RG 223"
      },
      {
        "name": "RG 58"
      },
      {
        "name": "RG 59"
      },
      {
        "name": "RG 6"
      },
      {
        "name": "RG 62"
      },
      {
        "name": "RG 71"
      },
      {
        "name": "RG 8"
      },
      {
        "name": "Twinax"
      },
      {
        "name": "Антенный кабель"
      },
      {
        "name": "Телевизионный кабель"
      },
      {
        "name": "RG-6"
      },
      {
        "name": "SAT"
      },
      {
        "name": "РК-75"
      },
      {
        "name": "РК-50"
      },
      {
        "name": "Audio cable"
      },
      {
        "name": "Backbone cable"
      },
      {
        "name": "Bamboo cable"
      },
      {
        "name": "CATV cable"
      },
      {
        "name": "CCTV cable"
      },
      {
        "name": "Data network cable"
      },
      {
        "name": "Ethernet cable"
      },
      {
        "name": "Multi coax"
      },
      {
        "name": "Network cable"
      },
      {
        "name": "Signal cable"
      },
      {
        "name": "Telematics cable"
      },
      {
        "name": "Trunk cable"
      },
      {
        "name": "Twinax cable"
      },
      {
        "name": "Video cable"
      }
    ]
}   



3.4 Метод product

Параметр

Тип

Описание

Пример

raecId

int

RAEC ID товара

24

supplierId

string

Код поставщика

6190-0-0031

supplierAltId

string

Альтернативный код поставщика

6190-0-0031

descriptionShort

string

Краткое название


descriptionFull

string

Полное описание


descriptionRu

string

Название RU

Рамка уст. под MOSAIC 4-мод. (для колонн DLP)

descriptionAuto

string

Название, сгенерированное автоматически для некоторых товаров

Светильник-переноска светодиодный (LED) 1.8Вт 220-230В со шнуром 5м черный Camelion

descriptionAutoYandexstringАвтоматическое Yandex названиеСветильник cветодиод. (LED) SVT
namingstringНейминг от производителя"Акация"
colorstringОттенок цвета от производителяАнтрацит
manufacturerLinkurlСсылка на сайте производителяhttps://www.teploluxe.ru/bytovye_resheniya/group/warmstad_wsm/
youtubeCodestrung

Код видеоролика на youtube.com.

Использование данного кода:

  • для формирования ссылки на видеоролик, например https://youtu.be/SgfmP5l1cfI
  • для формирования HTML кода для вставки видео в интернет-магазин, например 

    <iframe width="560" height="315" src="https://www.youtube.com/embed/SgfmP5l1cfI" frameborder="0" allowfullscreen></iframe>
SgfmP5l1cfI

ean

string

Штрих-код EAN (13 цифр)

4010337136460

warranty

int

Гарантия производителя, мес.

6

netWeight

float

Вес нетто единицы, кг


deliveryTimeintСрок поставки в днях12
multyplicitystringКратность заказа поставщику100
thvedstringКод ТН ВЭД8539100009
thvedDescriptionstringОписание ТН ВЭДЛампы накаливания
goldenPhotonbooleanЗолотой фотон (0 или 1)1
honestPositionbooleanУчастник хартии Честная позиция (0 или 1)0
replacementCodestringКод замены (для снятых с производства)6190-0-0031

lastupdate

date

Дата последнего обновления товара

2014-05-15 10:48:40

individualCodes

array

Коды компаний, к которым принадлежит пользователь, делающий запрос. Ключ массива соответствует ID компании. Это имеет значение если пользователь принадлежит нескольким компаниям.

article -артикул

status - статус / складской код

description - примечание 

"individualCodes": {
      "1": [],
      "2": {
        "companyId": "2",
        "article": "2CKA001754A4232(1754-0-4232)",
        "status": "Z",
        "description": ""
      }
}

etimclass

array

ETIM класс, к которому принадлежит товар

{"id":"EC000275","descriptionEn":"Rail terminal bar","descriptionRu":"Клеммная колодка на рейку"}

brand

array

Бренд

{"id":21,"name":"ABL SURSUM"}

supplierStatusarrayСтатус поставщика для товара{"id":11,"name":"Z"}
seriesarrayСерия товара{"id":1,"name":"POWER"}
seriesMarketingarrayМаркетингоавя серия товара (по которой ориентируются потребители){"id":7,"name":"Celiane"}

seriesName deprecated

string

Серия товара deprecated


seriesId deprecatedintID серии товара deprecated

groupName

string

Группа товара


country

array

Страна происхождеия

{"code":"643","name":"Россия","nameFull":"Российская Федерация","codeA2":"RU","codeA3":"RUS"}

orderUnitarrayЕдиница измерения{"code":"006","name":"Метр","abbrR":"м","abbrI":"m"}

image

array

Изображение товара (url).

Состоит из превью 60, 150, 600 px и оригинального изображения - max

{"60":"http:\/\/catalog.raec.su\/uploads\/images\/product\/no_class\/60\/798d6d0c2cace81228727fa8f2d63dd3.jpg","150":"http:\/\/catalog.raec.su\/uploads\/images\/product\/no_class\/150\/798d6d0c2cace81228727fa8f2d63dd3.jpg","600":"http:\/\/catalog.raec.su\/uploads\/images\/product\/no_class\/600\/798d6d0c2cace81228727fa8f2d63dd3.jpg","max":"http:\/\/catalog.raec.su\/uploads\/images\/product\/no_class\/max\/798d6d0c2cace81228727fa8f2d63dd3.jpg"}

filesarray

Файлы.

url -ссылка на файл;

size -размер файла в байтах;

mimetype - MIME-тип файла;

type - тип файла, возможные значения:

1 - Инструкция

2 - Сертификат

3 - Страница в каталоге

4 - 3D-модель

5 - Паспорт

6 - Техническая информация

7 - Листовка

8 - Фото360 (zip архив)

Для сертификатов могут быть указаны:

- срок действия ОТ certificateValidityFrom

- срок действия ДО  и certificateValidityTo

- тип сертификата - certificateType, например "EAC"

- номер сертификата certificateNumber

JSON
"files": [
      {
        "url": "http://catalog.raec.su/uploads/files/0d9637cdc146dd5e017af8527f696ee3.zip",
        "size": "28079618",
        "mimetype": "application/zip",
        "type": {
          "id": "8",
          "name": "Фото 360"
        }
      },
      {
        "url": "http://catalog.raec.su/uploads/files/d75c6edc5f1712aed86a31a911fbf2d1.png",
        "size": "188148",
        "mimetype": "image/png",
        "type": {
          "id": "2",
          "name": "Сертификат"
        },
        "certificateValidityFrom": "2020-01-29",
        "certificateValidityTo": null,
        "certificateNumber": null,
        "certificateType": "Отказное письмо"
      },
      {
        "url": "http://catalog.raec.su/uploads/files/certificates/3a48330d405b1f69b44399d955768306.png",
        "size": "188148",
        "mimetype": "image/png",
        "type": {
          "id": "2",
          "name": "Сертификат"
        },
        "certificateValidityFrom": "2020-01-29",
        "certificateValidityTo": null,
        "certificateNumber": "ТС RU С-RU.АВ72.В.01831",
        "certificateType": "Сертификат EAC"
      }
]


features

array

Свойства товара.


id - ETIM ID свойства;

descriptionEn - название свойства EN;

descriptionRu - название свойства RU;

type - тип свойства

value - значение свойства;

valueDescriptionEn - название значения EN;

valueDescriptionRu - название значения EN;

required - флаг, что данное свойство является обязательным (1|0)
gold - флаг, что данное свойство является золотым (1|0)

unit - единица измерения;

etimVersionStart и etimVersionEnd - диапазон ETIM версий, в которых данное свойство присутвует в классе; если etimVersionEnd пустое значит свойтсво действительно на текущий момент.


Типы свойств:

A - выбор из списка;

N - число;

R - диапазон;

L - логический (флажок).


В значении свойства может быть указан диапазон, разделитель для диапазона «...» (например 2...14).

В значении свойства могут быть указаны также служебные значения:

- (минус) - Не определено

* (звездочка) - Данные не найдены


JSON
[
        {
          "id": "EF007258",
          "descriptionEn": "Suitable for round conductor connection",
          "descriptionRu": "Для провода круглого сечения",
          "type": "L",
          "value": "true",
          "valueDescriptionEn": "",
          "valueDescriptionRu": "",
          "required": 1,
          "gold": 0,
          "unit": [],
          "etimVersionStart": "ETIM 5",
          "etimVersionEnd": null
        },
        {
          "id": "EF007219",
          "descriptionEn": "Busbar width",
          "descriptionRu": "Ширина шинопровода",
          "type": "R",
          "value": "-5.3...10",
          "valueDescriptionEn": "",
          "valueDescriptionRu": "",
          "required": 0,
          "gold": 0,
          "unit": {
            "id": "EU570448",
            "descriptionEn": "mm",
            "descriptionRu": "мм"
          },
          "etimVersionStart": "ETIM 5",
          "etimVersionEnd": "ETIM 5"
        }
      ]


galleryarray

Галерея изображений для товара.

Состоит из превью 60, 150, 600 px и оригинального изображения - max

Массив пустой, если у товара нет галереи.

"gallery":[{"60":"http:\/\/catalog.raec.su\/uploads\/gallery\/14\/60\/8c7f560bbecb6c71ff174bea86dc6dec.jpg","150":"http:\/\/catalog.raec.su\/uploads\/gallery\/14\/150\/8c7f560bbecb6c71ff174bea86dc6dec.jpg","600":"http:\/\/catalog.raec.su\/uploads\/gallery\/14\/600\/8c7f560bbecb6c71ff174bea86dc6dec.jpg","max":"http:\/\/catalog.raec.su\/uploads\/gallery\/14\/max\/8c7f560bbecb6c71ff174bea86dc6dec.jpg"}]
productRelatedarray

Связанные товары

raecId - РАЭК ID связанного товара;

realted_type - название типа связи. Возможные значения: "Аксессуар", "Комплект", "Подходит для", "Сопутствующий товар", "Аналог"


{"raecId":"528522","related_type":"\u0410\u043a\u0441\u0435\u0441\u0441\u0443\u0430\u0440"}
packaging
array

Упаковки товара.

pack - Общая информация о упаковке
  • id - ID типа упаковки
  • name - название типа упаковки

quantity - количество

length - длина, м
width - ширина, м
height - высота, м
grossWeight - Вес брутто, кг
amount - Объем упаковки, м.куб.
ean - Штрих-код EAN 13
[
{"pack":{"id":1,"name":"Минимальная (внутренняя) упаковка"},"quantity":"1","length":null,"width":null,"height":null,"grossWeight":"0.001","amount":null,"ean":"4606056412987"},
{"pack":{"id":2,"name":"Транспортная упаковка (коробка)"},"quantity":"8000","length":"42","width":"33","height":"28","grossWeight":"11","amount":null,"ean":"4606056413007"}
]
pricesarray

Цены товара

currency - валюта

  • name - название
  • code - код

price_amount - цена без НДС (устарело NEW)

price_vat_amount - цена с НДС (устарело NEW)

price_mrc - МРЦ

price_tarif - тарифная цена NEW

price_rrc - разрешенная розничная цена NEW

price_rrcim - разрешенная розничная цена интернет магазинов NEW

price_distributor - дистрибьюткрская цена (недоступно для Сторонних дистрибьютеров) NEW

JSON
    "prices": {
      "0": {
        "currency": {
          "name": "Российский рубль",
          "code": "RUB"
        },
        "price_amount": "44",
        "price_vat_amount": "55",
		"price_mrc": "77.88",
        "price_tarif": null,
        "price_rrc": null,
        "price_rrcim": null,
        "price_distributor": null
      },
      "1": {
        "currency": {
          "name": "Доллар США",
          "code": "USD"
        },
        "price_amount": "22",
        "price_vat_amount": "24",
		"price_mrc": null,
        "price_tarif": null,
        "price_rrc": null,
        "price_rrcim": null,
        "price_distributor": null
      }
    },
replacement booleanПри удалении товаров из БД, в некоторых случаях, указывается замена для удаляемого товара. При получении данных по конкретному товару, который был удален, могут быть переданы данные другого товара, являющегося заменой. Например запрос 'product/ID_товара' может вернуть товар с другим raecId и replacement = true"replacement": true

Пример ответа на запрос http://catalog.raec.su/api/product/24

{"raecId":"24","supplierId":"6190-0-0031","supplierAltId":"6190-0-0031","descriptionShort":"6190\/41 \u0414\u0430\u0442\u0447\u0438\u043a \u0441\u0438\u043b\u044b \u0432\u0435\u0442\u0440\u0430 \u0434\u043b\u044f 6190\/40","descriptionFull":"","descriptionRu":"","descriptionAuto":"","ean":"4011395988442","warranty":"0","netWeight":null,"lastupdate":"2014-05-15 09:48:40","rusLocalization":"1","absStatus":null,"absArticle":null,"etimclass":[],"brand":{"id":1,"name":"ABB"},"supplierStatus":{"id":11,"name":"Z"},"series":{"id":1,"name":"POWER"},"seriesMarketing":[],"groupName":"","country":[],"orderUnit":{"code":"796","name":"Штука","abbrR":"шт","abbrI":"pc; 1"},"image":{"60":"http:\/\/project.raec\/uploads\/images\/product\/no_class\/60\/798d6d0c2cace81228727fa8f2d63dd3.jpg","150":"http:\/\/project.raec\/uploads\/images\/product\/no_class\/150\/798d6d0c2cace81228727fa8f2d63dd3.jpg","600":"http:\/\/project.raec\/uploads\/images\/product\/no_class\/600\/798d6d0c2cace81228727fa8f2d63dd3.jpg","max":"http:\/\/project.raec\/uploads\/images\/product\/no_class\/max\/798d6d0c2cace81228727fa8f2d63dd3.jpg"},"files":[],"features":[{"id":"EF000040","descriptionEn":"Height","descriptionRu":"\u0412\u044b\u0441\u043e\u0442\u0430","type":"N","value":160,"valueDescriptionEn":"","valueDescriptionRu":"","unit":[]},{"id":"EF000458","descriptionEn":"With display","descriptionRu":"\u0421 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c","type":"L","value":"\u041d\u0435\u0442","valueDescriptionEn":"","valueDescriptionRu":"","unit":[]},{"id":"EF000506","descriptionEn":"Output signal","descriptionRu":"\u0412\u044b\u0445\u043e\u0434.\u0441\u0438\u0433\u043d\u0430\u043b","type":"A","value":"EV007983","valueDescriptionEn":"0-10 V","valueDescriptionRu":"0-10 \u0412","unit":[]},{"id":"EF000536","descriptionEn":"Cable length","descriptionRu":"\u0414\u043b\u0438\u043d\u0430 \u043a\u0430\u0431\u0435\u043\u044f","type":"N","value":3,"valueDescriptionEn":"","valueDescriptionRu":"","unit":[]},{"id":"EF004663","descriptionEn":"Explosion-proof","descriptionRu":"\u0412\u0437\u0440\u044b\u0432\u043e\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439","type":"L","value":"\u041d\u0435\u0442","valueDescriptionEn":"","valueDescriptionRu":"","unit":[]}]"gallery":[]}


3.5 Метод category

Параметр

Тип

Описание

Пример

id

int

ID раздела

134

name

string

Название раздела

Арматура кабельная, крепеж и аксессуары для кабеля

subcategory

array

Подразделы, входящие в раздел

[{"id":"137","name":"Аксессуары для кабеля"},{"id":"135","name":"Кабельные вводы"},{"id":"140","name":"Кабельные муфты"},{"id":"138","name":"Кабельные наконечники и соединители (гильзы)"},{"id":"136","name":"Крепеж для кабеля"},{"id":"139","name":"Термоусаживаемые и изоляционные материалы для кабеля","sort":1}]

sortintПорядок сортировки раздела5

Пример ответа на запрос http://catalog.raec.su/api/category/134

{"id":"134","name":"Арматура кабельная, крепеж и аксессуары для кабеля","sort":"Арматура кабельная, крепеж и аксессуары для кабеля","subcategory":[{"id":"137","name":"Аксессуары для кабеля","sort":"5"},{"id":"135","name":"Кабельные вводы","sort":"5"},{"id":"140","name":"Кабельные муфты","sort":"5"},{"id":"138","name":"Кабельные наконечники и соединители (гильзы)","sort":"5"},{"id":"136","name":"Крепеж для кабеля","sort":"5"},{"id":"139","name":"Термоусаживаемые и изоляционные материалы для кабеля","sort":"5"}]}


3.6 Метод company

Параметр

Тип

Описание

Пример

id

int

ID компании

4

name

string

Название раздела

АВС-электро

site

string

Подразделы, входящие в раздел

http://www.avselectro.ru

usersstringПользователи, принадлежащие компании через запятуюФедоров Сергей, Юров Дмитрий

Пример ответа на запрос http://catalog.raec.su/api/company


[{"id":"4","name":"АВС-электро","site":"http:\/\/www.avselectro.ru","users":"Федоров Сергей, Юров Дмитрий"},{"id":"1","name":"Уралэнерго","site":"http:\/\/www.u-energo.ru","users":"Николаев Антон \/ Уралэнерго"}]


3.7 Метод filtersettings

Параметр

Тип

Описание

Пример

categoryId

int | null

ID раздела

134

subCategoryId

int | null

ID подраздела

136

classId

int | null

ID ETIM класса

EC000003

featureIdint | nullID ETIM свойстваEF001559
typeOfFilterstring | nullТип фильтра (null - по умолчанию, "Список", "Ползунок")Список

 Пример ответа на запрос http://catalog.raec.su/api/filtersettings

[{"categoryId":"11","subCategoryId":null,"classId":null,"featureId":"AF000001","typeOfFilter":null},{"categoryId":null,"subCategoryId":"41","classId":null,"featureId":"AF000001","typeOfFilter":null},{"categoryId":null,"subCategoryId":"39","classId":null,"featureId":"AF000001","typeOfFilter":null},{"categoryId":null,"subCategoryId":"40","classId":null,"featureId":"AF000001","typeOfFilter":null},{"categoryId":null,"subCategoryId":"41","classId":null,"featureId":"AF000002","typeOfFilter":null},{"categoryId":null,"subCategoryId":"44","classId":null,"featureId":"AF000002","typeOfFilter":null},{"categoryId":"11","subCategoryId":null,"classId":null,"featureId":"EF000035","typeOfFilter":"Список"},{"categoryId":null,"subCategoryId":"41","classId":null,"featureId":"EF000035","typeOfFilter":"Список"},{"categoryId":null,"subCategoryId":null,"classId":"EC000003","featureId":"EF000002","typeOfFilter":"Ползунок"},{"categoryId":"109","subCategoryId":null,"classId":null,"featureId":"EF000002","typeOfFilter":"Ползунок"},{"categoryId":null,"subCategoryId":"137","classId":null,"featureId":"EF000002","typeOfFilter":"Ползунок"}]


3.8 Метод remains 

Метод позволяет получить сведения о количестве остатков продукции на складах поставщиков. Для данного метода есть возможность только получать список товаров и количество страниц. Задавать фильтр по RAEC_ID товара (productId), по бренду (brandId), по дате актуальности (relevanceDate), дате обновления (modifiedDate), списку складов (storageId), ID компании по наличию индивидуального кода (companyId).

Параметр

Тип

Описание

Пример

raecId

int

RAEC_ID товара

870533

supplierId

string

Код поставщика

4911003320

descriptionShort

string

Краткое название

Светильник 214 ALD 16521430/1004000050

descriptionRu

string

Название RU


minConsignment

int | null

Минимальная партия, шт

1

guaranteedQuantityint | nullГарантированное количество товара к отгрузке со склада, шт8
balanceTotalintОбщий остаток5
balanceFreeintСвободный остаток5
deliveryDaysintСрок поставки, дней7
modifiedDatestringДата обновления2015-07-21 11:37:59
relevanceDatestringДата актуальности2015-07-21

supply 

deprecated

array

Ближайшая ожидаемая поставка deprecated

  • balance - количество
  • date - ожидаемая дата поставки
{"balance":480000,"date":"2017-01-18"}
suppliesarray

Список ожидаемых поставок

  • balance - количество
  • date - ожидаемая дата поставки
"supplies":[{"balance":"1440000","date":"2017-01-18"},{"balance":"2016000","date":"2017-02-04"}]}
brandarrayИнформация о бренде товара/поставщика{"id":27,"name":"Световые технологии"}
storagearrayИнформация о складе{"id":1,"name":"Рязань"}

 Пример ответа на запрос http://catalog.raec.su/api/remains

JSON
{
  "res": "ok",
  "data": [
    {
      "raecId": 712320,
      "minConsignment": null,
	  "guaranteedQuantity": 8,
      "balanceTotal": 30,
      "balanceFree": 30,
      "deliveryDays": "",
      "modifiedDate": "2017-04-21 11:14:27",
      "relevanceDate": "2017-04-21",
      "supplierId": "E44ORG1UB",
      "descriptionRu": "",
      "descriptionShort": "Орган Каб 19\"1u 5 Колец Ч",
      "supply": {
        "balance": 0,
        "date": null
      },
      "brand": {
        "id": 139,
        "name": "Estap (Legrand)"
      },
      "storage": {
        "id": 366,
        "name": "Основной"
      },
      "supplies": []
    },
    {
      "raecId": 712333,
      "minConsignment": null,
      "guaranteedQuantity": 23,
      "balanceTotal": 1,
      "balanceFree": 1,
      "deliveryDays": "",
      "modifiedDate": "2017-04-21 11:14:27",
      "relevanceDate": "2017-04-21",
      "supplierId": "E44RAK30G",
      "descriptionRu": "",
      "descriptionShort": "19\" 2u Конс П, Глуб 300мм С",
      "supply": {
        "balance": 0,
        "date": null
      },
      "brand": {
        "id": 139,
        "name": "Estap (Legrand)"
      },
      "storage": {
        "id": 366,
        "name": "Основной"
      },
      "supplies": []
    },
    {
      "raecId": 712459,
      "minConsignment": null,
      "guaranteedQuantity": null,
      "balanceTotal": 20,
      "balanceFree": 20,
      "deliveryDays": "",
      "modifiedDate": "2017-04-21 11:14:27",
      "relevanceDate": "2017-04-21",
      "supplierId": "M44RLD80",
      "descriptionRu": "",
      "descriptionShort": "Уголки Д/Подд,Гл.800мм",
      "supply": {
        "balance": 0,
        "date": null
      },
      "brand": {
        "id": 139,
        "name": "Estap (Legrand)"
      },
      "storage": {
        "id": 366,
        "name": "Основной"
      },
      "supplies": []
    },
    {
      "raecId": 712465,
      "minConsignment": null,
      "guaranteedQuantity": 1,
      "balanceTotal": 1,
      "balanceFree": 1,
      "deliveryDays": "",
      "modifiedDate": "2017-04-21 11:14:27",
      "relevanceDate": "2017-04-21",
      "supplierId": "M44SBR80G",
      "descriptionRu": "",
      "descriptionShort": "Стац Полка Перф, Глуб 800мм С",
      "supply": {
        "balance": 0,
        "date": null
      },
      "brand": {
        "id": 139,
        "name": "Estap (Legrand)"
      },
      "storage": {
        "id": 366,
        "name": "Основной"
      },
      "supplies": []
    }
  ]
}


Примеры кода с использованием RestClient:

  • $response = $client→get('remains');                                                                                       // список остатков
  • $response = $client->get('remains', ['filter[productId]' => 812440]);                                     // фильтр по raecId товара
  • $response = $client->get('remains', ['filter[brandId]' => 2]);                                                  // фильтр по бренду товара
  • $response = $client->get('remains', ['filter[companyId]' => 2]);                                             //  фильтр по наличию у товара индивидуального кода от компании с ID=2 (пользватель, от имени которого идет запрос, должен быть привязан к данной компании).
  • $response = $client->get('remains', ['filter[relevanceDate]' => strtotime('02.04.2016')]);   // фильтр по дате актуальнсти
  • $response = $client->get('remains', ['filter[modifiedDate]' => strtotime('02.04.2016')]);     // фильтр по дате обновления
  • $response = $client->get('remains', ['filter[storageId]' => '1,42']);                                        // фильтр по списку ID складов (указывается через запятую)

При использовании фильтра по дате с использованием времени не забывайте устанавливать временную зону UTC:


date_default_time_zone('UTC');

$response = $client->get('remains', ['filter[modifiedDate]' => strtotime('02.04.2016 13:00')]);     // список остатков обновленных после 13:00 02.04.2016


или

$response = $client->get('remains', ['filter[modifiedDate]' => strtotime('02.04.2016 13:00Z')]);     // список остатков обновленных после 13:00 02.04.2016

3.9 Метод storage 

Для данного метода есть возможность только получать список складов и количество страниц. Фильтр по бренду (brandId)

Параметр

Тип

Описание

Пример

Id

int

ID склада

1

name

string

Название склада

ПРОМ склад (Италмак)

brandId
intID бренда5

 Пример ответа на запрос http://catalog.raec.su/api/storage

{"res":"ok","data":{"0":{"brandId":"2","name":"Екатеринбург","id":"2"},"1":{"brandId":"2","name":"Лобня","id":"4"},"2":{"brandId":"2","name":"Хабаровск","id":"7"}}}

 

Примеры кода с использованием RestClient: 

  • $response = $client->get('storage');                                                                                        // список складов
  • $response = $client->get('storage', ['filter[brandId]' => 2]);                                           // фильтр по бренду

3.10 Метод illiquid (удален)

Метод позволяет получить сведения о количестве неликвидов продукции на складах участников. Для данного метода есть возможность только получать список товаров и количество страниц. Задавать фильтр по RAEC_ID товара (productId), по бренду (brandId), по дате актуальности (relevanceDate), дате обновления (modifiedDate), компании (illiquidCompanyId), ID компании по наличию индивидуального кода (companyId).


Параметр

Тип

Описание

Пример

raecId

int

RAEC_ID товара

870533

supplierId

string

Код поставщика

4911003320

descriptionShort

string

Краткое название

Светильник 214 ALD 16521430/1004000050

descriptionRu

string

Название RU


countintКоличество83
pricefloatЦена325.57
illiquidCompanyarrayИнформация о компании{"id":2,"name":"Элевел"}
modifiedDatestringДата обновления2015-07-21 11:37:59
relevanceDatestringДата актуальности2015-07-21
brandarrayИнформация о бренде товара/поставщика{"id":3,"name":"3M"}
storagearrayИнформация о складе{"id":1,"name":"Москва"}

 Пример ответа на запрос http://catalog.raec.su/api/illiquid

[{"raecId":593752,"count":83,"price":"325.57","modifiedDate":"2016-04-06 15:48:09","relevanceDate":"2016-04-05","supplierId":"7000031344","descriptionRu":" 3M Scotch 22 Изоляционная лента высшего класса, 19мм х 33м","descriptionShort":"Scotch 22 изоляционная лента высшего класса, 19мм х 33м х 0,25мм","brand":{"id":3,"name":"3M"},"illiquidCompany":{"id":2,"name":"Элевел"},"storage":{"id":45,"name":"Москва"}}]

Примеры кода с использованием RestClient: 

  • $response = $client→get('illiquid');                                                                                       // список неликвидов
  • $response = $client->get('illiquid', ['filter[productId]' => 812440]);                                     // фильтр по raecId товара
  • $response = $client->get('illiquid', ['filter[brandId]' => 2]);                                                  // фильтр по бренду товара
  • $response = $client->get('illiquid', ['filter[companyId]' => 2]);                                             //  фильтр по наличию у товара индивидуального кода от компании с ID=2 (пользватель, от имени которого идет запрос, должен быть привязан к данной компании).
  • $response = $client->get('illiquid', ['filter[relevanceDate]' => strtotime('02.04.2016')]);   // фильтр по дате актуальнсти
  • $response = $client->get('illiquid', ['filter[modifiedDate]' => strtotime('02.04.2016')]);     // фильтр по дате обновления
  • $response = $client->get('illiquid', ['filter[illiquidCompanyId]' => 1]);                                // фильтр по компании
  • $response = $client->get('illiquid', ['filter[illiquidCompanyId]' => 1, 'filter[companyId]' => 2]]);    // выдать все неликвиды компании Уралэнерго (ID=1), у которых есть наличие индивидуального кода компании Элевел (ID=2)


3.11 Метод productdeleted 

Метод позволяет получить RAEC_ID удаленных товарах. Для данного метода есть возможность только получать список товаров и количество страниц. Можно задавать фильтр дате удаления c параметрами deletedafter и deletedbefore - метка врмени UTC зоны

Параметр

Тип

Описание

Пример

raecId

int

RAEC_ID удаленного товара

870533

replacementRaecId

string

RAEC_ID замены удаленного товара

870534

dateOfDeletionstringДата удаления товара2015-07-21 11:37:59

Пример ответа на запрос http://catalog.raec.su/api/productdeleted

JSON
{
  "res": "ok",
  "data": [
    {
      "raecId": "1387796",
      "replacementRaecId": "666354",
      "dateOfDeletion": "2017-08-04 09:53:54"
    },
    {
      "raecId": "1323856",
      "replacementRaecId": "",
      "dateOfDeletion": "2017-08-04 17:04:02"
    }
  ]
}

 

Примеры кода с использованием RestClient:
// список всех удаленных товаров
$response = $client→get('productdeleted');

// список товаров удаленных до 2017-08-21
$response = $client->get('productdeleted', ['filter[deletedbefore]' => strtotime('2017-08-21')]);

// список товаров удаленных после 2017-08-01 14:00:52
$response = $client->get('productdeleted', ['filter[deletedafter]' => strtotime('2017-08-01 14:00:52Z')]);

// список товаров удаленных в период с 2017-08-01 14:00:52 до 2017-08-21
$response = $client->get('productdeleted', ['filter[deletedafter]' => strtotime('2017-08-01 14:00:52Z'), filter[deletedbefore]' => strtotime('2017-08-21')]);

 4. Использование фильтра. 

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

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

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

Пример кода с использованием RestClient: 

  • $response = $client->get('product', array('filter[limit]' => 200));

По дате последнего обновления товара (метод product)

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

Пример кода с использованием RestClient: 

  • $response = $client->get('product', array('filter[updatedafter]' => strtotime('2014-06-10')));

Вывод первой страницы товаров с датой последнего обновления больше или равно 2014.06.10


По дате добавления индивидуального кода

Параметр filter[created_individual_codes_from] или/и filter[created_individual_codes_to]. Обычно используется совместно с filter[companyId].


По параметрам метода

При использовании фильтра возвращаются только данные по параметрам перечисленные в фильтре

Пример кода с использованием RestClient: 

  • $response = $client->get('product', array('filter[fields]' => 'raecId,descriptionShort,warranty'));


По классу ETIM (метод product)

В фильтр может передаваться два типа значения: ETIMID класса и ключевые слова isnotnull или isnull.

Пример кода с использованием RestClient:

  • $response = $client->get('product', array('filter[etimclass]' => 'EC001757')); // Все товары, принадлежащие классу EC001757
  • $response = $client->get('product', array('filter[etimclass]' => 'isnotnull')); // Все классифицированные товары


По бренду (метод product)

 В фильтр должен передаваться ID бренда (можно получить, используя метод brand).

 Пример кода с использованием RestClient:

  • $response = $client->get('product', array('filter[brandId]' => 2)); // Все товары, принадлежащие бренду Schneider Electric


 По коду поставщика (метод product)

 В фильтр должен передаваться код поставщика. Код должен соответствовать регулярному выражению  '/^[\w\.\-\* ]{1,60}$/' 

Данный фильтр желательно использовать совместно с фильтром по бренду, так как у разных брендов могут встречаться товары с одинаковым кодом поставщика.

ID бренда можно получить используя метод brand. Метод вернет массив с единственным товаром, если таковой будет найден.

Пример кода с использованием RestClient:

  • $response = $client->get('product', array('filter[supplierId]' => 'LF35-47U66-2R', 'filter[brandId]' => 20)); // Товар с кодом 'LF35-47U66-2R' бренда IEK. 


По наличию главного изображения товара (метод product)

  В фильтре должно быть ключевое слово isnull или isnotnull.

  •  $response = $client->get('product', array('filter[image]' => 'isnotnull'));  // Все товары, у которых есть главное изображение


По наличию галереи изображений (метод product)

  В фильтре должно быть ключевое слово isnull или isnotnull.

  • $response = $client->get('product', array('filter[gallery]' => 'isnotnull')); // Все товары, у которых есть галерея изображений  

 

Выбор только локализованных товаров или наоборот (метод product)

   В фильтре должно быть указано число число 0 или 1.

  • $response = $client->get('product', array('filter[rusLocalization]' => 1); // Все товары, локализованные в России   


По наличию артикула или складского кода (индивидуальных кодов) у компании (метод product)

   В фильтре должен быть указан ID компании (companyId), который можно получить с помощью метода company. Фильтр будет применен только в том случае, если пользователь, выполняющий запрос, принадлежит к данной компании!

  • $response = $client->get('product', array('filter[companyId]' => 4)); // Все товары, у которых присутствуют индивидуальные коды компании АВС-электро 


По складскому статусу поставщика (метод product)

 В фильтр должен передаваться складской статус поставщика (supplierStatus) (S - в наличии на складе, Z - поставляется под заказ, D - выведен из ассортимента).

 Пример кода с использованием RestClient:

  • $response = $client->get('product', array('filter[supplierStatus]' => 'D'));     // Все товары cо статусом "D" 
  • $response = $client->get('product', array('filter[supplierStatus]' => 'D,S'));  // Все товары cо статусом "D" и статусом "S"  (статусы указываются через запятую)


5. Использование RQL (RAEC Query Language) в запросе, только для метода product 

RQL - это специальный язык запросов в базе данных RAEC. Немного напоминает SQL. Позволяет строить сложные запросы к Базе.

Использование RQL возможно только в методе product для выбора товаров со специфическими условиями.

Логические операторы, связывающие два запроса - OR или AND.

Для использования RQL в запросе должна быть указана переменная rql, содержащая запрос.

Использование фильтров не допускается! Если в запросе будут присутствовать и фильтры и запрос RQL, то запрос RQL будет проигнорирован.

Для указания количества товаров, выдаваемых на страницу нужно передавать параметр limit.

Запросы с использованием RQL работают более медленно.

Поля и операторы, разрешенные в запросе

Поле в запросеНазвание=!=>>=<<=INNOT IN~!~ISIS NOT
КодРАЭККод РАЭК
 
 
 
  
 
 
 
КодПоставщикаКод поставщика
 
 
 
 
 
 
 
 
АльтКодПоставщикаАльтернативный код поставщика
 
 
 
 
 
 
 
 
 
 
 
КодПроизводителяКод производителя
 
 
 
 
 
  
 
 
 
 
 
БрендБренд
 
 
 
 
 
 
 
 
 
 
 
НазваниеОтПоставщикаНазвание от поставщика
 
 
 
 
 
 
 
 
 
 
 
СтатусПоставщикаСтатус поставщика
 
 
 
 
 
 
 
 
 
 
 
ОписаниеОтПоставщикаОписание от поставщика
 
 
 
 
 
 
 
 
 
 
 
НазваниеRUНазвание RU
 
 
 
 
 
  
 
 
 
 
СерияПоставщикаСерия линейки поставщика
 
 
 
 
 
 
 
 
 
 
 
 
СерияМаркетинговаяСерия маркетинговая
 
 
 
 
 
 
 
   
 
 
 
   
ГруппаПоставщикаГруппа или семейство линейки поставщика
 
 
 
 
 
 
 
 
 
 
 
 
СтранаСтрана происхождения
 
 
 
 
 
 
 
 
 
 
 
 
ECКласс ETIM
 
 
 
 
 
 
 
 
 
 
 
 
ЛокализацияЛокализация в России
 
 
 
 
ИзображениеИзображение
 
 
ИзображенийВГалерееКоличество изображений в галерее
 
 
 
 
 
 
 
 
КратностьЗаказаКратность заказа поставщику, шт
 
 
 
 
 
 
 
 
ДатаСозданияДата добавления товара в базу
 
 
 
 
 
 
 
ДатаПоследнегоОбновленияДата последнего обновления товара
ЦветоваяМаркировкаЦветовая маркировка товара
 
 
 
 
Свойства

Проверка наличия или отсутствия

заполненных свойств

 
 
КоличествоСвойствКоличество заполненных свойств
 
 
 
 
 
 
КоличествоОбязательныхСвойствКоличество заполненных обязательных свойств
 
 
 
 
 
 
Компания

Выбор компании для проверки

индивидуальных кодов (ID компании)

 
ИндивидуальныеКоды

1 - присутствует артикул или статус,

0 - нет (в паре с полем "Компания")

 
ИндивидуальныеКодыСтатус

Присутствует складской статус любой

компании (возможно в паре с полем "Компания")

 
 
 
 
 
 
 
 
 
 
 
   
ИндивидуальныеКодыАртикул

Присутствует артикул любой

компании (возможно в паре с полем "Компания")

 
 
 
 
 
 
 
 
 
 
 
   
ДатаСозданияИндивидуальногоКода

Дата добавления индивидуального кода

(связь Товар - Компания). Формат YYYY-mm-dd

 
 
 
 
 
 
 
  
 
  
ВажностьКоэффициент важности заполнения
 
 
 
 
 
EF******Свойство ETIM
 
 
 
 
 
 
RF******Свойство RAEC
 
 
 
 
 
 
Файлы1 - присутствуют файлы, 0 - файлы не загружены
 
 
   
ТипФайла

Присутствуют файлы определенного

типа FILE001 - инструкция и т.д.

 
 
   
ДействиеСертификатаОтСрок действия сертификата ОТ
 
 
   
ДействиеСертификатаДоСрок действия сертификата ДО
 
 
   
EANШтрих-код, 13
 
 
 
  
 
 
КодЗаменыКод замены (для снятых с производства)
 
 
 
 
 
 
  
ВесНеттоВес нетто, кг
 
 
 
 
 
 
ГарантияГарантия производителя, мес
 
 
 
 
 
 
ВалютаВалюта цены
 
ЦенаНДСЦена с НДС
 
 
 
 
 
 
ЦенаБезНДСЦена без НДС
 
 
 
 
 
 
УпаковкаТип упаковки
 
УпаковкаКоличествоКоличество товара в упаковке
 
 
 
 
 
 
УпаковкаВесВес брутто упаковки, кг
 
 
 
 
 
 
УпаковкаОбъемОбъем упаковки, м.куб.
 
 
 
 
 
 

Особенности полей

В некоторых полях можно указывать как ID сущности, так и полное её название. Такие поля: Бренд, СерияПоставщика, ГруппаПоставщика, Страни, СтатусПоставщика, Упаковка, Валюта.

Поле Локализация (локализация в России) принимает следующие возможные значения:

ДА: Да, '"Да", да, "да", 1

НЕТ: Нет, "Нет", нет, "нет", 0

НЕ ОПРЕДЕЛЕНА: остальные любые значения

Для полей УпаковкаКоличество, УпаковкаВес, УпаковкаОбъем нужно обязательно указывать тип упаковки "Упаковка" через логический оператор AND.

Для полей ЦенаНДС, ЦенаБезНДС необходимо указать валюту "Валюта" через логический оператор AND.

Примеры запросов RQL

Простой запрос «Условие»Бренд = "ABB"Выводит список товаров с брендом ABB
Составной запрос ANDБренд IN ("ABB", "Jazzway") AND НазваниеОтПоставщика ~ "125V"Выводит список товаров с брендом ABB или Jazzway И в названии от поставщика есть вхождение строки "125V"
Составной запрос ANDБренд = "ABB" AND КодПоставщика IN ("N2260.1 BL","N2250.8 AN")Выводит список товаров с брендом ABB И с кодом поставщика ""N2260.1 BL" или "N2250.8 AN"

Примеры запросов с использованием RQL и RestClient

$client->get('product/page-5', ['rql' => 'Бренд IN ("1") AND EC IN ("EC000003") AND Локализация = Да AND Изображение IS NOT NULL AND ИндивидуальныеКоды = "1" AND Компания = "5" AND СтатусПоставщика = "Z"', 'limit' => 10]);

Запрос вернет список товаров бренда ABB, ETIM-класса EC000003 с локализацией в России с складским статусом поставщика Z, у которых присутствует главное изображение и, самое главное, товарыу которых присутствуют индивидуальные коды (артикул или складской статус) компании (участника RAEC) "Эко Свет".

Пятая страница списка с количеством товаров на страницу - 10.  

6. Получение ответа в формате XML

Чтобы выбрать формат ответа XML необходимо в заголовке запроса передать параметр "format: xml". Названия элементов XML соответствует названиям переменных JSON, в аналогичных запросах. За исключением названий некоторых массивов.

Объявление XML
<?xml version="1.0" encoding="utf-8"?>

Корневой элемент для всех методов - response.

Отличительные особенности структуры ответа XML от JSON.

Метод product
Изображение товара
XML
<images>
    <image_60>http://catalog.raec.su/uploads/images/product/EC001959/60/150c17e02d04029cc94b0d93d255783a.png</image_60>
    <image_150>http://catalog.raec.su/uploads/images/product/EC001959/150/150c17e02d04029cc94b0d93d255783a.png</image_150>
    <image_600>http://catalog.raec.su/uploads/images/product/EC001959/600/150c17e02d04029cc94b0d93d255783a.png</image_600>
    <image_max>http://catalog.raec.su/uploads/images/product/EC001959/max/150c17e02d04029cc94b0d93d255783a.png</image_max>
</images>


JSON
"image": {
 "60": "http://catalog.raec.su/uploads/images/product/EC001959/60/150c17e02d04029cc94b0d93d255783a.png",
 "150": "http://catalog.raec.su/uploads/images/product/EC001959/150/150c17e02d04029cc94b0d93d255783a.png",
 "600": "http://catalog.raec.su/uploads/images/product/EC001959/600/150c17e02d04029cc94b0d93d255783a.png",
 "max": "http://catalog.raec.su/uploads/images/product/EC001959/max/150c17e02d04029cc94b0d93d255783a.png"
}
Галерея изображений
XML
<gallery>
    <gallery1>
      <image_60>http://catalog.raec.su/uploads/gallery/57/60/f278557079f6651456218ac6e01b10bd.jpg</image_60>
      <image_150>http://catalog.raec.su/uploads/gallery/57/150/f278557079f6651456218ac6e01b10bd.jpg</image_150>
      <image_600>http://catalog.raec.su/uploads/gallery/57/600/f278557079f6651456218ac6e01b10bd.jpg</image_600>
      <image_max>http://catalog.raec.su/uploads/gallery/57/max/f278557079f6651456218ac6e01b10bd.jpg</image_max>
    </gallery1>
    <gallery2>
      <image_60>http://catalog.raec.su/uploads/gallery/57/60/1745d972742fce7f0dfc9d61157a5e8d.jpg</image_60>
      <image_150>http://catalog.raec.su/uploads/gallery/57/150/1745d972742fce7f0dfc9d61157a5e8d.jpg</image_150>
      <image_600>http://catalog.raec.su/uploads/gallery/57/600/1745d972742fce7f0dfc9d61157a5e8d.jpg</image_600>
      <image_max>http://catalog.raec.su/uploads/gallery/57/max/1745d972742fce7f0dfc9d61157a5e8d.jpg</image_max>
    </gallery2>
  </gallery>
Свойства
XML
<features>
    <feature1>
      <id>EF008787</id>
      <descriptionEn>Light colour category</descriptionEn>
      <descriptionRu>Категория цветности света</descriptionRu>
      <type>A</type>
      <value>EV007934</value>
      <valueDescriptionEn>Warm</valueDescriptionEn>
      <valueDescriptionRu>Теплая (2700-3300 К)</valueDescriptionRu>
    </feature1>
    <feature2>
      <id>EF008342</id>
      <descriptionEn>Average nominal lifespan</descriptionEn>
      <descriptionRu>Средн. номин. срок службы</descriptionRu>
      <type>N</type>
      <value>40000</value>
      <valueDescriptionEn/>
      <valueDescriptionRu/>
      <unit>
        <id>EU570410</id>
        <descriptionEn>h</descriptionEn>
        <descriptionRu>ч</descriptionRu>
      </unit>
    </feature2>
  </features>


Метод etimclass
Свойства класса и значения свойств
XML
<features>
    <feature1>
      <featureId>EF007219</featureId>
      <descriptionEn>Busbar width</descriptionEn>
      <descriptionRu>Ширина шинопровода</descriptionRu>
      <sortGlobal>500</sortGlobal>
      <type>R</type>
      <unit>
        <id>EU570448</id>
        <descriptionEn>mm</descriptionEn>
        <descriptionRu>мм</descriptionRu>
      </unit>
      <sortInClass>1</sortInClass>
    </feature1>
    <feature2>
      <featureId>EF000073</featureId>
      <descriptionEn>Suitable for</descriptionEn>
      <descriptionRu>Подходит для: </descriptionRu>
      <sortGlobal>500</sortGlobal>
      <type>A</type>
      <unit/>
      <values>
        <value1>
          <valueId>EV009241</valueId>
          <descriptionEn>Flat rail</descriptionEn>
          <descriptionRu>Плоская шина</descriptionRu>
          <sort>1</sort>
        </value1>
        <value2>
          <valueId>EV009472</valueId>
          <descriptionEn>T-rail</descriptionEn>
          <descriptionRu>Т-образн. шина</descriptionRu>
          <sort>2</sort>
        </value2>
        <value3>
          <valueId>EV000154</valueId>
          <descriptionEn>Other</descriptionEn>
          <descriptionRu>Прочее</descriptionRu>
          <sort>3</sort>
        </value3>
      </values>
      <sortInClass>2</sortInClass>
    </feature2>
</features>



JSON
"features": [
 {
  "featureId": "EF007219",
  "descriptionEn": "Busbar width",
  "descriptionRu": "Ширина шинопровода",
  "sortGlobal": "500",
  "type": "R",
  "unit": {"id": "EU570448",  "descriptionEn": "mm",  "descriptionRu": "мм" },
  "values": [ ],
  "sortInClass": "1"
 },
 {
  "featureId": "EF000073",
  "descriptionEn": "Suitable for",
  "descriptionRu": "Подходит для: ",
  "sortGlobal": "500",
  "type": "A",
  "unit": "",
  "values": 
  [
   {"valueId": "EV009241","descriptionEn": "Flat rail","descriptionRu": "Плоская шина","sort": "1"},
   {"valueId": "EV009472","descriptionEn": "T-rail","descriptionRu": "Т-образн. шина","sort": "2"},
   {"valueId": "EV000154","descriptionEn": "Other","descriptionRu": "Прочее","sort": "3"}
  ],
  "sortInClass": "2"
 }
]


7. Пример кода на php 

<?php
/**
* Образец клиента для тестирования API
*/

class RestClient
{
    const FORMAT_JSON = 'json';
    const FORMAT_XML = 'xml';

    /**
     * 32-значный ключ пользователя API
     * @var string
     */
    protected $apiKey;
    /**
     * Базовый URL API сервера
     * @var string
     */
    protected $urlBase;
    
    /**
     * Формат выдачи ответа сервера
     * @var string
     */
    protected $format;
    
    public function __construct($urlBase, $apiKey, $format = self::FORMAT_JSON)
    {
        $this->urlBase = $urlBase;
        $this->apiKey = $apiKey;
        $this->format = $format;
    }
    
    public function get($url, $params = [])
    {
        return $this->httpRequest($url, $params, 'GET');
    }
    
    protected function _convertParams($params)
    {
        return $result = http_build_query($params);
    }
    
    public function getHttpCode()
    {
        return $this->httpCode;
    }
    
    public function httpRequest($url, $postfields = array(), $method = "GET")
    {
        foreach ($postfields as $key => $value) {
            if (is_null($value)) {
                unset($postfields[$key]);
            }
        }
        $url = $this->urlBase . $url;
        $ci = curl_init();
        curl_setopt($ci, CURLOPT_HEADER, false);
        curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ci, CURLOPT_HTTPHEADER, [
            'API-KEY: ' . $this->apiKey,
            'format: ' . $this->format,
            //'json_force_object: 0'
        ]);
        $postfields = $this->_convertParams($postfields);
        switch ($method) {
            case 'GET':
                $url .= "?" . $postfields;
                break;
        }
        curl_setopt($ci, CURLOPT_URL, $url);
        $response = curl_exec($ci);
        $this->httpCode = curl_getinfo($ci, CURLINFO_HTTP_CODE);
        curl_close($ci);
        return $response;
    }
}

 /*
 * Пример использования клиента
 */
 $client = new RestClient('http://catalog.raec.su/api/', '33759844d1603334536014586fac5f42'); // используйте ваш ключ

 // Получение ниформации о классе EC00000052
 $response = $client->get('etimclass/EC000052');
 // Получение количества страниц списка всех ETIM классов
 $response = $client->get('etimclass/pages');
 // Получение пятой страницы списка классов
 $response = $client->get('etimclass/page-5');
 // Вывод первой страницы списка товаров с датой последнего обновления больше или равно 2014.06.10
 $response = $client->get('product', array('filter[updatedfrom]' => strtotime('2014-06-10')));
 ?>


8. Support 

По любым вопросам, связанными с API или работой Базы RAEC, вы можете связаться со специалистами по email  support@raec.su