Перейти к содержимому

Правка

Обновлено 17 октября 2026

Собеседник исправил своё сообщение. Если сообщение исправили с телефона номера канала, приходит то же, но как outgoingMessageReceived.

typeWebhook incomingMessageReceived; своя правка — outgoingMessageReceived
typeMessage editedMessage
Флаг настроек incomingWebhook; своя правка — outgoingMessageWebhook
Каналы MAX, Telegram, WhatsApp

Пример

Мария исправила в MAX сообщение 117428955282341903:

{
  "typeWebhook": "incomingMessageReceived",
  "instanceData": {"idInstance": 7100000001, "wid": "79990000001@c.us", "typeInstance": "v3", "channel": "max"},
  "timestamp": 1791823712,
  "idMessage": "117428955282341903:edit:1791823712447",
  "eventId": "edit:8695836:117428955282341903:1791823712447",
  "senderData": {
    "chatId": "8695836", "chatName": "Мария", "chatType": "user",
    "sender": "8695836", "senderName": "Мария", "senderType": "user",
    "senderContactName": "", "senderPhoneNumber": 0
  },
  "messageData": {
    "typeMessage": "editedMessage",
    "editedMessageData": {
      "textMessage": "Здравствуйте! Есть места на воскресенье?",
      "stanzaId": "117428955282341903"
    }
  }
}

Поля

Поле Описание
idMessage id события правки: {id}:edit:{версия}. Версия — время правки на площадке
messageData.editedMessageData.stanzaId idMessage сообщения, которое исправили
messageData.editedMessageData.textMessage текст после правки целиком; у файла — новая подпись

Две разные правки одного сообщения — два уведомления с разными idMessage. Ответить цитатой, поставить реакцию или отметить прочитанным можно по stanzaId, а не по idMessage правки.

Остальные поля конверта — в статье Формат уведомления.

Своя правка

Сообщение исправили с телефона номера канала: typeWebhook — outgoingMessageReceived, sender — аккаунт канала, chatId — собеседник. Флаг — outgoingMessageWebhook. См. Свои сообщения.

В других каналах

Канал Версия в idMessage
MAX время правки в миллисекундах
Telegram время правки в секундах
WhatsApp время события правки в миллисекундах

В группе chatId — группа, sender — участник, как у текстового сообщения (см. Текст).

После простоя

  • Правки, сделанные, пока канал был не на связи, приходят при догоне.
  • Сообщение, которое написали и исправили за простой, придёт само — уже с исправленным текстом. В MAX за ним придёт и правка.
  • История чата хранит последний текст и отметку isEdited — см. getChatHistory.

Как обработать

Заменить текст сообщения в вашей ленте:

def on_edit(body: dict) -> None:
    data = body["messageData"]
    if data["typeMessage"] != "editedMessage":
        return
    edit = data["editedMessageData"]
    chat_id = body["senderData"]["chatId"]
    update_text(chat_id, edit["stanzaId"], edit["textMessage"], edited_at=body["timestamp"])

Правки могут прийти не по порядку с другими событиями чата: храните timestamp и не заменяйте текст более старой правкой.

Что дальше

  • editMessage — исправить своё сообщение.
  • Удаление — уведомление об удалённом сообщении.
  • Реакция — уведомление о реакции.

Была ли статья полезна?