# Работа с опросами

# Отправка сообщения с опросом в чат

Запрос:

{
    "type": 1,
    "id": 5,
    "method": "sendSurvey",
    "payload": {
        "chatId": "5abba630dd1089090ba41c69c7aa34e4ba277a43",
        "replyMessageId": "267d61f2-2ba1-4e88-83ab-bb84415f31b6",
        "content": {
            "url": "https://server.url/webtools/survey",
            "appVersion": 1,
            "path": "employee_testing",
            "title": "Employee survey",
            "description": "{{Survey}}",
            "buttonText": "{{Go to survey}}",
            "secret": "25690753a489f037af09b5cbce417b41374807fe",
            "alt": "📊 <a href='https://server.url/webtools/survey?id=employee_testing&error=autologin_not_supported'>Employee survey</a>"
        }
    }
}

Параметр Тип Обяз. Описание
type uint32 Да Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
id uint32 Да Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут.
method string Да Команда sendSurvey
chatId string Да Идентификатор чата для отправки опроса
replyMessageId string Нет Идентификатор сообщения, если это ответ
url string Да Строковый URL опросов на сервере, имеет вид https://server.name/webtools/survey
appVersion number Да Версия опросов на сервере
path string Да Идентификатор кампании опроса
title string Да Название опроса
description string Да Тип опроса — анонимный или не анонимный. Всегда содержит строку \{\{Anonymous survey\}\} либо \{\{Survey\}\}
buttonText string Да Текст, отображаемый на кнопке перехода к опросу. Всегда содержит строку \{\{Go to survey\}\}
secret string Да Случайная строка из тела сообщения. Должен быть сформирован как SHA1-хэш от конкатенации названия опроса и произвольной строки.
alt string Да Альтернативная ссылка для перехода к опросу. Имеет вид: 📊 <a href="<url>?id=<path>"><title></a>, где вместо <url>, <path> и <title> подставляются соответствующие значения.

Ответ:

{
    "type": 2,
    "id": 5,
    "payload": {
        "timestamp": 1750168761373,
        "messageId": "f8865b5c-877c-4a55-b175-a667ebf5f007",
        "chatId": "5abba630dd1089090ba41c69c7aa34e4ba277a43"
    }
}
Параметр Тип Обяз. Описание
type uint32 Да Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
id uint32 Да Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatId string Да Идентификатор чата, в который отправилось сообщение
messageId string Да Идентификатор сообщения. Можно использовать данный идентификатор в дальнейшем для изменения, пересылки или удаления сообщения
timestamp uint64 Да Временная метка отправки сообщения в формате UNIX timestamp с точностью до миллисекунд

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

# Редактирование сообщения с опросом

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "editSurvey",
    "payload": {
        "messageId": "f8865b5c-877c-4a55-b175-a667ebf5f007",
        "content": {
            "path": "employee_testing_marketing",
            "title": "Employee survey отдела Маркетинга",
            "description": "{{Survey}}",
            "buttonText": "{{Go to survey}}",
            "alt": "📊 <a href='https://server.url/webtools/survey?id=employee_testing&error=autologin_not_supported'><title></a>"
        }
    }
}
Параметр Тип Обяз. Описание
type uint32 Да Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
id uint32 Да Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
method string Да Команда editSurvey
messageId string Да Идентификатор сообщения с опросом
path string Да Идентификатор кампании опроса
title string Да Название опроса
description string Да Тип опроса — анонимный или не анонимный. Всегда содержит строку \{\{Anonymous survey\}\} либо \{\{Survey\}\}
buttonText string Да Текст, который будет отображен на кнопке перехода к опросу. Всегда содержит строку \{\{Go to survey\}\}
alt string Да Альтернативная ссылка для перехода к опросу. Имеет вид: 📊 <a href="<url>?id=<path>"><title></a>, где вместо <url>, <path> и <title> подставляются соответствующие значения.

Ответ:

{
    "type": 2,
    "id": 1,
    "payload": {
        "messageId": "f8865b5c-877c-4a55-b175-a667ebf5f007",
        "timestamp": 1735314170572
    }
}
Параметр Тип Обяз. Описание
type uint32 Да Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
id uint32 Да Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
messageId string Да Идентификатор отредактированного сообщения
timestamp uint64 Да Временная метка редактирования сообщения в формате UNIX timestamp с точностью до миллисекунд

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Обновлено: 19.07.2025