Загрузить ассортимент

 

POST

/organization/assortment/batch/add

 

Заголовки

token // Токен доступа выданный при авторизации

 

Входной JSON

{

  "assortment": 

  [

    {

      // Идентификатор ассортимента или группы

      "id":"assortment_group_1",

 

      // Наименование ассортимента или группы

      "name":"Группа 1",

 

      // идентификатор родительской группы

      "parent_id":"",

 

      // Признак - группа это или ассортимент

      "isgroup":true,

 

      // Описание группы или ассортимента

      "description":"Подробное описание",

 

      // Признак того, что ассортимент или группу нужно выгружать в мобильное приложение

      "unload":true,

 

      // Признак того, что ассортимент или группа должны быть удалены (не показывать на мобильном приложении)

      "deleted":false,

 

      // Значения свойств ассортимента, можно передать пустым, чтобы очистить

      "properties":     

      [

        {

          "id":"25",

          "name":"Цвет",

          "value":"Красный"      

        }  

      ]

        },

    {

      "id":"assortment_id_1",

      "name":"Товар 1",

      "parent_id":"Группа 2",

      "description":"Подробное описание товара",

      "unload":true   

    }

  ]

}

 

 

Выходной JSON

{
       "code": 0,
       "message": "Операция выполнена"

}

 

 

Загрузить картинку ассортимента

 

POST

/organization/set_image/assortment/{assortment_id}

 

Заголовки

token // Токен доступа выданный при авторизации

 

Входной JSON

Бинарный файл

multipart/form-data

 

 

Выходной JSON

{
       "code": 0,
       "message": "Операция выполнена"

}

 

 

Загрузить свойства ассортимента

 

POST

/organization/assortment_property/batch/add

 

Заголовки

token // Токен доступа выданный при авторизации

 

Входной JSON

{

  "assortment_properties": 

  [

    {

      // Идентификатор свойства

      "id":"Prop_1",

 

      // Наименование свойства

      "name":"batch Свойство 1",

 

      // Тип свойства. Допустимо:  bool, int, float, string, datatime

      "type":"string",

 

      // Дополнительные ограничения на свойство. Пока не используем в мобильном приложении.

      "schema":     

      {

     

      },

      // По этому свойству должна быть возможность фильтровать в мобильном приложении

      "isfilter":true,

 

      // По этому свойству должна быть возможность сортировать в мобильном приложении

      "issort":true,

 

      // Описание свойства

      "description":"batch Описание свойства 1",

 

      // Признак того, что свойство подлежит выгрузке

      "unload":true   

    }

  ]

}

 

 

Выходной JSON

{
       "code": 0,
       "message": "Операция выполнена"

}

 

 

 

Загрузить значения свойств ассортимента

 

POST

/organization/assortment_property/add_values

 

Заголовки

token // Токен доступа выданный при авторизации

 

Входной JSON

{

  "assortment_property_values": 

  [

    {

      // Идентификатор свойства

      "property_id":"Prop_1",

 

      // Идентификатор ассортимента

      "assortment_id":"assortment_id_1",

 

      // Значение. Всегда в виде строки, тип интерпретируется мобильным приложением, главное соблюдать формат. Особенности:

      // datatime - yyyy-MM-dd'T'HH:mm:ss

      // float - дробная часть через запятую

      // bool - true / false

 

      "value":"25"   

    } 

  ]

}

 

 

Выходной JSON

{
       "code": 0,
       "message": "Операция выполнена"

}

 

Получить список ассортимента

GET

/organization/assortment

 

Параметры в запросе

page //[Необязательный]. Номер страницы которую нужно получить

per_page //[Необязательный]. Количество строк на страницу

calculate_count //[Необязательный] Рассчитывать пагинацию

showdeleted //[Необязательный] Показывать удаленные

id //[Необязательный] Идентификатор ассортимента

parent_id //[Необязательный] Идентификатор группы ассортимента

name_filter //[Необязательный] Поиск по наименованию, полнотекстовый.

with_groups //[Необязательный] С группами

property_id //[Необязательный] Идентификатор свойства

property_value //[Необязательный] Значение свойства

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{

  "code":  0,

  "message":"Операция выполнена",

  "assortment": 

  [

      {

// Номер строки

      "row_number":      1,

 

// Идентификатор

     "id":"8e0e9a74-faab-11e7-9c07-fcaa14178562",

 

// Наименование ассортимента

      "name":" Тест (тип.) (Тест характеристики)",

 

// Признак того, что это группа

      "isgroup":false,

 

// Идентификатор группы родителя ассортимента

      "parent_id":"",

 

// Описание ассортимента

      "description":"",

 

// Признак того, что ассортимент удален

      "deleted":false,

 

// Признак того. что ассортимент нужно загружать на устройство клиента

      "unload":false,

 

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

      "timestamp":      1553026808540,

 

// Картинка ассортимента

      "image":""   

    },

    {

      "row_number":      2,

      "id":"c6913267-ee9b-11e6-80cc-005056a83962",

      "name":"011115020520 Кастрюля, 8900512160",

      "isgroup":false,

      "parent_id":"",

      "description":"",

      "deleted":false,

      "unload":false,

      "timestamp":      1563178052033,

      "image":""   

   

}

  ],

  "pagination": 

      {

         "per_page":    10,    // Количество строк на страницу

         "page"    :    1,     // Номер текущей страницы

         "items"   :    15275, // Всего записей

         "pages"   :    1528   // Всего страниц

     }

}

 

 

