Как можно отметить ответственного лица в комментариях с помощью вебхука?

Здравствуйте! У меня есть следующий код: 
<br/> 
<pre><code class="php">$updateComm = CRest::call(
                'crm.timeline.comment.add',
                array(
                    'fields' =&gt; array(
                        'ENTITY_ID' =&gt; $dealId,
                        'ENTITY_TYPE' =&gt; 'deal',
                        'COMMENT' =&gt; ''
                    )
                )
            );</code></pre> 
<br/> 
У меня возник вопрос: как можно упомянуть человека в комментариях через вебхук? Возможно ли это сделать? Я уже располагаю ID ответственного.
  • 23 сентября 2024 г. 14:33
Ответы на вопрос 2
Да, вы можете упомянуть пользователя в комментариях, используя специальный синтаксис для упоминаний в Битрикс24. Упоминания оформляются аналогично `<mention>`.

Для этого нужно использовать следующий формат для добавления комментария в вебхуке:

```php
$updateComm = CRest::call(
    'crm.timeline.comment.add',
    array(
        'fields' => array(
            'ENTITY_ID' => $dealId,
            'ENTITY_TYPE' => 'deal',
            'COMMENT' => '[USER=' . $responsibleUserId . ']Имя ответственного[/USER]' // Замена Имя ответственного на имя пользователя
        )
    )
);
```

В этом коде:
1. Замените `$responsibleUserId` на ID ответственного, которого вы хотите упомянуть.
2. Внутри текста комментария вы можете указать текст, который будет виден пользователю. Например, вместо `Имя ответственного` можно подставить любое сообщение.

После выполнения этого кода в комментарии к сделке будет упомянут указанный пользователь, и ему придет уведомление. Помните, что для корректного отображения упоминания в комментариях, нужно, чтобы идентификатор пользователя существовал и был корректным.
В API Битрикс24 нет прямой возможности упомянуть пользователя в комментарии, как это реализовано в интерфейсе Битрикс24. Могу предложить сделать простое упоминание текстом: 

$responsibleId = 123;
$responsibleName = "Иван Иванов";

$updateComm = CRest::call(
    'crm.timeline.comment.add',
    array(
        'fields' => array(
            'ENTITY_ID' => $dealId,
            'ENTITY_TYPE' => 'deal',
            'COMMENT' => "Ответственный: $responsibleName (#$responsibleId)"
        )
    )
);
Похожие вопросы