← К заметкам

Заметки

Как перенести сделку в другую воронку через REST

Сделку можно перенести в другую воронку через REST, сохранив её ID. Для этого нужен crm.item.update. У старого crm.deal.update поле CATEGORY_ID недоступно для изменения — отсюда и впечатление, что переноса в API нет.

Тело запроса к crm.item.update для сделки 123:

{
  "entityTypeId": 2,
  "id": 123,
  "fields": {
    "categoryId": 3,
    "stageId": "C3:NEW"
  }
}

Здесь 3 — ID целевой воронки, а C3:NEW — пример её стадии. Подставьте реальные значения своего портала: воронки доступны через crm.category.list, стадии — через crm.status.list. Код стадии относится к конкретной воронке.

entityTypeId: 2 обозначает сделку. Поля универсального метода пишутся как categoryId и stageId; переносить в этот запрос старые CATEGORY_ID и STAGE_ID не нужно.

Это обычная операция изменения CRM: права, обязательные поля и автоматизация целевой стадии продолжают действовать. Создавать копию через crm.deal.add и затем удалять исходную карточку для такого переноса не требуется.

Для создания сделки сразу в нужной воронке есть отдельный пример с fields.

Документация: crm.item.update; crm.deal.update.