Разрешенные/запрещенные комбинации опций: exceptions¶
| Ресурс | Описание | 
|---|---|
| GET /api/2.0/exceptions | Получить список доступных исключений (требуется product_id) | 
| GET /api/2.0/exceptions/:id | Получить данные об исключении | 
| POST /api/2.0/exceptions/ | Создать новое исключение | 
| PUT /api/2.0/exceptions/:id | Обновить исключение | 
| DELETE /api/2.0/exceptions/:id | Удалить исключение | 
Примечание
В этой статье описано, что такое исключения. Тип исключения зависит от параметра товара exceptions_type, который меняется через сущность products. Значения exceptions_type: A — разрешение, F — запрещение.
GET /api/2.0/exceptions/¶
curl -X GET 'http://example.com/api/2.0/exceptions/?product_id=12'
Важно
product_id - обязательное поле.
{
  [
    {
        exception_id: "1",
        product_id: "12",
        combination: {
           3: "12",
           4: "17"
        }
    },
    {
        exception_id: "2",
        product_id: "12",
        combination: {
            3: "13",
            4: "17"
        }
    }
    ...
  ]
}
GET /api/2.0/exceptions/:id¶
curl -X GET 'http://example.com/api/2.0/exceptions/12'
{
   exception_id: "2",
   product_id: "12",
   combination: {
       3: "13",
       4: "17"
   }
}
POST /api/2.0/exceptions/¶
Данные должны приходить в теле 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/exceptions' --data-binary 'params...'
params:
   product_id          4
   combination[3]      12
   combination[4]      14
   combination[7]      -2
-1 - Any variant
-2 - No variants can be selected
{
    exception_id: 456
}
PUT /api/2.0/exceptions/: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/exceptions/123' --data-binary 'combination[3]=12&...'
params:
    product_id          4
    combination[3]      12
    combination[4]      14
    combination[7]      -2
{
   exception_id: 34
}
DELETE /api/2.0/exceptions/: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/exceptions/123'