Найти тему

Добавление товара в смарт-процесс или счёт Битрикс24 через REST

Коротко порядок действий следующий:

  1. Находим буквенный идентификатор СП через метод crm.enum.ownertype
  2. Получаем список полей товарных позиций через crm.item.productrow.fields
  3. Добавляем товарную позицию через crm.item.productrow.add

В Битрикс24, как в «Зоне» у Стругацких, самый короткий путь - не прямая.

Шаг 1. Находим ownerType

Чтобы добавит товар к Счёту (под капотом это смарт-процесс) кроме полей товара нам понадобиться два значения ownerType и ownerId.

  • ownerType - буквенный идентификатор смарт-процесса
  • ownerId - ID элемента смарт-процесса

Стандартными сущностями всё просто, достаточно посмотреть в документации «Константы CRM» значение в столбце «Краткий символьный код» напротив нужно сущности. Так для сделки символьный код «D», а для предложения - «Q».

С кастомными сущностями используем метод crm.enum.ownertype.

Обращаемся к нему через вебхук в формате https://портал/rest/юзер/секретный код/crm.enum.ownertype (Рекомендую через FireFox)

Получите ответ вида:

Ответ от вебхука на метод crm.enum.ownertype
Ответ от вебхука на метод crm.enum.ownertype

Нас интересует SYMBOL_CODE_SHORT - "T9f"

Шаг 2. Получаем список полей товарных позиций

Для это обратимся к методу crm.item.productrow.fields через вебхук. https://портал/rest/юзер/секретный код/crm.item.productrow.fields (Рекомендую через FireFox)

Обязательные поля будут:

  • ownerId -- ID элемента
  • ownerType -- Буквенный код, получили ранее
  • productId -- ID товара, берём из каталога
  • price -- Цена
  • quantity -- Количество

Шаг 3. Добавление товарной позиции

Я буду использовать тестовую среду из приложение «РЕСТ Действия».

Сформированный запрос
Сформированный запрос
Добавленный товар
Добавленный товар

Таким образом я создал товар в смарт-процессе.

Ссылки на документацию и приложение