Битрикс24: бизнес-процессы и роботы — автоматизация CRM без написания кода
Как мы автоматизировали воронку сделок в Битрикс24 с помощью бизнес-процессов и роботов — реальный кейс с SLA, автоназначением ответственных и мониторингом сбоев.
Заметки о веб-разработке, архитектуре, оптимизации и инструментах. Пишу о том с чем сталкиваюсь в реальных проектах.
статей
категорий
минут на чтение
Обновляете товар через API, передаете SECTION_ID, но он не появляется в нужной папке. В этой статье я объясняю разницу между простым SECTION_ID и сложным деревом инфоблоков, как правильно выстроить иерархию и почему метод crm.product.update не умеет создавать папки.
Читать статьюКак мы автоматизировали воронку сделок в Битрикс24 с помощью бизнес-процессов и роботов — реальный кейс с SLA, автоназначением ответственных и мониторингом сбоев.
Обычный crm.deal.list возвращает 50 элементов. Для синхронизации 10 000 сделок нужно 200 запросов — и это при условии, что ни один не упадёт по таймауту. Batch-метод Битрикс24 позволяет отправить до 50 команд в одном запросе, но у него свои подводные камни: лимит на размер запроса, ошибки частичной обработки и полное отсутствие транзакционности.
На портале Битрикс24 можно создать максимум 2000 входящих вебхуков. Но мало кто знает, что каждый вебхук обрабатывает максимум 1000 событий в очереди. Если ваша интеграция не успевает — события удаляются. Рассказываю, как мы обнаружили потерю данных и построили систему надёжной обработки.
Как удалить значение из кастомного поля сделки в Битрикс24? Казалось бы, передай пустую строку. Но не тут-то было! В этой статье я рассказываю, почему метод crm.deal.update игнорирует пустые строки, как работает механизм очистки полей под капотом, и почему передача null — это не всегда правильное решение для списков.
Вы дергаете Битрикс из 1С через входящий вебхук (строку с секретом в URL)? Это огромная дыра в безопасности и архитектурная ошибка. Рассказываю, чем входящий вебхук отличается от OAuth, почему у него нет прав на новые сущности, и как правильно переписать коннектор.
Создали контакт через API, создали сделку, передали CONTACT_ID в полях, а они не связаны в карточке! Разбираю, почему передача CONTACT_ID при создании сделки работает криво, если контакта секунду назад не было в Битрикс24, и как правильно использовать метод crm.deal.contact.add.
Как назначить партнёра туру в Битрикс24, если фронтенд присылает только текст, а REST API требует числовой ID? В этой статье я разбираю свой боевой PHP-скрипт: от вытягивания справочников enum до реализации нечеткого поиска подстрок и борьбы с «молчащими» ошибками метода crm.product.update. Реальный код, паранойя с логированием и обходные пути для неидеальных данных.