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

POST/messages

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

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

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

Тело запроса

application/json
message
object
*
Собранный объект параметров создаваемого сообщения
entity_type
string
Тип сущности
Возможные значения
Пример:discussion
По умолчанию:
discussion
entity_id
integer, (int32)
*
Идентификатор сущности
Пример:334
content
string
*
Текст сообщения
Пример:Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)
files[]
array of objects
Прикрепляемые файлы
key
string
*
Путь к файлу, полученный в результате POSTзагрузки файла
Пример:attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png
name
string
*
Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением)
Пример:logo.png
file_type
string
*
Тип файла
Возможные значения
Пример:image
size
integer, (int32)
*
Размер файла в байтах, отображаемый пользователю
Пример:12345
width
integer, (int32)
Ширина изображения в px (используется в случае, если file_type указан как image)
Пример:800
height
integer, (int32)
Высота изображения в px (используется в случае, если file_type указан как image)
Пример:600
buttons[][]
array of arrays of objects
Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.
Пример:[[{"text":"Подробнее","url":"https://example.com/details"},{"text":"Отлично!","data":"awesome"}]]
text
string
*
Текст, отображаемый на кнопке
Пример:Подробнее
Длина:
<= 255 символов
url
string
Ссылка, которая будет открыта по нажатию кнопки
Пример:https://example.com/details
data
string
Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки
Пример:awesome
Длина:
<= 255 символов
parent_message_id
integer, (int32)
Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.
Пример:194270
display_avatar_url
string
Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.
Пример:https://example.com/avatar.png
Длина:
<= 255 символов
display_name
string
Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.
Пример:Бот Поддержки
Длина:
<= 255 символов
skip_invite_mentions
boolean
Пропуск добавления упоминаемых пользователей в тред. Работает только при отправке сообщения в тред.
Пример:false
По умолчанию:
false

Ответ

201Created
The request has succeeded and a new resource has been created as a result.
data
object
*
Сообщение
id
integer, (int32)
*
Идентификатор сообщения
Пример:194275
entity_type
string
*
Тип сущности, к которой относится сообщение
Возможные значения
Пример:discussion
entity_id
integer, (int32)
*
Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя)
Пример:334
chat_id
integer, (int32)
*
Идентификатор чата, в котором находится сообщение
Пример:334
root_chat_id
integer, (int32)
*
Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с chat_id.
Пример:334
content
string
*
Текст сообщения
Пример:Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)
user_id
integer, (int32)
*
Идентификатор пользователя, создавшего сообщение
Пример:12
created_at
string, (date-time)
*
Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
Пример:2021-08-28T15:57:23.000Z
url
string
*
Прямая ссылка на сообщение
Пример:https://app.pachca.com/chats/334?message=194275
files[]
array of objects
*
Прикрепленные файлы
id
integer, (int32)
*
Идентификатор файла
Пример:3560
key
string
*
Путь к файлу
Пример:attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png
name
string
*
Название файла с расширением
Пример:congrat.png
file_type
string
*
Тип файла
Возможные значения
Пример:image
url
string
*
Прямая ссылка на скачивание файла
Пример:https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8
width
nullableinteger, (int32)
Ширина изображения в пикселях
Пример:1920
height
nullableinteger, (int32)
Высота изображения в пикселях
Пример:1080
buttons[][]
nullablearray of arrays of objects
*
Массив строк, каждая из которых представлена массивом кнопок
text
string
*
Текст, отображаемый на кнопке
Пример:Подробнее
Длина:
<= 255 символов
url
string
Ссылка, которая будет открыта по нажатию кнопки
Пример:https://example.com/details
data
string
Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки
Пример:awesome
Длина:
<= 255 символов
thread
nullableobject
*
Тред сообщения
id
integer, (int64)
*
Идентификатор созданного треда (используется для отправки POSTновых комментариев в тред)
Пример:265142
chat_id
integer, (int64)
*
Идентификатор чата треда (используется для отправки POSTновых комментариев в тред и получения GETсписка комментариев)
Пример:2637266155
message_id
integer, (int64)
*
Идентификатор сообщения, к которому был создан тред
Пример:154332686
message_chat_id
integer, (int64)
*
Идентификатор чата сообщения
Пример:2637266154
updated_at
string, (date-time)
*
Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
Пример:2023-02-01T19:20:47.204Z
forwarding
nullableobject
*
Информация о пересланном сообщении
original_message_id
integer, (int32)
*
Идентификатор оригинального сообщения
Пример:194275
original_chat_id
integer, (int32)
*
Идентификатор чата, в котором находится оригинальное сообщение
Пример:334
author_id
integer, (int32)
*
Идентификатор пользователя, создавшего оригинальное сообщение
Пример:12
original_created_at
string, (date-time)
*
Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
Пример:2025-01-15T10:30:00.000Z
original_thread_id
nullableinteger, (int32)
*
Идентификатор треда, в котором находится оригинальное сообщение
Пример:null
original_thread_message_id
nullableinteger, (int32)
*
Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение
Пример:null
original_thread_parent_chat_id
nullableinteger, (int32)
*
Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение
Пример:null
parent_message_id
nullableinteger, (int32)
*
Идентификатор сообщения, к которому написан ответ
Пример:null
display_avatar_url
nullablestring
*
Ссылка на аватарку отправителя сообщения
Пример:null
display_name
nullablestring
*
Полное имя отправителя сообщения
Пример:null
changed_at
nullablestring, (date-time)
*
Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
Пример:2021-08-28T16:10:00.000Z
deleted_at
nullablestring, (date-time)
*
Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
Пример:null
Новое сообщение
curl "https://api.pachca.com/api/shared/v1/messages" \  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \  -H "Content-Type: application/json" \  -d '{  "message": {    "entity_type": "discussion",    "entity_id": 334,    "content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",    "files": [      {        "key": "attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png",        "name": "logo.png",        "file_type": "image",        "size": 12345,        "width": 800,        "height": 600      }    ],    "buttons": [      [        {          "text": "Подробнее",          "url": "https://example.com/details"        },        {          "text": "Отлично!",          "data": "awesome"        }      ]    ],    "parent_message_id": 194270,    "display_avatar_url": "https://example.com/avatar.png",    "display_name": "Бот Поддержки",    "skip_invite_mentions": false,    "link_preview": false  }}'
Ответ 201
{  "data": {    "id": 194275,    "entity_type": "discussion",    "entity_id": 334,    "chat_id": 334,    "root_chat_id": 334,    "content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",    "user_id": 12,    "created_at": "2021-08-28T15:57:23.000Z",    "url": "https://app.pachca.com/chats/334?message=194275",    "files": [      {        "id": 3560,        "key": "attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png",        "name": "congrat.png",        "file_type": "image",        "url": "https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8",        "width": 1920,        "height": 1080      }    ],    "buttons": [      [        {          "text": "Подробнее",          "url": "https://example.com/details",          "data": "awesome"        }      ]    ],    "thread": {      "id": 265142,      "chat_id": 2637266155,      "message_id": 154332686,      "message_chat_id": 2637266154,      "updated_at": "2023-02-01T19:20:47.204Z"    },    "forwarding": {      "original_message_id": 194275,      "original_chat_id": 334,      "author_id": 12,      "original_created_at": "2025-01-15T10:30:00.000Z",      "original_thread_id": null,      "original_thread_message_id": null,      "original_thread_parent_chat_id": null    },    "parent_message_id": null,    "display_avatar_url": null,    "display_name": null,    "changed_at": "2021-08-28T16:10:00.000Z",    "deleted_at": null  }}