Основы API
Модели
Все модели данных, возвращаемые в ответах API. Каждая модель содержит связанные методы и таблицу свойств.
Методы POSTПолучение подписи и POSTЗагрузка файла не возвращают модели данных.
Дополнительное поле
GET
Токен доступа
GET
Статус пользователя
GETPUTDELETE
Сотрудник
GETPOSTPUTDELETE
Тег
GETPOSTPUTDELETE
Чат
GETPOSTPUTDELETE
Тред
GETPOST
Сообщение
GETPOSTPUTDELETE
Реакция на сообщение
GETPOSTDELETE
Напоминание
GETPOSTPUTDELETE
Представление
POST
Параметры бота
PUT
Событие исходящего вебхука
GETDELETE
Событие аудита
GET
Дополнительное поле
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор поля | 1678 |
| name | string | Название поля | "Город" |
| data_type | CustomPropertyDataType | Тип поля | "string" |
Токен доступа
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int64) | Идентификатор токена | 4827 |
| token | string | Маскированный токен (видны первые 8 и последние 4 символа) | "cH5kR9mN...x7Qp" |
| name | string| null | Пользовательское имя токена | "Мой API токен" |
| user_id | integer(int64) | Идентификатор владельца токена | 12 |
| scopes | array of OAuthScope | Список скоупов токена | [ "messages:read", "chats:read" ] |
| created_at | string(date-time) | Дата создания токена | "2025-01-15T10:30:00.000Z" |
| revoked_at | string(date-time)| null | Дата отзыва токена | null |
| expires_in | integer(int32)| null | Время жизни токена в секундах | null |
| last_used_at | string(date-time)| null | Дата последнего использования токена | "2025-02-24T14:20:00.000Z" |
Статус пользователя
- GETСтатус сотрудника
- GETТекущий статус
- PUTНовый статус
- PUTНовый статус сотрудника
- DELETEУдаление статуса
- DELETEУдаление статуса сотрудника
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| emoji | string | Emoji символ статуса | "🎮" |
| title | string | Текст статуса | "Очень занят" |
| expires_at | string(date-time)| null | Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2024-04-08T10:00:00.000Z" |
| is_away | boolean | Режим «Нет на месте» | false |
| away_message | object| null | Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате. | {
"text": "Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."
} |
Сотрудник
- GETИнформация о профиле
- GETИнформация о сотруднике
- GETСписок сотрудников
- GETСписок сотрудников тега
- GETСписок участников чата
- GETПоиск сотрудников
- POSTСоздать сотрудника
- PUTРедактирование сотрудника
- DELETEУдаление сотрудника
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор пользователя | 12 |
| first_name | string | Имя | "Олег" |
| last_name | string | Фамилия | "Петров" |
| nickname | string | Имя пользователя | "" |
| string | Электронная почта | "olegp@example.com" | |
| phone_number | string | Телефон | "" |
| department | string | Департамент | "Продукт" |
| title | string | Должность | "CIO" |
| role | UserRole | Уровень доступа | "admin" |
| suspended | boolean | Деактивация пользователя | false |
| invite_status | InviteStatus | Статус приглашения | "confirmed" |
| list_tags | array of string | Массив тегов, привязанных к сотруднику | [ "Product", "Design" ] |
| custom_properties | array of CustomProperty | Дополнительные поля сотрудника | [
{
"id": 1678,
"name": "Город",
"data_type": "string",
"value": "Санкт-Петербург"
}
] |
| user_status | UserStatus| null | Статус | {
"emoji": "🎮",
"title": "Очень занят",
"expires_at": "2024-04-08T10:00:00.000Z",
"is_away": false,
"away_message": {
"text": "Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."
}
} |
| bot | boolean | Является ботом | false |
| sso | boolean | Использует ли пользователь SSO | false |
| created_at | string(date-time) | Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2020-06-08T09:32:57.000Z" |
| last_activity_at | string(date-time) | Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2025-01-20T13:40:07.000Z" |
| time_zone | string | Часовой пояс пользователя | "Europe/Moscow" |
| image_url | string| null | Ссылка на скачивание аватарки пользователя | "https://app.pachca.com/users/12/photo.jpg" |
Тег
- GETИнформация о теге
- GETСписок тегов сотрудников
- POSTНовый тег
- POSTДобавление тегов
- PUTРедактирование тега
- DELETEИсключение тега
- DELETEУдаление тега
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор тега | 9111 |
| name | string | Название тега | "Design" |
| users_count | integer(int32) | Количество сотрудников, которые имеют этот тег | 6 |
Чат
- GETИнформация о чате
- GETСписок чатов
- GETПоиск чатов
- GETСкачать архив экспорта
- POSTНовый чат
- POSTДобавление пользователей
- POSTЭкспорт сообщений
- PUTОбновление чата
- PUTАрхивация чата
- PUTРазархивация чата
- PUTРедактирование роли
- DELETEВыход из беседы или канала
- DELETEИсключение пользователя
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор созданного чата | 334 |
| name | string | Название | "🤿 aqua" |
| created_at | string(date-time) | Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2021-08-28T15:56:53.000Z" |
| owner_id | integer(int32) | Идентификатор пользователя, создавшего чат | 185 |
| member_ids | array of integer | Массив идентификаторов пользователей, участников | [ 185, 186, 187 ] |
| group_tag_ids | array of integer | Массив идентификаторов тегов, участников | [ 9111 ] |
| channel | boolean | Является каналом | true |
| personal | boolean | Является личным чатом | false |
| public | boolean | Открытый доступ | false |
| last_message_at | string(date-time) | Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2021-08-28T15:56:53.000Z" |
| meet_room_url | string | Ссылка на Видеочат | "https://meet.pachca.com/aqua-94bb21b5" |
Тред
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int64) | Идентификатор созданного треда (используется для отправки [новых комментариев](POST /messages) в тред) | 265142 |
| chat_id | integer(int64) | Идентификатор чата треда (используется для отправки [новых комментариев](POST /messages) в тред и получения [списка комментариев](GET /messages)) | 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" |
Сообщение
- GETИнформация о сообщении
- GETСписок сообщений чата
- GETПоиск сообщений
- GETСписок прочитавших сообщение
- POSTНовое сообщение
- POSTЗакрепление сообщения
- POSTUnfurl (разворачивание ссылок)
- PUTРедактирование сообщения
- DELETEОткрепление сообщения
- DELETEУдаление сообщения
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор сообщения | 194275 |
| entity_type | MessageEntityType | Тип сущности, к которой относится сообщение | "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 File | Прикрепленные файлы | [
{
"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"
}
] |
| buttons | array of array of Button| null | Массив строк, каждая из которых представлена массивом кнопок | [
[
{
"text": "Подробнее"
}
]
] |
| thread | Thread| null | Тред сообщения | {
"id": 265142,
"chat_id": 2637266155,
"message_id": 154332686,
"message_chat_id": 2637266154,
"updated_at": "2023-02-01T19:20:47.204Z"
} |
| forwarding | Forwarding| null | Информация о пересланном сообщении | {
"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 | integer(int32)| null | Идентификатор сообщения, к которому написан ответ | null |
| display_avatar_url | string| null | Ссылка на аватарку отправителя сообщения | null |
| display_name | string| null | Полное имя отправителя сообщения | null |
| changed_at | string(date-time)| null | Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2021-08-28T16:10:00.000Z" |
| deleted_at | string(date-time)| null | Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | null |
Реакция на сообщение
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| user_id | integer(int32) | Идентификатор пользователя, который добавил реакцию | 12 |
| created_at | string(date-time) | Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2024-01-20T10:30:00.000Z" |
| code | string | Emoji символ реакции | "👍" |
| name | string | Название emoji реакции | ":+1::skin-tone-1:" |
Напоминание
- GETИнформация о напоминании
- GETСписок напоминаний
- POSTНовое напоминание
- PUTРедактирование напоминания
- DELETEУдаление напоминания
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор напоминания | 22283 |
| kind | TaskKind | Тип | "reminder" |
| content | string | Описание | "Забрать со склада 21 заказ" |
| due_at | string(date-time)| null | Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2020-06-05T09:00:00.000Z" |
| priority | integer(int32) | Приоритет | 2 |
| user_id | integer(int32) | Идентификатор пользователя-создателя напоминания | 12 |
| chat_id | integer(int32)| null | Идентификатор чата, к которому привязано напоминание | 334 |
| status | TaskStatus | Статус напоминания | "undone" |
| created_at | string(date-time) | Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2020-06-04T10:37:57.000Z" |
| performer_ids | array of integer | Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные» | [ 12 ] |
| all_day | boolean | Напоминание на весь день (без указания времени) | false |
| custom_properties | array of CustomProperty | Дополнительные поля напоминания | [
{
"id": 1678,
"name": "Город",
"data_type": "string",
"value": "Санкт-Петербург"
}
] |
Представление
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| type | string | Способ открытия представления | "modal" |
| trigger_id | string | Уникальный идентификатор события (полученный, например, в исходящем вебхуке о нажатии кнопки) | "791a056b-006c-49dd-834b-c633fde52fe8" |
| private_metadata | string | Необязательная строка, которая будет отправлена в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для передачи в формате JSON какой то дополнительной информации вместе с заполненной пользователем формой. | "{"timeoff_id":4378}" |
| callback_id | string | Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь. | "timeoff_reguest_form" |
| view | object | Собранный объект представления | {
"title": "Уведомление об отпуске",
"blocks": [
{
"type": "header",
"text": "Основная информация"
}
]
} |
Параметры бота
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор бота | 1738816 |
| webhook | object | Объект параметров вебхука | {
"outgoing_url": "https://www.website.com/tasks/new"
} |
Событие исходящего вебхука
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | string | Идентификатор события | "01KAJZ2XDSS2S3DSW9EXJZ0TBV" |
| event_type | string | Тип события | "message_new" |
| payload | WebhookPayloadUnion | Объект вебхука | {
"type": "message",
"id": 1245817,
"event": "new",
"entity_type": "discussion",
"entity_id": 5678,
"content": "Текст сообщения",
"user_id": 2345,
"created_at": "2025-05-15T14:30:00.000Z",
"url": "https://pachca.com/chats/1245817/messages/5678",
"chat_id": 9012,
"webhook_timestamp": 1747574400
} |
| created_at | string(date-time) | Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2025-05-15T14:30:00.000Z" |
Событие аудита
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | string | Уникальный идентификатор события | "a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14" |
| created_at | string(date-time) | Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2025-05-15T14:30:00.000Z" |
| event_key | AuditEventKey | Ключ типа события | "user_login" |
| entity_id | string | Идентификатор затронутой сущности | "98765" |
| entity_type | string | Тип затронутой сущности | "User" |
| actor_id | string | Идентификатор пользователя, выполнившего действие | "98765" |
| actor_type | string | Тип актора | "User" |
| details | AuditEventDetailsUnion | Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект | — |
| ip_address | string | IP-адрес, с которого было выполнено действие | "192.168.1.100" |
| user_agent | string | User agent клиента | "Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0" |