Получить список ассортимента по списку свойств

 

POST

/organization/assortment_properties

 

Заголовки

token // Токен доступа выданный при авторизации

 

Входной JSON

{

  "properties": 

  [

    {

      "property_id":"00067",

      "value":"0.75",

    } 

  ]

}

 

 

 

Выходной JSON

{
       "code": 0,
       "message": "Операция выполнена"

  "assortment": 

  [

    {

      "row_number":      1,

      "id":"59290",

      "name":"Вино”,

      "isgroup":false,

      "parent_id":"000005",

      "description":"Живописное",

      "deleted":false,

      "unload":true,

      "timestamp":      1564394230743,

      "image":"https://demo.bonus.rarus-online.com:88/get_image/..."   

    } 

  ],

  "pagination": 

  {

    "per_page":    10,

    "page":    1,

    "items":    1,

    "pages":    1 

  }

 

}

 

 

Получить ассортимент

GET

/organization/assortment/get?{id}

 

Параметры

id // Идентификатор существующего ассортимента

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{
   "code": 0,
   "message": "Операция выполнена",

  "assortment": 

  {

    "row_number":    1,

    "id":"59962",

    "name":"Вино",

    "isgroup":false,

    "parent_id":"000004",

    "description":"Лучшее.",

    "deleted":false,

    "unload":true,

    "timestamp":    1551259386687,

    "image":"https://demo.bonus.rarus-online.com:88/get_image..." 

  }

 

}

 

 

Получить список свойств ассортимента

GET

/organization/assortment/properties

 

Параметры в запросе

page //[Необязательный]. Номер страницы которую нужно получить

per_page //[Необязательный]. Количество строк на страницу

calculate_count //[Необязательный] Рассчитывать пагинацию

with_values //[Необязательный] true/false Со значениями свойств, которые уже есть в базе

 

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{

  "assortment_properties": 

  [

    {

// Номер строки

      "row_number":      1,

 

// Идентификатор свойства

      "id":"00031",

 

// Наименование свойства

      "name":"Объем",

 

// тип свойства

      "type":"int",

 

// Ограничения, которые могут быть наложены на свойство. Обрабатываются клиентом, передаются в виде json

      "schema":     

      {

     

      },

 

// Это поле - фильтр. Обрабатывается клиентом.

      "isfilter":true,

 

// Это поле сортировки. Обрабатывается клиентом.

      "issort":false,

 

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

      "timestamp":      1551250184517,

 

// Удалено

      "deleted":false,

 

// Описание свойства

      "description":"Емкость",

 

// Выгружать

      "unload":true,   

 

// Значения свойств

      "values":     

      [

        {

// Значение

          "value":"0,5",

// Представление

          "representation":""       

        },

        {

          "value":"123",

          "representation":""       

        }     

      ]

 

    },

    {

      "row_number":      2,

      "id":"00032",

      "name":"Крепость",

      "type":"int",

      "schema":     

      {

     

      },

      "isfilter":true,

      "issort":true,

      "timestamp":      1551250184543,

      "deleted":false,

      "description":"Крепость",

      "unload":true   

    } 

  ],

  "pagination": 

  {

    "per_page":    2,

    "page":    1,

    "items":    11,

    "pages":    6 

  },

  "code":  0,

  "message":"Операция выполнена"

}

 

 

 

 

 

Получить свойство ассортимента

GET

/organization/assortment_property/{id}

 

Параметры

id // Идентификатор существующего ассортимента

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{
   "code": 0,
   "message": "Операция выполнена",

  "assortment": 

  {

    "row_number":    1,

    "id":"59962",

    "name":"Вино",

    "isgroup":false,

    "parent_id":"000004",

    "description":"Лучшее.",

    "deleted":false,

    "unload":true,

    "timestamp":    1551259386687,

    "image":"https://demo.bonus.rarus-online.com:88/get_image..." 

  }

 

}

 

 

Получить значения свойств ассортимента

GET

/organization/assortment_values

 

Параметры в запросе

page //[Необязательный]. Номер страницы которую нужно получить

per_page //[Необязательный]. Количество строк на страницу

calculate_count //[Необязательный] Рассчитывать пагинацию

assortment_id //[Необязательный] Идентификатор ассортимента по которому нужно получить значения свойств

 

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{

  "assortment_values": 

  [

    {

// Номер строки

      "row_number":      5,

// Идентификатор ассортимента

      "assortment_id":"59390",

 

// Идентификатор свойства

      "property_id":"00067",

 

// Значение свойства

      "value":"0.75",

 

// Представление свойства

      "representation":""   

    } 

  ],

        {

          "value":"123",

          "representation":""       

        }     

      ]

 

    },

    {

      "row_number":      2,

      "id":"00032",

      "name":"Крепость",

      "type":"int",

      "schema":     

      {

     

      },

      "isfilter":true,

      "issort":true,

      "timestamp":      1551250184543,

      "deleted":false,

      "description":"Крепость",

      "unload":true   

    } 

  ],

  "pagination": 

  {

    "per_page":    2,

    "page":    1,

    "items":    11,

    "pages":    6 

  },

  "code":  0,

  "message":"Операция выполнена"

}