mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-03 13:22:19 +02:00
Merge pull request #38 from EvgeniyOst/Dev
Добавил методы для работы с лидами Bitrix24
This commit is contained in:
commit
3b91e28bf7
@ -4073,6 +4073,196 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСЛидами
|
||||
|
||||
// Создать лид
|
||||
// Создает новый лид по структуре полей (см. ПолучитьСтруктуруЛида)
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [crm.lead.add](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида (см. ПолучитьСтруктуруЛида) - fields
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
||||
Функция СоздатьЛид(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.add");
|
||||
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Удалить лид
|
||||
// Удаляет лид по ID
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [crm.lead.delete](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЛида - Число,Строка - ID задачи - lead
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
||||
Функция УдалитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт
|
||||
|
||||
Ответ = УправлениеЛидом(URL, IDЛида, "crm.lead.delete", Токен);
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить лид
|
||||
// Получает лид по ID
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [crm.lead.get](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЛида - Число,Строка - ID лида - lead
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
||||
Функция ПолучитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт
|
||||
|
||||
Ответ = УправлениеЛидом(URL, IDЛида, "crm.lead.get", Токен);
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список лидов
|
||||
// Получает список лидов (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраЛидов)
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [crm.lead.list](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Фильтр - Структура из КлючИЗначение - Структура отбора задач (см. ПолучитьСтруктуруФильтраЛидов) - filter
|
||||
// Отступ - Число, Строка - Отступ от начала списка для получения лидов > 50 шт. рекурсивно - offset
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
||||
Функция ПолучитьСписокЛидов(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.list");
|
||||
OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру лида
|
||||
// Получает структуру с описанием полей для создания лида
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [crm.lead.fields](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
||||
Функция ПолучитьСтруктуруЛида(Знач URL, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.fields");
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра лидов
|
||||
// Возвращает структуру полей для фильтрации лидов в методе ПолучитьСписокЛидов
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьСтруктуруФильтраЛидов(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
СтруктураФильтра.Вставить("ID" , "<идентификатор лида>");
|
||||
СтруктураФильтра.Вставить("ASSIGNED_BY_ID" , "<идентификатор ответственного");
|
||||
СтруктураФильтра.Вставить("COMPANY_ID" , "<идентификатор компании>");
|
||||
СтруктураФильтра.Вставить("COMPANY_TITLE" , "<наименование компании>");
|
||||
СтруктураФильтра.Вставить("CONTACT_ID" , "<идентификатор контакта>");
|
||||
СтруктураФильтра.Вставить("CREATED_BY_ID" , "<идентификатор автора>");
|
||||
СтруктураФильтра.Вставить("CURRENCY_ID" , "<идентификатор валюты>");
|
||||
СтруктураФильтра.Вставить("DATE_CLOSED" , "<дата закрытия>");
|
||||
СтруктураФильтра.Вставить("DATE_CREATE" , "<дата создания>");
|
||||
СтруктураФильтра.Вставить("DATE_MODIFY" , "<дата изменения>");
|
||||
СтруктураФильтра.Вставить("EMAIL" , "<адрес электронной почты>");
|
||||
СтруктураФильтра.Вставить("HAS_EMAIL" , "<электронная почта заполнена (Y|N)>");
|
||||
СтруктураФильтра.Вставить("HAS_PHONE" , "<телефон заполнен (Y|N)>");
|
||||
СтруктураФильтра.Вставить("IS_RETURN_CUSTOMER" , "<признак повторного лида (Y|N)>");
|
||||
СтруктураФильтра.Вставить("MODIFY_BY_ID" , "<идентификатор автора последнего изменения>");
|
||||
СтруктураФильтра.Вставить("MOVED_BY_ID" , "<идентификатор автора перемещения лида на текущую стадию>");
|
||||
СтруктураФильтра.Вставить("MOVED_TIME" , "<дата перемещения лида на текущую стадию>");
|
||||
СтруктураФильтра.Вставить("OPENED" , "<признак доступен для всех (Y|N)>");
|
||||
СтруктураФильтра.Вставить("OPPORTUNITY" , "<предполагаемая сумма>");
|
||||
СтруктураФильтра.Вставить("STATUS_ID" , "<идентификатор статуса>");
|
||||
СтруктураФильтра.Вставить("TITLE" , "<название лида (можно искать по шаблону [%_])>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Фильтр Из СтруктураФильтра Цикл
|
||||
Фильтр.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураФильтра;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Изменить лид
|
||||
// Изменяет существующий лид
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЛида - Число,Строка - ID задачи - lead
|
||||
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида - fields
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
||||
Функция ИзменитьЛид(Знач URL, Знач IDЛида, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.update");
|
||||
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей , "Коллекция", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("id" , IDЛида , "Строка" , Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@ -4214,4 +4404,15 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УправлениеЛидом(Знач URL, Знач IDЛида, Знач Метод, Знач Токен = "")
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
|
||||
OPI_Инструменты.ДобавитьПоле("id", IDЛида, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
x
Reference in New Issue
Block a user