Заметки
Как найти сделки, где контакт указан не первым
У сделки может быть несколько контактов. Если искать только по полю основного контакта, сделки с нужным человеком на втором или третьем месте легко потерять.
Для этой задачи у crm.item.list есть фильтр contactIds. Запрос для контакта с ID 17:
{
"entityTypeId": 2,
"filter": { "contactIds": 17 },
"select": ["id", "title", "contactIds"],
"order": { "id": "ASC" }
} Передайте JSON в crm.item.list. entityTypeId: 2 выбирает сделки; значение contactIds в фильтре задаёт искомого участника связи. В select это же поле позволяет увидеть весь набор контактов найденной сделки.
contactId и contactIds — разные поля. А CONTACT_IDS из примеров старого API нельзя механически переносить в параметры универсального метода.
Поддержка такого фильтра отмечена в журнале REST-документации 20 марта 2025 года. На старой коробке учитывайте установленную версию CRM. Если найденных сделок много, обойдите все страницы результата.
Документация: crm.item.list; Поля объектов CRM; Журнал REST-документации.