Передача остатков по API
Чтобы Маркет получал актуальную информацию об остатках, используйте метод:
- PUT campaigns/{campaignId}/offers/stocks, если вы отправляете запросы к Маркету.
- POST stocks, если вы отвечаете на запросы Маркета. Отвечать на них нужно сразу — поэтому сервер магазина должен быть постоянно на связи.
Что должно быть готово, прежде чем вы приступите
Прежде чем настраивать обработку заказов по API, вам нужно добавить товары на Маркет и настроить обновление ассортимента. Это необязательно делать по API — выберите любой удобный для вас способ. Все нужные инструкции есть в Справке Маркета.
Как устроена передача остатков
Маркету важно знать, сколько товаров осталось на складе магазина — иначе может получиться, что покупатель оформит заказ, а товара не окажется. Единственное исключение — модель FBY, потому что товары хранятся на складе Маркета и он сам может их пересчитать.
Чтобы передавать остатки правильно, обязательно прочтите статью в Справке для продавцов. Все общие правила передачи остатков распространяются и на API тоже.
𝓠 Можно ли использовать одновременно API и другие способы передачи остатков?
𝓐 Если вы передаете остатки по этой инструкции с помощью метода PUT campaigns/{campaignId}/offers/stocks, то можно. Если вы включите запрос Маркета POST stocks, передача остатков в кабинете через YML и через Excel-файлы будет недоступна.
Разработка интеграции
Запрос к Маркету PUT campaigns/{campaignId}/offers/stocks
С помощью запроса PUT campaigns/{campaignId}/offers/stocks можно передавать остатки в любой момент.
Каждая запись включает:
- Ваш SKU товара, для которого нужно обновить остатки.
- Дату и время — момент, по состоянию на который новое значение актуально.
- Само значение остатков.
Проверить работоспособность интеграции
- Скройте товары с помощью POST campaigns/{campaignId}/hidden-offers.
- Выполните запрос PUT campaigns/{campaignId}/offers/stocks, чтобы передать остатки.
- Возобновите показ скрытых товаров — DELETE campaigns/{campaignId}/hidden-offers.
Ответ на запрос Маркета POST stocks
Маркет отправляет запрос POST stocks примерно раз в час для каждого из ваших складов. В запросе указаны SKU товаров, хранящихся на складе — а магазин должен быстро передать в ответ нужные количества.
Каждая запись включает:
- Ваш SKU товара из запрошенного Маркетом списка.
- ID склада, для которого передаются остатки. Обязательно тот, который был в запросе.
- Дату и время — момент, по состоянию на который значение актуально.
- Само значение остатков.
Где взять идентификатор склада
Узнать идентификатор склада вы можете:
- В кабинете в разделе Логистика → Склады. Он указан в поле ID склада.
- С помощью запроса GET businesses/{businessId}/warehouses.
Какое число передавать
Остаток товара — это число единиц, доступных для заказа на Маркете.
Когда покупатель делает заказ, число доступных товаров уменьшается, — поэтому и остатки тоже. Например, если было 20 и кто-то заказал 2 единицы, остаток составит 18.
Учитываются продажи и на Маркете, и вне Маркета
Неважно, где куплен товар: на Маркете или, например, прямо в офлайн-магазине. В любом случае сразу уменьшайте остаток товара.
Например:
Событие |
Изменение остатков |
На склад привезли 10 единиц нового товара |
0 → 10 |
Покупатель заказал 2 единицы на Маркете |
10 → 8 |
Поставщик привез еще 10 штук |
8 → 18 |
Посетитель офлайн-магазина купил 3 штуки |
18 → 15 |
Подразумевается, что офлайн-магазин продает с того же склада, что и магазин на Маркете.