Новое сообщение

Метод для отправки сообщения в беседу или канал, личного сообщения пользователю или комментария в тред.

При использовании entity_type: "discussion" (или просто без указания entity_type) допускается отправка любого chat_id в поле entity_id. То есть, сообщение можно отправить зная только идентификатор чата. При этом, вы имеете возможность отправить сообщение в тред по его идентификатору или личное сообщение по идентификатору пользователя.

Для отправки личного сообщения пользователю создавать чат не требуется. Достаточно указать entity_type: "user" и идентификатор пользователя. Чат будет создан автоматически, если между вами ещё не было переписки. Между двумя пользователями может быть только один личный чат.

post /messages создание нового сообщения
Запрос
message object Собранный объект параметров создаваемого сообщения
entity_type string Тип сущности: беседа или канал (по умолчанию, discussion), пользователь (user), тред (thread). Для создания треда к сообщению воспользуйтесь методом новый тред.
entity_id integer* Идентификатор сущности
content string* Текст сообщения
files array of objects Прикрепляемые файлы
key string* Путь к файлу, полученный в результате загрузки файла (каждый файл в каждом сообщении должен иметь свой уникальный key, не допускается использование одного и того же key в разных сообщениях)
name string* Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением)
file_type string* Тип файла: файл (file), изображение (image)
size integer* Размер файла в байтах, отображаемый пользователю
buttons array of array of objects Массив строк, каждая из которых представлена массивом кнопок. Подробнее о том, как формировать строки кнопок и какие есть ограничения вы можете прочитать в статье.
text string* Текст, отображаемый на кнопке пользователю
url string** Ссылка, которая будет открыта по нажатию кнопки
data string** Данные, которые будут отправлены в исходящем вебхуке по нажатию кнопки
parent_message_id integer Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.
skip_invite_mentions boolean [Этот параметр работает только при отправке сообщения в тред] Добавление в тред упоминаемых пользователей (при значении true упоминаемые пользователи не будут добавлены в тред). По умолчанию упоминаемые в сообщении пользователи добавляются в тред.
link_preview boolean Отображение предпросмотра ссылки у сообщения (при значении true у сообщения будет отображаться предпросмотр первой найденной в тексте сообщения ссылки). По умолчанию предпросмотр ссылки не отображается.
Ответ
data object Созданное сообщение
id integer Идентификатор созданного сообщения
entity_type string Тип сущности, к которой относится сообщение: беседа/канал (discussion), тред (thread) или пользователь (user)
entity_id integer Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя)
chat_id integer Идентификатор чата, в котором находится сообщение
content string Текст сообщения
user_id integer Идентификатор пользователя, создавшего сообщение
created_at string Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
files array of objects Прикреплённые файлы
id integer Идентификатор файла
key string Путь к файлу
name string Название файла
file_type string Тип файла: файл (file), изображение (image)
url string Прямая временная ссылка на скачивание файла
buttons array of array of objects Массив строк, каждая из которых представлена массивом кнопок.
text string Текст, отображаемый на кнопке пользователю
url string Ссылка, которая будет открыта по нажатию кнопки
data string Данные, которые будут отправлены в исходящем вебхуке по нажатию кнопки
thread object или null Тред сообщения. Возвращается как null, если у сообщения нет комментариев.
id integer Идентификатор треда (используется для отправки новых комментариев)
chat_id integer Идентификатор чата треда (используется для отправки новых комментариев в тред и получения списка комментариев)
forwarding object или null Информация о пересылаемом сообщении. Возвращается как null, если это сообщение не является пересылаемым с сохранением автора.
original_message_id integer Идентификатор оригинального сообщения
original_chat_id integer Идентификатор чата, в котором находится оригинальное сообщение
author_id integer Идентификатор пользователя, создавшего оригинальное сообщение
original_created_at integer Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
original_thread_id integer или null Идентификатор треда, в котором находится оригинальное сообщение. Возвращается как null, если оригинальное сообщение не является комментарием в треде.
original_thread_message_id integer или null Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Возвращается как null, если оригинальное сообщение не является комментарием в треде.
original_thread_parent_chat_id integer или null Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Возвращается как null, если оригинальное сообщение не является комментарием в треде.
parent_message_id integer или null Идентификатор сообщения, к которому написан ответ. Возвращается как null, если сообщение не является ответом.
Возможные ошибки запроса (errors code)
blank Поле не может быть пустым
exclusion Поле имеет недопустимое значение
not_found Не удалось найти
{
  "message": {
    "entity_type": "discussion",
    "entity_id": 198,
    "content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"
  }
}
{
  "data": {
    "id": 194275,
    "entity_type": "discussion",
    "entity_id": 198,
    "chat_id": 198,
    "content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
    "user_id": 12,
    "created_at": "2020-06-08T09:32:57.000Z",
    "files": [],
    "buttons": [],
    "thread": null,
    "forwarding": null,
    "parent_message_id": null
  }
}