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

Ответ формой

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

Посетитель заполнил и отправил форму — вашу из sendForm или встроенную форму контакта окна. Поля приходят по ключам, а для людей — ещё и текстом с подписями.

typeWebhook incomingMessageReceived
typeMessage formResponseMessage
Флаг настроек incomingWebhook
Каналы чат на сайте

Пример

Посетитель записался на пробное:

{
  "typeWebhook": "incomingMessageReceived",
  "instanceData": {"idInstance": 7100000001, "wid": "sk3m7qz2a4bt6cdxy", "typeInstance": "site", "channel": "site"},
  "timestamp": 1791823760,
  "idMessage": "i9a4d2c7e1b0f3586de2a1c9b7f4e0d31",
  "senderData": {
    "chatId": "vq3k7m2x4a6b2c4d6e7f2g3h4", "chatName": "Мария", "chatType": "user",
    "sender": "vq3k7m2x4a6b2c4d6e7f2g3h4", "senderName": "Мария", "senderType": "user",
    "senderContactName": "", "senderPhoneNumber": 0
  },
  "messageData": {
    "typeMessage": "formResponseMessage",
    "formResponseMessage": {
      "stanzaId": "o5d3c2b1a0f9e8d7c6b5a4f3e2d1c0b",
      "formId": "f3a91c2e07b4d",
      "fields": {"name": "Мария", "phone": "+79991234567", "day": "Суббота"},
      "consent": {"mode": "notice", "accepted": true, "version": "n3f1c0a9b2d4e6f70", "at": "2026-10-19T08:49:20+00:00"}
    },
    "textMessageData": {"textMessage": "Имя: Мария\nТелефон: +79991234567\nДень: Суббота"},
    "siteMessageData": {
      "ref": "G-7K4MXQ",
      "page": {"url": "https://school.ru/prices", "title": "Цены"},
      "referrer": "https://yandex.ru",
      "utm": {"utm_source": "yandex", "utm_campaign": "autumn"},
      "device": "mobile",
      "lang": "ru",
      "attributes": {}
    }
  }
}

Поля

Поле Описание
formResponseMessage.stanzaId idMessage сообщения с формой. У формы контакта, которую окно показало само, — null
formResponseMessage.formId id формы: ваш или выведенный Gratio, у формы контакта — contact
formResponseMessage.fields значения полей по ключам key
formResponseMessage.consent согласие, данное с этой формой: mode — notice, contact или chat, как у реплики, см. Реплика с сайта
textMessageData.textMessage поля с подписями формы — текстом для людей
siteMessageData как у текста — см. Реплика с сайта

Имя из формы становится именем посетителя: chatName — «Мария» вместо «Посетитель G-7K4MXQ».

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

Завести заявку из формы записи:

def on_form(body: dict) -> None:
    data = body["messageData"]
    if data["typeMessage"] != "formResponseMessage":
        return
    form = data["formResponseMessage"]
    create_booking(name=form["fields"].get("name"), phone=form["fields"].get("phone"),
                   day=form["fields"].get("day"), consent=form.get("consent"))

create_booking — ваш код.

Что дальше

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