8 800 250-04-32
+7 495 228-04-32

Выгрузка остатков

Сервис МойСклад предоставляет средства для выгрузки остатков.

Выгрузка остатков может быть осуществлена двумя путями: через веб-сервис и через REST-сервис.

Веб-сервис

Веб-сервис выгрузки остатков доступен по адресу: https://online.moysklad.ru/ws/stock?wsdl

Веб-сервис позволяет запрашивать данные по остаткам путем обращения к методам - stockByGood, stockByConsignment и stockForGood.

stockByGood - возвращает коллекцию объектов, каждый из которых содержит агрегированную информацию об остатке по отдельному товару. При вызове этого метода могут быть переданы параметры фильтрации:

НазваниеФорматНазначениеЗначение по умолчанию
momentстрока в формате yyyyMMddHHmmss, где yyyy - это год, MM - это месяц в году (от 1 до 12), dd - это день месяца (от 1 до 31), HH - это час дня (от 0 до 23), mm - это минуты часа (от 0 до 59), ss - это секунды минуты (от 0 до 59)момент времени, на который необходимо получить остаткитекущий момент времени
goodIdстрокаидентификатор товара или папки товаров, по которым необходимо получить остаткинет
goodNameстроканазвание товара или часть названия товаров, по которым необходимо получить остаткинет
storeIdстрокаидентификатор склада, в рамках которого необходимо получить остаткинет
stockModeстрока, допустимы только значения из перечисления (развернуто ниже)позволяет задать ограничение по численному значению остатканет
includeAboardOperationsлогический переключатель, допускаются значение true или falseопределяет - должны ли быть включены в подсчет остатков непроведенные документы, по умолчанию непроведенные документы в подсчет остатков не включенынет

Допустимые значения параметра stockMode:

ALL_STOCK - все товары
POSITIVE_ONLY - только положительные остатки
POSITIVE_INCLUDING_RESERVE_ONLY - только положительные остатки, с учетом резерва
NEGATIVE_ONLY - только отрицательные значения
NON_EMPTY - отрицательные и положительные значения
UNDER_MINIMUM_BALANCE_ONLY - ниже неснижаемого остатка
USE_RESERVES - с учетом резерва

stockByConsignment - возвращает коллекцию объектов, каждый из которых содержит агрегированную информацию об остатке по отдельной серии, что позволяет учитывать характеристики при получении остатков. Параметры метода совпадают с ранее описанным методом stockByGood.

stockForGood - позволяет получить расшифровку остатков по выбранному товару с детализацией остатков по документам и складам. При обращении к этому методу могут быть указаны параметры:

НазваниеФорматНазначениеЗначение по умолчанию
momentстрока в формате yyyyMMddHHmmss, где yyyy - это год, MM - это месяц в году (от 1 до 12), dd - это день месяца (от 1 до 31), HH - это час дня (от 0 до 23), mm - это минуты часа (от 0 до 59), ss - это секунды минуты (от 0 до 59)момент времени, на который запрошена детализация остатковтекущий момент времени
goodIdстрокаидентификатор товара, по которому запрошена детализация остатковнет, пустое значение не допускается - обязательно должен быть указан идентификатор существующего товара
storeIdстрокаидентификатор склада, по которому запрошена детализация остатковнет

REST-сервис

В рамках REST-сервиса выгрузки остатков доступны следующие ресурсы:

Получение остатков по товарам или сериям:

  • https://online.moysklad.ru/exchange/rest/stock/xml
  • https://online.moysklad.ru/exchange/rest/stock/json
Ниже приведены параметры обращения к ресурсу:

НазваниеФорматНазначениеЗначение по умолчанию
momentстрока в формате yyyyMMddHHmmss, где yyyy - это год, MM - это месяц в году (от 1 до 12), dd - это день месяца (от 1 до 31), HH - это час дня (от 0 до 23), mm - это минуты часа (от 0 до 59), ss - это секунды минуты (от 0 до 59)момент времени, на который необходимо получить остаткитекущий момент времени
goodIdстрокаидентификатор товара или папки товаров, по которым необходимо получить остаткинет
goodNameстроканазвание товара или часть названия товаров, по которым необходимо получить остаткинет
storeIdстрокаидентификатор склада, в рамках которого необходимо получить остаткинет
stockModeстрока, допустимы только значения из перечисления (развернуто ниже)позволяет задать ограничение по численному значению остатканет
includeAboardOperationsлогический переключатель, допускаются значение true или falseопределяет - должны ли быть включены в подсчет остатков непроведенные документы, по умолчанию непроведенные документы в подсчет остатков не включенынет
showConsignmentsлогический переключатель, допускаются значение true или falseопределяет группировку результатов - если true, то группировка осуществляется по сериям (что позволяет отображать характеристики), если false, то группировка результатов осуществляется по товарамнет

Получение расшифровки остатков по указанному товару:

  • https://online.moysklad.ru/exchange/rest/stock-for-good/xml
  • https://online.moysklad.ru/exchange/rest/stock-for-good/json
Ниже приведены параметры обращения к ресурсу:

НазваниеФорматНазначениеЗначение по умолчанию
momentстрока в формате yyyyMMddHHmmss, где yyyy - это год, MM - это месяц в году (от 1 до 12), dd - это день месяца (от 1 до 31), HH - это час дня (от 0 до 23), mm - это минуты часа (от 0 до 59), ss - это секунды минуты (от 0 до 59)момент времени, на который запрошена детализация остатковтекущий момент времени
goodIdстрокаидентификатор товара, по которому запрошена детализация остатковнет, пустое значение не допускается - обязательно должен быть указан идентификатор существующего товара
storeIdстрокаидентификатор склада, по которому запрошена детализация остатковнет

Для работы с перечисленными сервисами требуется BASIC-авторизация. Пользователь, с именем и паролем которого будет происходить обращение к сервису, должен быть наделен правами на работу в основном приложении.

Кириллическое имя пользователя и пароль при входе с BASIC-авторизацией работать не будут, так как в этом случае UTF-8 строка с именем и паролем интерпретируются как ASCII. Чтобы обойти это ограничение BASIC-авторизации, вы можете использовать вместо имени пользователя почтовый адрес, указанный при регистрации учетной записи. Если почтовый адрес указан в более чем одной учетной записи пользователя, то в качестве логина его использовать уже нельзя.