Контентный блок конфигурируемого дела

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Контентные блоки ContentBlockDto — основа контентной области записи таймлайна. Из этих блоков приложение собирает содержимое записи: текст, ссылки, пары название-значение и крайний срок.

Блоки передают ассоциативным массивом в поле blocks: ключ — идентификатор блока, который приложение задает само, значение — объект блока. Массив blocks есть у двух объектов:

Типы блоков и их свойства одинаковы в обоих случаях. Блоки выводятся в том порядке, в котором они перечислены в blocks.

Общая структура блока

У каждого блока два поля: type — тип блока, properties — его свойства. У каждого типа свой набор свойств, он описан ниже.

{
    "type": "text",
    "properties": {
        "value": "Клиент подтвердил встречу"
    }
}

Как выбрать тип блока

Тип

Что выводит

Когда использовать

text

Строку текста с форматированием

Короткое значение, подпись, комментарий

largeText

Длинный текст, свернутый до превью

Письмо, расшифровка разговора, описание

link

Ссылку с действием по нажатию

Переход к объекту CRM, внешнему сервису или в приложение

withTitle

Пару название-значение

Запись с набором полей

lineOfBlocks

Несколько блоков в одну строку

Имя и телефон рядом, текст вперемешку со ссылками

deadline

Текущий крайний срок дела с возможностью изменить его

Дело со сроком, который пользователь должен видеть и править

Ограничения и ошибки

В блоки withTitle и lineOfBlocks вкладывают только блоки text, link и deadline.

Остальные ограничения зависят от того, куда попадают блоки, и права на вызов тоже:

Типы контентных блоков

Текст

Блок type = text выводит форматированную строку текста целиком, без сворачивания. Это базовый блок, с которого начинают сборку записи.

Параметры

Обязательные параметры отмечены *

Поле

Описание

value*
textWithTranslation

Текст, который увидит пользователь

multiline
boolean

Обработка переносов строк. При true символы \n заменяются на <br>. По умолчанию false

title
textWithTranslation

Текст всплывающей подсказки при наведении на блок

bold
boolean

Жирный текст. По умолчанию false

size
string

Размер текста. Может принимать значения xs, sm, md. По умолчанию md

color
string

Цвет текста. Может принимать значения base_50, base_60, base_70, base_90. Другое значение метод отклонит с ошибкой ENUM_FIELD

scope
string

Область видимости, например web

Пример

Текст в две строки, выделенный жирным, с подсказкой при наведении:

{
    "type": "text",
    "properties": {
        "value": "Клиент подтвердил встречу.\nВстреча в офисе на Тверской.",
        "multiline": true,
        "bold": true,
        "size": "md",
        "color": "base_90",
        "title": "Комментарий менеджера"
    }
}

Так блок text выглядит в записи таймлайна:

Блок text в записи таймлайна

Длинный многострочный текст

Блок type = largeText выводит длинный многострочный текст и сворачивает его до превью.

Параметры

Обязательные параметры отмечены *

Поле

Описание

value*
textWithTranslation

Текст, который увидит пользователь

scope
string

Область видимости, например web

Пример

{
    "type": "largeText",
    "properties": {
        "value": "Здравствуйте! Меня зовут Сергей, я звоню по заявке с сайта. Уточнил наличие на складе: обе позиции есть, отгрузка возможна в четверг. Клиент просит счет на юридическое лицо и доставку до подъезда. Договорились созвониться после согласования бюджета."
    }
}

Развернуть текст пользователь сможет кнопкой «Показать полностью»:

Блок largeText, свернутый до превью

Ссылка

Блок type = link выводит ссылку.

Параметры

Обязательные параметры отмечены *

Поле

Описание

text*
textWithTranslation

Текст ссылки. HTML-теги не поддерживаются

action*
ActionDto

Действие по нажатию на ссылку

bold
boolean

Жирный текст. По умолчанию false

scope
string

Область видимости, например web

Пример

{
    "type": "link",
    "properties": {
     "text": "Открыть сделку",
     "action": {
        "type": "redirect",
        "uri": "/crm/deal/details/123/"
     },
     "bold": true
    }
}

Блок типа link

Блок с заголовком

Блок type = withTitle выводит пару название-значение. Значением может быть другой контентный блок.

Параметры

Обязательные параметры отмечены *

Поле

Описание

title*
textWithTranslation

Текст заголовка

block*
ContentBlockDto

Контентный блок, который выводится как значение. Поддерживаются блоки с типами text, link, deadline

inline
boolean

Показ названия и значения в одну строку. По умолчанию false

scope
string

Область видимости, например web

Примеры

{
    "type": "withTitle",
    "properties": {
        "title": "Заголовок",
        "block": {
            "type": "text",
            "properties": {
                "value": "Какое-то значение"
            }
        }
    }
}

Блок withTitle со значением-текстом

{
    "type": "withTitle",
    "properties": {
        "title": "Заголовок 2",
        "block": {
            "type": "link",
            "properties": {
                "text": "Открыть сделку",
                "action": {
                    "type": "redirect",
                    "uri": "/crm/deal/details/123/"
                }
            }
        },
        "inline": true
    }
}

Блок withTitle со значением-ссылкой в одну строку

Несколько контентных блоков в одну строку

Блок type = lineOfBlocks выводит в одну строку несколько контентных блоков. Так в одной строке совмещают текст с разным форматированием и ссылки.

Параметры

Обязательные параметры отмечены *

Поле

Описание

blocks*
object

Вложенные блоки: ключ — идентификатор блока, значение — объект ContentBlockDto. Не более 20 блоков, поддерживаются типы text, link, deadline

scope
string

Область видимости, например web

Примеры

{
    "type": "lineOfBlocks",
    "properties": {
        "blocks": {
            "text": {
                "type": "text",
                "properties": {
                    "value": "Какой-то текст"
                }
            },
            "link": {
                "type": "link",
                "properties": {
                    "text": "ссылка",
                    "action": {
                        "type": "redirect",
                        "uri": "/crm/deal/details/123/"
                    }
                }
            },
            "boldText": {
                "type": "text",
                "properties": {
                    "value": "жирный текст",
                    "bold": true
                }
            }
        }
    }
}

Несколько блоков в одну строку

Выбор крайнего срока

Блок type = deadline показывает крайний срок дела и позволяет изменить его прямо в записи. Блок не отображается во входящем деле и в деле без крайнего срока.

Параметры

Обязательные параметры отмечены *

Поле

Описание

readonly
boolean

Запрет на изменение крайнего срока. По умолчанию false — срок можно менять прямо в записи. Битрикс24 включает запрет сам, если дело выполнено или у пользователя нет доступа на изменение объекта, к которому относится дело

scope
string

Область видимости, например web

Примеры

{
    "type": "deadline",
    "properties": {
        "readonly": false
    }
}

Блок с крайним сроком

Продолжите изучение