> ## 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.inbound_message.updated

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

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

## Триггеры

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

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

При редактировании сохраняются те же идентификаторы сообщений, `sendTime` и исходное сообщение `createTime`. Значение `createTime` конверта события указывает время редактирования. Используйте `editCount` и `editTime` для отслеживания совокупных данных редактирования.

## Синтаксис

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

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "messenger.inbound_message.updated",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "messengerInboundMessage": {
    "id": "<ID>",
    "metaMessageId": "<META_MESSAGE_ID>",
    "from": "<FROM>",
    "to": "<TO>",
    "type": "<TYPE>",
    "text": {
      "body": "<BODY>"
    },
    "sendTime": "<SEND_TIME>",
    "createTime": "<CREATE_TIME>",
    "editCount": "<EDIT_COUNT_VALUE>",
    "editTime": "<EDIT_TIME>"
  }
}
```

## Параметры

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

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

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

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

| Параметр | Тип | Обязательно | Описание |
| - | - | - | - |
| `messengerInboundMessage` | object | Нет | Полезная нагрузка события `messengerInboundMessage`. |

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

#### messengerInboundMessage

| Параметр | Тип | Обязательно | Описание |
| - | - | - | - |
| `id` | string | Да | Идентификатор входящего сообщения YCloud в виде десятичной строки. |
| `metaMessageId` | string | Да | Идентификатор сообщения Meta. |
| `from` | string | Да | PSID клиента в рамках страницы Facebook. |
| `to` | string | Да | Идентификатор страницы Facebook. |
| `type` | string | Да | Значения: `text`. |
| `text` | object | Да | Поля объекта перечислены ниже. |
| `sendTime` | string (date-time) | Да | Сохраненное исходное время события в формате UTC RFC 3339 с миллисекундной точностью. |
| `createTime` | string (date-time) | Да | Время сохранения на локальном сервере в формате UTC RFC 3339 с миллисекундной точностью. |
| `editCount` | integer | Нет | Совокупное количество правок, предоставленное Meta. Отсутствует до первой правки. |
| `editTime` | string (date-time) | Нет | Сохраненное время правки на платформе в формате UTC RFC 3339 с миллисекундной точностью. Отсутствует до первой правки. |

> [accordion] messengerInboundMessage.text
>
> | Параметр | Тип | Обязательно | Описание |
> | - | - | - | - |
> | `body` | string | Да | Непустой текст. Начальные и конечные пробелы сохраняются и учитываются при сравнении повторного запроса.Минимальная длина: `1`. |

## Пример

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

То же сохраненное сообщение теперь содержит последний текст и совокупные данные о правках.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "evt_cdef0123456789abcdef0123",
  "type": "messenger.inbound_message.updated",
  "apiVersion": "v2",
  "createTime": "2026-10-20T02:01:00.000Z",
  "messengerInboundMessage": {
    "id": "1308528868252065793",
    "metaMessageId": "m_EXAMPLE_IN_001",
    "from": "100800000000000",
    "to": "422500000000000",
    "type": "text",
    "text": {
      "body": "  Hello, corrected  "
    },
    "sendTime": "2026-10-20T02:00:00.000Z",
    "createTime": "2026-10-20T02:00:00.100Z",
    "editCount": 2,
    "editTime": "2026-10-20T02:01:00.000Z"
  }
}
```

После проверки подписи и надежного сохранения события верните ответ `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.