Опции товаров: options

Ресурс Описание
GET /api/2.0/options Получить список опций товара (требуется product_id)
GET /api/2.0/options/:id Получить данные о конкретной опции
POST /api/2.0/options/ Создать новое опцию
PUT /api/2.0/options/:id Обновить опцию
DELETE /api/2.0/options/:id Удалить опцию

GET /api/2.0/options/

curl -X GET 'http://example.com/api/2.0/options/?product_id=12'

Важно

product_id - обязательное поле.

{
  [
    {
        option_id: "3",
        option_type: "S",
        option_name: "Size"
        ...
        variants: {
           3: {...},
           4: {...}
        }
    },
    ...
  ]
}

GET /api/2.0/options/:id

curl -X GET 'http://example.com/api/2.0/options/12'
{
    option_id: "3",
    option_type: "S",
    option_name: "Size"
    ...
    variants: {
       3: {...},
       4: {...}
    }
}

POST /api/2.0/options/

Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type.

В случае, если опцию создать не удалось, будет возвращен статус HTTP/1.1 400 Bad Request и текст ошибки.

В случае успеха будет возвращён статус HTTP/1.1 201 Created и код нового исключения.

Обязательные параметры: product_id, массив combination (option_id => variant_id).

curl --header 'Content-type: text/plain' -X POST 'http://example.com/api/2.0/options' --data-binary 'params...'
params:
       product_id          12      (required field)
       option_name         Color
       required            Y
       allowed_extensions  jpg,png
       inventory           N
       ...                 (any field from :?product_options)
       option_type         S

       variants[1][variant_name]       Red
       variants[1][modifier_type]      P
       variants[1][modifier]           12
       ...                             (any field from :?product_option_variants)
       variants[2][variant_name]       Green

       main_pair[icon][image_path][1]  exim/backup/images/1000156675_f_icon.jpg
       main_pair[icon][alt][1]         Some ALT text
       main_pair[icon][image_path][2]  exim/backup/images/15456_icon.jpg
       main_pair[icon][alt][2]         Some ALT text2
{
    option_id: 456
}

PUT /api/2.0/options/:id

Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type.

В случае, если опцию обновить не удалось, будет возвращен статус HTTP/1.1 400 Bad Request и текст ошибки.

В случае успешного обновления HTTP/1.1 200 OK.

curl --header 'Content-type: text/plain' -X PUT 'http://example.com/api/2.0/options/123' --data-binary 'product_id=12&option_name=...'
params:
       product_id          12      (required field)
       option_name         Color
       required            Y
       allowed_extensions  jpg,png
       inventory           N
       ...                 (any field from :?product_options)
       option_type         S

       variants[1][variant_name]  Red
       variants[1][modifier_type] P
       variants[1][modifier]      12
       ...                 (any field from :?product_option_variants)
       variants[2][variant_name]  Green

       ALL VARIANTS MUST BE SPECIFIED (!) otherwise unspecified variants will be removed
{
   option_id: 34
}

DELETE /api/2.0/options/:id

В случае, если опцию удалить не удалось, будет возвращен статус HTTP/1.1 400 Bad Request и текст ошибки.

В случае, если такая опция не существует, будет возвращен статус HTTP/1.1 404 Not Found.

В случае успеха будет возвращён статус HTTP/1.1 204 No Content.

curl -X DELETE 'http://example.com/api/2.0/options/123'