Управление заказами


   

Общий подход к управлению статусами заказов заключается в регулярном получении списка новых заказов и синхронной смене статусов заказов по событиям в ИС мерчанта. Ниже рассмотрены типовые последовательности вызовов для выполнения этих задач.

Получение списка новых заказов

  1. Авторизация и получение токена: GET https://api.ozon.ru/auth/token/merchants
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), подпись запроса (x-Sign), номер версии (X-ApiVersion: 0.1).
    2. В ответе возвращается значение токена и время его жизни в секундах. Значение токена необходимо сохранить для использования при дальнейших обращениях к API.
  2. Вызов метода получения статусов заказов: GET https://api.ozon.ru/merchants/orders/states
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), полученный на предыдущем шаге токен (x-Token) и номер версии (X-ApiVersion: 0.1).
    2. В ответе возвращается список допустимых статусов заказов. Новые заказы имеют статус "Создан".
  3. Вызов метода получения списка заказов: GET https://api.ozon.ru/merchants/orders?StateName=Создан
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), полученный на первом шаге токен (x-Token) и номер версии (X-ApiVersion: 0.1).
    2. В строке запроса необходимо указать параметры фильтрации списка заказов. Поскольку в данной задаче необходимо получить только нове заказы, то указывается следующее значение StateName=Создан
    3. В ответе возвращается список заказов с полной информацией.

Изменение статуса заказа

  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/orders/state/{id}
    1. В заголовке запроса должны быть переданы идентификатор (x-ApplicationId), полученный на предыдущем шаге токен (x-Token) и номер версии (X-ApiVersion: 0.1).
    2. В качестве {id} необходимо передать номер заказа. Номер заказа возвращается в методе получения списка заказов внутри объекта Order в элементе OrderNumber.
    3. В теле запроса необходимо передать требуемый статус заказа. Обратите внимание, что необходимо передавать системное имя статуса, т.е. для принятия заказа в обработку указывается "ClientOrderStateMerchantAccepted", а не "Принят продавцом".
    4. Если заказ необходимо аннулировать, то также необходимо в теле запроса передать причину аннуляции (получить список причин аннуляции можно с помощью метода GET merchants/orders/cancelreasons). Причина аннуляции также указывается системным имененем. Для остальных статусов причину аннуляции передавать не нужно.
    5. Если статус сменен успешно, то ответ будет пустым (204 No Content).