CRM роботы 2.0 + AI (300+ роботов)

Получить остатки товара по выбранным складам

Робот «Получить остатки товара по выбранным складам» возвращает переданный каталогом остаток или резерв товара отдельно для каждого указанного склада.

Настройки робота «Получить остатки товара по выбранным складам» в Битрикс24

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.

Для кого и какую задачу решает

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

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

Параметры и подготовка

Поле Как заполнить
ID товара (PRODUCT_ID) Обязательное поле
ID складов (JSON-массив) (STORE_IDS) Обязательное поле
Показатель (METRIC) Обязательное поле. Остаток, переданный каталогом (amount); В резерве (quantityReserved)

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

Как использовать

  1. Установите робота и передайте точный ID товара или вариации, по которому требуется складская информация.
  2. Перечислите склады JSON-массивом из 1–100 ID, например [3,8]. Выбирайте конкретные доступные склады вашего процесса.
  3. Явно выберите показатель: amount для переданного каталогом остатка либо quantityReserved для резерва. Эти показатели не вычитаются друг из друга.
  4. После выполнения проверьте статус и полноту данных. Разберите stocks по складам; неизвестные значения направьте на уточнение, а не заменяйте нулями.

Как заполнить JSON-поля

ID складов (JSON-массив) (STORE_IDS)

[
  3,
  8
]

От 1 до 100 уникальных положительных ID складов вашего каталога. Узнайте их в настройках склада или предыдущим шагом справочника. [] недопустим; ID в примере учебные.

Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.

Учебный пример и ожидаемый результат

Для учебного товара 501 передайте STORE_IDS=[3,8], METRIC=amount. Если каталог сообщил для склада 3 точный ноль, а записи склада 8 нет, ожидается known=true/value=0 для склада 3 и known=false/value=null для склада 8. unknownStoreIds содержит 8, complete выключен. Это пример различия нулевого остатка и неизвестных данных.

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

Что возвращает и как продолжить процесс

  • «Значения по складам в JSON» (stocks).
  • «Склады без подтверждённого значения» (unknownStoreIds), список значений.
  • «Значения известны по всем выбранным складам» (complete).

В массиве stocks каждая запись содержит storeId, metric, known, value и reason. Признак complete включается только при подтверждённых значениях всех выбранных складов. Он не означает, что количества достаточно для заказа.

Выход «Статус выполнения» проверяйте перед передачей результата дальше. При отрицательном статусе прочитайте «Пояснение ошибки» и направьте процесс на исправление исходных данных. Успешный статус подтверждает выполнение действия; содержательные признаки результата проверяйте отдельно.

Ограничения и разбор ошибок

Принимает ID товара, JSON-массив из 1–100 ID складов и показатель amount или quantityReserved. Не вычитает резерв из остатка и не утверждает наличие физического товара. Для каждого склада возвращает known, значение и причину отсутствия подтверждённых данных. Отсутствующая запись, null и дробное число с неподтверждённой точностью не подменяются нулём. Точные значения принимаются строками или целыми числами; явный ноль сохраняется. До 1000 записей / 100 страниц, без изменения складского учёта.

Робот не подтверждает физическое наличие к моменту отгрузки и не создаёт резерв. Если нужен свободный остаток, определите отдельно согласованное правило расчёта: автоматически вычитать резерв из amount этот робот не будет.