Реакции в чатах RetailCRM
Скопировать ссылку на статью
Скопировано

В RetailCRM есть возможность управлять реакциями на сообщения в чатах RetailCRM. Реакции представлены в виде эмодзи, которые могут быть добавлены, обновлены или удалены как пользователями системы, так и клиентами (со стороны модулей транспортов). Для транспортных модулей поддержка реакций реализована в виде REST методов в Transport API, а события о реакциях передаются через webhook вызовы.

В настоящий момент доступны следующие операции:

API Методы

Добавление реакции

POST /messages/reaction

Описание

Позволяет добавить реакцию к сообщению в чате.

Тело запроса

{
    "message": {
        "external_id": "7151734053_563"
    },
    "channel": 71,
    "reaction": "🎄"
}

Параметры

  • message.external_id (строка, обязательное) – внешний идентификатор сообщения.
  • channel (число, обязательное) – идентификатор канала.
  • reaction (строка, обязательное) – эмодзи, добавляемый в качестве реакции.

Удаление реакции

DELETE /messages/reaction

Описание

Позволяет удалить ранее установленную реакцию. Данный метод применяется только для добавления реакций клиентов со стороны транспортных модулей.

Тело запроса

{
    "message": {
        "external_id": "7151734053_563"
    },
    "channel": 71,
    "reaction": "🎄"
}

Параметры

  • message.external_id (строка, обязательное) – внешний идентификатор сообщения.
  • channel (число, обязательное) – идентификатор канала.
  • reaction (строка, опциональное) – если передано, будет проверено соответствие удаляемой реакции. Если не передано, удаляется первая найденная реакция клиента.

Настройка канала для поддержки реакций в чатах

Для поддержки реакций в канале необходимо указать соответствующие опции в объекте настроек. Обновление настроек канала производится путем вызова метода PUT /channels/{channel_id}.

Для каждого из типов сообщений text, product, order, image, file необходимо указать тип поддержки реакций. Значение both в данной настройке означает, что транспортом поддерживается как добавление, так и получение реакций в данном канале. Значения receive и send означают поддержку только отправки или получения реакций.

Ниже приведен пример конфигурации настроек канала для поддержки им реакций (другие поля настроек в примере опущены для краткости).

{
    "settings": {
        "text": {
            "reaction": "both"
        },
        "product": {
            "reaction": "both"
        },
        "order": {
            "reaction": "both"
        },
        "image": {
            "reaction": "both"
        },
        "file": {
            "reaction": "both"
        },
        "reactions": {
            "dictionary": ["👍", "👎", "❤", "🔥", "🎄"],
            "max_count": 1
        }
    }
}

Параметры

  • reactions.dictionary (массив) – список эмодзи, доступных для добавления пользователем системы. Эмодзи должны соответствовать стандарту Unicode.
  • reactions.max_count (число) – максимальное количество реакций на одно сообщение со стороны системы. Данная настройка не влияет на количество реакций, добавляемых со стороны транспортных модулей.

Webhook вызовы

Описание полей webhook вызовов

  • new_reaction – новое эмодзи-реакция, добавленная пользователем. Поле доступно только при добавлении и замене реакции.
  • old_reaction – предыдущее эмодзи-реакция, которую заменили или удалили. Поле доступно только при удалении и замене реакции.
  • all_reactions – массив всех актуальных на данный момент реакций со стороны менеджера системы.

Добавление реакции

{
  "type": "reaction_add",
  "meta": {
    "timestamp": 1739958066
  },
  "data": {
    "external_user_id": "99883965",
    "external_chat_id": "99883965",
    "channel_id": 71,
    "external_message_id": "7151734053_560",
    "new_reaction": "🎄",
    "all_reactions": [{ "reaction": "🎄" }]
  }
}

Замена реакции

{
  "type": "reaction_add",
  "meta": {
    "timestamp": 1739958180
  },
  "data": {
    "external_user_id": "99883965",
    "external_chat_id": "99883965",
    "channel_id": 71,
    "external_message_id": "7151734053_560",
    "new_reaction": "👀",
    "old_reaction": "🎄",
    "all_reactions": [{ "reaction": "👀" }]
  }
}

Удаление реакции

{
  "type": "reaction_delete",
  "meta": {
    "timestamp": 1739958235
  },
  "data": {
    "external_user_id": "99883965",
    "external_chat_id": "99883965",
    "channel_id": 71,
    "external_message_id": "7151734053_560",
    "old_reaction": "👀",
    "all_reactions": []
  }
}
Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Интеграция транспортных модулей с поддержкой создания и отправки шаблонов WhatsApp Business
В статье описан процесс настройки интеграции транспортных модулей, поддерживающих функционал создания и отправки шаблонов WhatsApp Business.