Как можно получить сообщение с цитатой из чата с помощью REST метода в Bitrix?

Я получаю сообщения из чата с помощью метода <b>im.dialog.messages.get</b>. <br/> Однако параметр <b>REPLY_ID</b> не отображается в полученных данных. <br/> <br/> Вот как выглядят данные, возвращаемые через REST: <br/>
  • 30 октября 2024 г. 11:42
Ответы на вопрос 2
В Bitrix24 для получения сообщений из чата через REST API вы можете использовать метод `im.dialog.messages.get`. Однако, как вы заметили, параметр `REPLY_ID`, который указывает на идентификатор сообщения, на которое данное сообщение является ответом (цитата), может не отображаться в результатах.

В случае, если `REPLY_ID` не включен в возвращаемые данные, убедитесь, что:

1. **Проверка прав доступа**: У вас есть соответствующие права доступа для выполнения данного метода и просмотра необходимых данных.

2. **Версия API**: Убедитесь, что вы используете актуальную версию API Bitrix24. В обновлениях могли измениться поля вывода и их доступность.

3. **Формат вашего запроса**: Убедитесь, что вы правильно формируете запрос, возможно, есть дополнительные параметры, которые нужно передать, чтобы получить полную информацию.

Для получения данных, включая `REPLY_ID`, можно:

1. **Обратиться в техподдержку**: Если вам необходима конкретная информация о том, почему `REPLY_ID` не возвращается, вы можете обратиться в техподдержку Bitrix24.

2. **Проверка через другие методы API**: Также можно попробовать получить добавочную информацию о сообщениях с помощью других методов API, например, через `im.dialog.get` или `im.message.get` (если существует).

В конечном итоге, если конкретное поле недоступно через `im.dialog.messages.get`, вам может потребоваться использовать другие методы или резервные способы обработки данных, чтобы получить нужную информацию о сообщениях.

Если у вас есть конкретные примеры кода или дополнительные детали, пожалуйста, предоставьте их, и я постараюсь помочь более детально.
Велосипед, ибо метода поиска цитат не видел 
Сообщение, в котором указано цитируемое сообщение, выглядит так
["text"]=>
        string(286) "------------------------------------------------------
Иванов Иван Иванович - г. Москва, ул. Ленина, д10-г. Казань, ул. Разина, [сегодня, 16:00]
<b>поехали 2!</b>
------------------------------------------------------
цитата"

С помощью регулярки вырезаем все, кроме цитируемого сообщения

Создаем пустой массив и в него добавляем ид сообщения и сам текст сообщения (перебирая результат im.dialog.messages.get).
Что-то вроде такого должно выйти:
Array
(
    [0] => Array
        (
            [id] => 123
            [text] => text1
        )

    [1] => Array
        (
            [id] => 456
            [text] => text2
        )
    ...
)

Дальше с помощью array_search или своего костыля перебираем сформированный массив, в нем ищем совпадение
Похожие вопросы