Рейтинг: 0  
Новая
Предложил Пользователь 136059 14.09.2023 12:57:16

Доп. опция в REST telephony.externalcall.finish - Не менять ответственного

По следам переписки на форуме: https://dev.1c-bitrix.ru/community/forums/forum23/topic153128/


Предлагаю добавить дополнительный параметр в telephony.externalcall.finish чтобы при завершении звонка не менять ответственного за сущность
Рейтинг: 5.451  
Новая
Предложил Пользователь 136059 26.03.2023 14:29:22

REST методы для чтения Истории crm сущностей

Нужен универсальный REST-метод для чтения (получения) истории CRM-сущности.

Например какой-нибудь crm.history.list с полями фильтра:
- ownerTypeId,
- ownerId,
- date (дата записи)
- entityField
- eventId
- assignedById
Рейтинг: 2.7804  
Новая
Предложил Пользователь 1813807 17.01.2022 13:09:35

Добавление своего источника

Хотелось бы иметь возможность через REST_API добавить свой источник сквозной аналитики с возможностью передачи туда Действий, Просмотров, Расходов
Рейтинг: 3.7804  
Новая
Предложил Пользователь 170340 20.03.2021 13:59:21

Сообщать об объединении с дублем через REST api

если в битриксе объединить 2 компании - то через REST api об этом никак не узнать.

При этом если выполнить запрос по crm.company.get по удаленному id то в ответ получим только {"error":"","error_description":"Not found"}

Если бы в этом ответе было еще одно поле merged_with id то счастье бы наступило немедленно в области синхронизации.

Я получу этот ид и повторю операцию объединения в базе 1С.
Если этого не сделать - то при следующем обмене 1С увидит "нового" не синхронизированного контрагента и выдавит его в битрикс. и опять придется бороться с дублями.

добавьте в crm.company.get и crm.contact.get поле с информацией о выжившем после объединения id
Рейтинг: 0  
Отложено
Предложил Пользователь 136059 20.10.2020 10:17:51

Унификация типов полей в rest

Если посмотреть метод crm.contact.fields то можно увидеть пользовательские типы crm_company и crm_lead (и другие)
При этом существует стандартный тип "crm", с настройками SETTINGS.

В подолжении развитии идеи: https://idea.1c-bitrix.ru/39468/ предлагаю сломать в именовании типа обратную совместимость и заменить "crm_lead" на более универсальный "crm" с настройками.
При этом, так как поля содержат только один тип то содержать они будут так же идентификаторы (т.е. по составу данных обратная совместимость будет).
Рейтинг: 0  
Ответил Антон Горбылев 14.09.2021 12:10:29
Нет возможности реализации из-за нарушения обратной совместимости.
Рейтинг: 13.2314  
В работе
Предложил Пользователь 136059 19.10.2020 15:05:25

Добавить в crm.*.fields недостающую информацию

Для основных сущностей (контакт, компания и т.п.) CRM наблюдаем следующую картину (на примере контакта показываю):
- Есть метод crm.*.fields который возвращает описания полей
- Есть метод crm.*.userfield.list который возвращает описание пользовательских полей.

В ответ на crm.*.fields для UF_* полей возвращается описание:
{
   "UF_CRM_1603091288": {
      "type": "crm",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": true,
      "title": "UF_CRM_1603091288",
      "listLabel": "Привяка к компаниям",
      "formLabel": "Привяка к компаниям",
      "filterLabel": "Привяка к компаниям"
   }
}


В нем вы видим важные параметры:
  • Технические характеристики (обязательность, множественность, динамичность и т.п.)
  • Его тип (привязка к CRM)
  • Отображаемые названия

В нем мы НЕ видим:
  • Параметров, которые необходимы для показа значения

В ответ на crm.*.userfield.list возвращается описание:
{
   "5": {
      "ID": "114",
      "ENTITY_ID": "CRM_CONTACT",
      "FIELD_NAME": "UF_CRM_1603091288",
      "USER_TYPE_ID": "crm",
      "XML_ID": null,
      "SORT": "100",
      "MULTIPLE": "N",
      "MANDATORY": "N",
      "SHOW_FILTER": "I",
      "SHOW_IN_LIST": "N",
      "EDIT_IN_LIST": "Y",
      "IS_SEARCHABLE": "N",
      "SETTINGS": {
         "LEAD": "N",
         "CONTACT": "N",
         "COMPANY": "Y",
         "DEAL": "N",
         "ORDER": "N"
      }
   }
}


В нем мы видим важные параметры:
  • Технические характеристики (обязательность, множественность, динамичность и т.п.)
  • Его тип (привязка к CRM)
  • Настройки (SETTINGS)

В нем мы НЕ видим:
  • Отображаемых названий

Имя 2 запроса можно предположить что настройки для пользовательских полей возвращаются отдельно, однако: если обратиться к полю с типом enumeration, то в fields-запросе вернется:
{
   "UF_CRM_1603091201384": {
      "type": "enumeration",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": true,
      "items": [
         {
            "ID": "26",
            "VALUE": "Значение 1"
         },
         {
            "ID": "27",
            "VALUE": "Значение 2"
         }
      ],
      "title": "UF_CRM_1603091201384",
      "listLabel": "Список из двух значений",
      "formLabel": "Список из двух значений",
      "filterLabel": "Список из двух значений"
   }
}

Т.е. дополнительный ключ items, который показывает что можно выбрать.


Суть предложения: провести унификацию методов, чтобы crm.*.fields возвращает достаточную информацию для отображения поля.
Возвращать дополнительный ключ parameters внутри которого возвращать данные из ID поля, SETTINGS (возможно другую необходимую информацию)
- Это закрывает базовую потребность "возвращает достаточную информацию для отображения поля"
- Это не нарушает обратную совместимость (такого ключа ранее не было, а механизмы других ключей не менялись)
Рейтинг: 1  
Ответил Антон Горбылев 14.09.2021 12:09:12
Выйдет в районе crm 21.1100.0
Рейтинг: 1  
Новая
Предложил Пользователь 145201 30.01.2018 12:05:03

Переработать класс CBitrixRestEntity c использованием позднего статического связывания

На данный момент в классе CBitrixRestEntity используется оператор self для обращений к методам внутри класса, что не удобно при наследовании класса.

Переработать класс  c использованием позднего статического связывания.