~ Задание сгенерировано Gemini ~
Контекст: Работа с CRM, REST API (локальные приложения) и бизнес-процессами.
- При создании лида в CRM должен запускаться бизнес-процесс (или активироваться робот).
- Робот должен отправить запрос (через PHP-обработчик/Activity) во внешнюю «демо-систему» (можете эмулировать JSON-ответ), передав туда ИНН из карточки лида.
- На основе ответа (статус надежности компании) робот должен:
- Автоматически назначить ответственного из очереди «Старших менеджеров», если скоринг высокий.
- Создать задачу ответственному с прикрепленным PDF-отчетом (сгенерировать программно), в котором будут краткие данные о контрагенте.
- Если скоринг низкий — завершить лид как «Некачественный» с указанием причины в комментарии. Ключевой навык: Работа с сущностями CRM, API бизнес-процессов, генерация документов и внешние HTTP-запросы.
Чтобы не искать внешнюю систему скоринга, напишите отдельный PHP-файл на этом же сервере (например, /local/api/check_company.php):
- Этот файл должен принимать INN и возвращать JSON: {"status": "high", "score": 95} если ИНН начинается на четную цифру, и {"status": "low"} — если на нечетную.
- В самом Bitrix24 создайте локальное приложение (раздел «Маркетплейс» -> «Добавить приложение» -> «Для внутреннего использования»).
- Используйте встроенную активность бизнес-процесса «Внешний запрос» или напишите свой PHP-код в активити, который дергает ваш локальный файл через curl или Bitrix\Main\Web\HttpClient.
На что я буду смотреть в вашем решении (критерии Middle):
- Чистота кода: Вынос логики в отдельные классы (например, в директорию local/php_interface/lib/).
- Обработка ошибок: Что будет, если «внешняя система» скоринга недоступна? Зависнет ли бизнес-процесс или запишет ошибку в лог и пойдет дальше?
- Производительность: В задаче с корзиной важно, чтобы запрос к складам не тормозил оформление заказа (использование кэширования Bitrix\Main\Data\Cache).
Дополнительно
- сделать тест кейсы