← К заметкам

Заметки

Как привязать к задаче несколько сделок через REST

Строка D_101,102,103 не означает три сделки. В UF_CRM_TASK каждая связь передаётся отдельной строкой, и префикс нужен у каждой.

Тело запроса к tasks.task.update через обычный REST-путь /rest/:

{
  "taskId": 25,
  "fields": {
    "UF_CRM_TASK": ["D_101", "D_102", "D_103"]
  }
}

Здесь 25 — ID задачи, а 101, 102 и 103 — ID сделок. В URL-кодировке массив записывается как fields[UF_CRM_TASK][0]=D_101, затем следующий индекс и следующая строка. Дополнительная вложенность с ENTITY_ID и ITEM_ID этому полю не нужна.

Если задача уже связана с CRM, сначала получите её через tasks.task.get, явно включив UF_CRM_TASK в select. В ответе обычного API поле называется ufCrmTask. Сформируйте полный желаемый набор связей, включая те, которые должны остаться.

У контакта префикс C_, у компании — CO_, у лида — L_. Тип связи задаётся самой строкой, а не отдельным полем запроса.

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

Документация: tasks.task.update; Поля задачи.