Нюансы создания CRM-объектов в Битрикс24 через REST API

Друзья, сегодня делюсь важными наблюдениями из практики интегратора. Часто вижу, как при интеграции с Битрикс24 «не заводятся» CRM-объекты — хотя вроде бы метод API выбран верно и переданы все «вроде бы нужные» поля.

Сейчас разберу на самом «капризном» примере — Сделки.

Какие поля обязательны для создания сделки через REST API? Когда вы вызываете crm.deal.add, Битрикс24 ждет от вас заполнения сразу нескольких системных полей — без них сделка не создастся:

🔹ASSIGNED_BY_ID — ответственный сотрудник. 🔹CATEGORY_ID — ID направления сделки. 🔹STAGE_ID — ID стадии сделки. 🔹STAGE_SEMANTIC_ID — группа стадий (P — в работе, S — успешно, F — провалена). 🔹NAME — название сделки.

Эти поля не всегда «очевидны». Снаружи кажется: «Ну вот же, передал название и комментарий — почему не создалась?». А система «молча» возвращает ошибку из-за отсутствия этих значений.

1. Проверьте настройки воронки Еще одна ошибка — в конкретном направлении могут быть настроены обязательные пользовательские поля. Их тоже нужно передавать в API-запросе — иначе CRM вернет ошибку валидации.

2. Проверьте другие объекты CRM С лидом (crm.lead.add) и контактом (crm.contact.add) сценарий похожий, но проще. Например, при создании контакта не нужно ни CATEGORY_ID, ни STAGE_ID — достаточно NAME и ASSIGNED_BY_ID.

Не поленитесь заранее: 🔹 Посмотреть список обязательных системных полей для нужной сущности. 🔹 Проверить настройки обязательных полей в самой CRM. 🔹 Передать все эти значения при вызове метода API.

Если нужна памятка по системным полям для каждой сущности — напишите в комментариях, подготовлю отдельный пост.

Нюансы создания CRM-объектов в Битрикс24 через REST API | Сетка — социальная сеть от hh.ru