Изменение статуса товара


Изменить статус товара можно либо в рамках пакетной загрузки файла с товарами, либо с помощью вызовов методов API для одного конкретного товара. Структура передаваемых данных в обоих случаях одинакова: если необходимо изменить только статус товара, то никакие другие данные, кроме обязательных атрибутов MerchantSKU и ProductTypeID и блока Availability, передавать не требуется. Обратите внимание, что если товар должен быть выставлен в продажу на вебвитрине ozon.ru, то для него в обязательном порядке должно быть задано главное изображение и цена должна быть больше нуля. Ниже приведены две типовые последовательности вызовов, применяемая при изменении статуса одного товара.

Последовательность вызовов при обращении к ресурсу products/availability

  1. Авторизация и получение токена: GET https://api.ozon.ru/auth/token/merchants
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), подпись запроса (x-Sign), номер версии (X-ApiVersion: 0.1).
    2. В ответе возвращается значение токена и время его жизни в секундах. Значение токена необходимо сохранить для использования при дальнейших обращениях к API.
  2. Вызов метода изменения статуса товара: PUT https://api.ozon.ru/merchants/products/availability/{id}
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), полученный на предыдущем шаге токен (x-Token) и номер версии (X-ApiVersion: 0.1).
    2. Возможны два варианта указания того, какой именно товар должен быть изменен:
      1. Использование собственного идентификатора товара в ИС мерчанта. Он указывается в атрибуте MerchantSKU.
      2. Использование идентификатора товара в ИС Ozon.ru. В этом случае его необходимо указать в качестве {id} в строке запроса.
    3. В теле запроса передается информация о новом статусе товара – данные элемента Availability, а также обязательные атрибуты MerchantSKU и ProductTypeID. Обратите внимание, что есть различия в структуре элемента Availability при работе с одной вебвитриной и при работе с несколькими вебвитрирами. Примеры доступны для обоих вариантов.
    4. В ответе возвращается идентификатор запроса в очереди на обработку. Для контроля результата обработки запроса необходимо сохранить это значение (необязательно).
  3. Контроль статуса обработки запроса: GET https://api.ozon.ru/merchants/jobs/{id}
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), токен (x-Token) и номер версии (X-ApiVersion: 0.1).
    2. В качестве {id} необходимо передать идентификатор запроса, полученный на предыдущем шаге
    3. В ответе будет возвращен текущий статус обработки запроса (в элементе State) и признак наличия/отсутствия ошибок (элемент HasErrors).

Аналогичным образом осуществляется изменение других данных о товаре.

Последовательность вызовов при обращении к ресурсу products/id

Если для изменения данных о товаре используется ресурс PUT https://api.ozon.ru/merchants/products/id и в теле запроса передан элемент Description (в любом сочетании с другими элементами), то запрос будет помещен в низкоприоритетную очередь обработки, поэтому рекомендуем всегда передавать

только те данные, которые реально необходимо изменить, а не объект Product целиком. Соответственно, в случае, если необходимо изменить только статус товара, то в теле запроса необходимо передать данные элемента Availability, а также атрибуты MerchantSKU и ProductTypeID.

  1. Авторизация и получение токена: GET https://api.ozon.ru/auth/token/merchants
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), подпись запроса (x-Sign), номер версии (X-ApiVersion: 0.1).
    2. В ответе возвращается значение токена и время его жизни в секундах. Значение токена необходимо сохранить для использования при дальнейших обращениях к API.
  2. Вызов метода изменения статуса товара: PUT https://api.ozon.ru/merchants/products/id/{id}
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), полученный на предыдущем шаге токен (x-Token) и номер версии (X-ApiVersion: 0.1).
    2. Возможны два варианта указания того, какой именно товар должен быть изменен:
      1. Использование собственного идентификатора товара в ИС мерчанта. Он указывается в атрибуте MerchantSKU.
      2. Использование идентификатора товара в ИС Ozon.ru. В этом случае его необходимо указать в качестве {id} в строке запроса.
    3. В теле запроса передается информация о новом статусе товара - данные элемента Availability, а также обязательные атрибуты MerchantSKU и ProductTypeID. Обратите внимание, что есть различия в структуре элемента Availability при работе с одной вебвитриной и при работе с несколькими вебвитрирами. Примеры доступны для обоих вариантов.
    4. В ответе возвращается идентификатор запроса в очереди на обработку. Для контроля результата обработки запроса необходимо сохранить это значение (необязательно).
  3. Контроль статуса обработки запроса: GET https://api.ozon.ru/merchants/jobs/{id}
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), токен (x-Token) и номер версии (X-ApiVersion: 0.1).
    2. В качестве {id} необходимо передать идентификатор запроса, полученный на предыдущем шаге
    3. В ответе будет возвращен текущий статус обработки запроса (в элементе State) и признак наличия/отсутствия ошибок (элемент HasErrors).