Заметки
Как безопасно обновлять товарные позиции сделки
При изменении одной товарной позиции лучше работать с её ID, а не заменять весь список товаров сделки. Это уменьшает риск затереть изменения менеджера в соседних строках.
В универсальном API для этого есть crm.item.productrow.update. Сначала получите строки нужной карточки и найдите изменяемую по ID строки. productId для этого недостаточно: один товар может встречаться несколько раз.
Если интеграция использует crm.deal.productrows.set, подготовьте полный итоговый набор. Этот метод заменяет список, а не добавляет к нему переданные строки.
Для параллельного редактирования операция «прочитать → объединить → записать» всё равно подвержена гонке. Нужна сериализация изменений либо поштучные операции, подходящие вашему сценарию.