Custom Fields API - Настройка пользовательских полей
Введение
В данной статье будет рассказано, как можно создавать и настраивать пользовательские поля через DealApp API. Все методы, описанные ниже требуют авторизацию через пользователя с настроенными правами по обновлению пользователей. О том, как производить авторизацию, можно прочитать в статье
Добавление и настройка пользователей через API
Пользовательские поля (Custom Fields) это дополнительные поля, которые добавляются к звонкам и другим объектам коммуникаций с клиентами (Client Interactions), таким как чаты и тикеты. Эти поля расширяют основную схему таких объектов для реализации дополнительной бизнес логики. По этим полям можно фильтровать список на странице Таблицы Коммуникаций и эти данные можно так же увидеть на странице оценки.
Примеры возможных значений в таких полях:
Проект или контракт по которому совершался звонок
Город из которого пришел звонок
Время последнего закрытия тикета
Кол-во закрытий тикета или дата последнего закрытия
Массив NPS с опросом клиента о качестве. Сценарий такой: диалог в тикете может открываться или закрываться несколько раз, каждое значение оценки записывается и может передаваться нам в виде массива.
Список тематик. При чем тематики могут иметь под-тематики, список которых будет зависеть от тематики
Значения пользовательских полей хранятся в объекте ClientInteraction в виде json поля custom_fields. Данные хранятся как пары ключ-значения, где ключ используется для того, чтобы сопоставить значение с ресурсом Custom Field. Пример получения данных о Custom Field:
{
"data": {
"id": "16915806-8327-4899-9e1c-6a59474c877b",
"type": "phone-calls",
"attributes": {
...
"custom-fields": {
"opened_at": "2020-06-21T09:51:13.588Z",
"reopen_count": 5,
"sale_stage": "negotiations"
}
},
"relationships": {
"operator": {...}
}
}
}Методы API
Пользовательские поля (custom_fields)
GET /api/v1/custom_fields
Возвращает список объектов пользовательских полей (custom-fields) для вашей организации
Пример запроса:
curl -X GET -H @headers.txt https://api.dev.dealapp.io/api/v1/custom_fields
POST /api/v1/custom_fields
Создание пользовательского поля
Пример запроса:
Пример ответа:
PUT /api/v1/custom_fields
Обновление пользовательского поля, при обновлении реализовано частичное обновление полей объектов (можно указывать только те, которые обновляются). Однако options и select поля нужно определять полностью.
Пример запроса:
Пример ответа:
Пример ответа:
Работа с зависимыми полями (select)
Custom Field со значением field_type select позволяют создавать поля с возможностью выбора вариантов, которые зависят от значения других полей с таким же типом. Так же значения поля settings в таких selectCustom Field будут хранить объекты с полями key, text и parent-key. Поле key в этом объекте будет использоваться как id этого варианта ответа, text - для отображения варианта на UI, а parent-key будет задавать значение key в другом select поле, от которого зависит данное поле, при котором этот вариант должен отображаться в данном селекте на UI.
Пример такого объекта:
Такая конфигурация задает 2 зависимых поля: Parent и Child. При выборе значения Parent 1 в поле Child будет возможность выбрать только Child 1.1 и Child 1.1. В целом зависимость значений будет выглядеть следующим образом.
select Custom Field работают точно так же как и остальные со следующими изменениями:
добавлено поле depends_on, которое обозначает поле от которого зависит это поле
добавлено поле settings, в котором храниться массив с настройками возможных значения поля select
В settings хранится массив объектов, в каждом объекте есть следующие поля:
key - ключ по которому будет проходить поиск
text - текст, который соответствует значение key
parent_key - значение ключа key в select поле c depends_on, по которому должно отображаться это поле
Пример скрипта, который создает зависимые поля через bash с помощью curl
Last updated
Was this helpful?