Проверки Маркета

Внимание. Маркет постепенно перестает поддерживать XML. Поэтому мы рекомендуем переходить на JSON. Сейчас XML можно использовать, если добавить в запрос Content-Type: application/xml. Без этого будут ошибки.

Маркет регулярно проверяет API магазина в автоматическом режиме: робот‑пингер отправляет запросы магазину, на которые магазин должен ответить и передать в теле ответа нужную информацию.

Примечание. На время регламентных работ на стороне магазина отключайте его через личный кабинет.

Если магазин некорректно отвечает на запросы через API (как от робота, так и с настоящими заказами), он отключается от Маркета. За некорректный ответ принимается:

  • отсутствие ответа в течение установленного таймаута;

  • ответ 200 OK, содержащий некорректные данные в теле ответа;

  • ответы 400 Bad Request, 500 Internal Server Error и с любыми другими кодами, отличными от 200 OK.

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

После того как магазин исправит ошибки, он может снова подключиться к Маркету (автоматически или вручную — в зависимости от типа проверки). Сообщение о подключении придет на электронную почту, указанную в личном кабинете.

До начала проверок магазин может отладить свое приложение.

  1. Регулярная проверка API магазина
  2. Регулярная проверка корректной авторизации Маркета
  3. Проверка обработки заказа

Регулярная проверка API магазина

Робот‑пингер постоянно проверяет доступность магазина через API. Для этого он отправляет запрос POST /cart каждые 5 минут. Запрос отправляется, только если за последние 5 минут магазин не получал «боевые» запросы POST /cart, POST /order/status, POST /stocks или запрос POST /cart от пингера. Магазин должен отправлять ответы на каждый запрос и передавать в ответе всю нужную информацию.

Если Маркет получил ошибку в ответе на «боевые» запросы POST /cart, POST /order/status, POST /stocks или запрос POST /cart от пингера, Маркет проверяет, как магазин отвечал на запросы последние 30 минут. Если магазин получил больше 10 запросов и среди ответов магазина больше 20% — ошибки, Маркет отключает магазин от размещения.

Если ошибок было меньше, Маркет запускает проверку на частоту ошибок. Робот‑пингер отправляет запрос POST /cart 1 раз в секунду в течение 10 секунд. Если:

  • На все 10 запросов POST /cart магазин отвечает корректно — робот завершает такую частую проверку и снова начинает отправлять запрос каждые 5 минут.

  • Только 9 запросов без ошибок — через 30 секунд робот‑пингер снова начинает проверку на частоту ошибок.

  • Магазин отправляет корректный ответ только на 8 запросов или меньше — Маркет отключает магазин от размещения.

После того как магазин отключили из‑за ошибок в API, робот отправляет запрос POST /cart. В случае ошибки робот‑пингер снова отправляет запрос через 5 минут. В случае корректного ответа начинается проверка на частоту ошибок:

  • На все 10 запросов POST /cart магазин отвечает корректно — его автоматически подключают к Маркету.

  • Только 9 запросов без ошибок — робот‑пингер начинает проверку на частоту ошибок снова через 30 секунд.

  • Магазин отправляет корректный ответ только на 8 запросов или меньше — робот отправляет запрос POST /cart через 5 минут.

Регулярная проверка корректной авторизации Маркета

Магазин должен уметь идентифицировать запросы от Маркета и отличать их от несанкционированных посторонних запросов. Для этого магазину нужно проверять авторизационный токен.

В рамках проверки магазину передается неверный авторизационный токен. Магазин должен вернуть ошибку 403 Forbidden. Если магазин вернет код, отличный от 403, в логах запросов будет указана ошибка. Магазин должен исправить ошибку, иначе он будет отключен от Маркета.

Период проверки: во время работы с Маркетом, перед повторным подключением к Маркету.

Частота проверки: 1 раз в сутки.

Повторное подключение: через личный кабинет. При отключении за данную ошибку магазин не может быть подключен автоматически.

Проверка обработки заказа

При появлении нового заказа Маркет отправляет вам запрос POST /order/accept. Если вы не ответите на него принятием или отменой в течение 10 секунд, Маркет начнет повторять запрос. Первые 3 раза — каждую минуту, после этого — раз в 10 минут.

Если за 15 минут после первого запроса вы так и не передадите ответ, Маркет отключит магазин и ваши товары пропадут с витрины. Чтобы подключиться снова, нужно корректно ответить на все реальные или проверочные запросы Маркета о создании заказа — принятием или отменой. После этого ваши товары вернутся на витрину автоматически.