> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# messenger.message_reaction.updated

> Происходит, когда клиент ставит реакцию на сообщение в Messenger или удаляет её.

Используйте `messenger.message_reaction.updated` для обработки этого события на вашей конечной точке Webhook.

## Триггеры

Происходит, когда клиент ставит реакцию на сообщение в Messenger или удаляет её.

Подпишитесь на `messenger.message_reaction.updated`, когда будете [настраивать конечную точку Webhook](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

Используйте `action`, чтобы отличить добавление реакции от её удаления. При удалении реакции поля `reaction` и `emoji` могут быть опущены. Для целевого сообщения Meta наличие локальной записи сообщения в YCloud не требуется. Поле `createTime` в конверте события указывает время исходного взаимодействия.

## Синтаксис

YCloud отправляет HTTP-запрос `POST` на настроенный вами URL-адрес Webhook. Ниже представлена структура одного из вариантов полезной нагрузки. Значения в угловых скобках являются плейсхолдерами; их типы перечислены в разделе **Параметры**. Необязательные поля и другие варианты описаны ниже.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "messenger.message_reaction.updated",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "messengerMessageReaction": {
    "pageId": "<PAGE_ID>",
    "psid": "<PSID>",
    "metaMessageId": "<META_MESSAGE_ID>",
    "action": "<ACTION>",
    "reaction": "<REACTION>",
    "emoji": "<EMOJI>"
  }
}
```

## Параметры

Проверьте HTTP-заголовок `YCloud-Signature` перед обработкой тела JSON. См. раздел [проверка подписи](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Конверт события

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `id` | string | Да | Уникальный идентификатор события. Минимальная длина: `6`. Максимальная длина: `128`. |
| `type` | string | Да | Всегда `messenger.message_reaction.updated`. |
| `apiVersion` | string | Да | Версия API, используемая для формирования этого события. |
| `createTime` | string (date-time) | Да | Время создания события в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Например, `2022-06-01T12:00:00.000Z`. |

### Полезная нагрузка события

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `messengerMessageReaction` | object | Нет | Специфичная для события полезная нагрузка `messengerMessageReaction`. |

Четыре общих поля конверта обязательны. Поля полезной нагрузки зависят от варианта события. В таблице каждого объекта признак **Обязательный** применяется, если присутствует родительский объект. Необязательные поля могут быть опущены; наличие поля в примере не делает его обязательным.

#### messengerMessageReaction

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `pageId` | string | Да | Идентификатор страницы Facebook, определяющий контекст этой переписки. |
| `psid` | string | Да | Привязанный к странице идентификатор (Page-scoped ID) клиента, поставившего реакцию. |
| `metaMessageId` | string | Да | Идентификатор Meta для сообщения, к которому относится реакция. |
| `action` | string | Да | Используйте react для добавления реакции и unreact для её удаления. |
| `reaction` | string | Нет | Название реакции, если оно предоставлено Meta. Может быть опущено, в том числе при удалении реакции. |
| `emoji` | string | Нет | Эмодзи реакции, если оно предоставлено Meta. Может быть опущено, в том числе при удалении реакции. |

## Пример

Следующий фрагмент JSON представляет собой тело запроса, передаваемое вашему обработчику. Идентификаторы, номера телефонов и другие параметры аккаунта приведены в качестве примера.

> [accordion] Реакция на сообщение в Messenger
>
> Для целевого сообщения Meta наличие локальной записи сообщения в YCloud не требуется.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_abcdef0123456789abcdef01",
>   "type": "messenger.message_reaction.updated",
>   "apiVersion": "v2",
>   "createTime": "2026-10-20T02:00:04.000Z",
>   "messengerMessageReaction": {
>     "pageId": "422500000000000",
>     "psid": "100800000000000",
>     "metaMessageId": "m_EXAMPLE_OUT_001",
>     "action": "react",
>     "reaction": "love",
>     "emoji": "❤️"
>   }
> }
> ```

> [accordion] Реакция на сообщение в Messenger удалена
>
> При удалении реакции название и эмодзи реакции могут быть опущены.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_bcdef0123456789abcdef012",
>   "type": "messenger.message_reaction.updated",
>   "apiVersion": "v2",
>   "createTime": "2026-10-20T02:00:05.000Z",
>   "messengerMessageReaction": {
>     "pageId": "422500000000000",
>     "psid": "100800000000000",
>     "metaMessageId": "m_EXAMPLE_OUT_001",
>     "action": "unreact"
>   }
> }
> ```

После проверки подписи и надежного сохранения события верните ответ `2xx`. Трудоемкие операции выполняйте асинхронно.

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
HTTP/1.1 200 OK
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.