Для работы с Битрикс 24 вне интерфейса нам понадобятся вебхуки. Вебхуки в Битрикс 24 можно использовать по разному: получить информацию и отобразить на сайте (пример – реализация формы проверки статусов), создать бота для удобного вывода отчетов или создавать лиды при действии с другой системы, например при заполнении анкеты на сайте (к примеру при заполнении формы в группе Вконтакте).
Для создания/редактирования вебхуков заходим во вкладку Rest api
Далее вкладка другое, и выбор из двух вебхуков, входящий или исходящий
При выборе входящего вебхука откроется вкладка создания нового
Тут у нас сам URL вебхука Битрикс 24, метод (можно использовать отличающийся от нашего заполненного, главное чтобы были выданы нужные права, в целом эта вкладка для тестирования) и список прав.
Результат тестирования запроса:
К примеру, для использования метода crm.deal.list необходимо выдать вебхуку права CRM. Необходимые права для метода можно посмотреть в документации REST.
Без прав выполнение запроса выглядит следующим образом.
{"error":"insufficient_scope","error_description":"The request requires higher privileges than provided by the webhook token"}
После выдачи прав:
{"result":[{"ID":"2","TITLE":"\u041f\u0440\u043e\u0434\u0430\u0436\u0430","TYPE_ID":"SALE","STAGE_ID":"NEW","PROBABILITY":null,"CURRENCY_ID":"RUB","OPPORTUNITY":"5000.00","IS_MANUAL_OPPORTUNITY":"Y","TAX_VALUE":"0.00","LEAD_ID":null,"COMPANY_ID":"0","CONTACT_ID":null,"QUOTE_ID":null,"BEGINDATE":"2023-11-15T03:00:00+03:00","CLOSEDATE":"2023-11-22T03:00:00+03:00","ASSIGNED_BY_ID":"1","CREATED_BY_ID":"1","MODIFY_BY_ID":"1","DATE_CREATE":"2023-11-15T16:35:24+03:00","DATE_MODIFY":"2023-11-15T16:39:27+03:00","OPENED":"Y","CLOSED":"N","COMMENTS":"","ADDITIONAL_INFO":null,"LOCATION_ID":null,"CATEGORY_ID":"0","STAGE_SEMANTIC_ID":"P","IS_NEW":"Y","IS_RECURRING":"N","IS_RETURN_CUSTOMER":"N","IS_REPEATED_APPROACH":"N","SOURCE_ID":"","SOURCE_DESCRIPTION":"","ORIGINATOR_ID":null,"ORIGIN_ID":null,"MOVED_BY_ID":"1","MOVED_TIME":"2023-11-15T16:35:24+03:00","LAST_ACTIVITY_TIME":"2023-11-15T16:35:24+03:00","UTM_SOURCE":null,"UTM_MEDIUM":null,"UTM_CAMPAIGN":null,"UTM_CONTENT":null,"UTM_TERM":null,"LAST_ACTIVITY_BY":"1"}],"total":1,"time":{"start":1700072874.86027,"finish":1700072874.958159,"duration":0.097888946533203125,"processing":0.042968988418579102,"date_start":"2023-11-15T21:27:54+03:00","date_finish":"2023-11-15T21:27:54+03:00","operating_reset_at":1700073474,"operating":0}}
Отфильтровать запрос можно с помощью параметров. К примеру, у нас есть три сделки, нам необходимо получить сделку с суммой более 7000.
Исходя из результата запроса мы видим, что сумма это поле с ID – OPPORTUNITY, по нему и будем фильтровать.
Для этого в конец нашего запроса добавляем массив FILTER со значением [>OPPORTUNITY]=7000
https://b24-qv3b5g.bitrix24.ru/rest/1/uhdrfk4vj2eswzr3/crm.deal.list.json?filter[>OPPORTUNITY]=7000
Тестируем запрос и получаем результат:
Для добавления новых условий, поступаем так же. К примеру, добавив условие STAGE_ID = NEW (Стадия сделки = Новая) запрос будет выглядеть:
https://b24-qv3b5g.bitrix24.ru/rest/1/uhdrfk4vj2eswzr3/crm.deal.list.json?filter[>OPPORTUNITY]=7000[STAGE_ID]=NEW
Если у вас есть какие-то вопросы, свяжитесь с нами.