Основы API
Модели
Все модели данных, возвращаемые в ответах API. Каждая модель содержит связанные методы и таблицу свойств.
Методы POSTПолучение подписи и POSTЗагрузка файла не возвращают модели данных.
Дополнительное поле
GET
Токен доступа
GET
Статус пользователя
GETPUTDELETE
Аватар
PUTDELETE
Сотрудник
POSTGETPUTDELETE
Тег
POSTGETPUTDELETE
Чат
POSTGETPUTDELETE
Тред
POSTGET
Сообщение
POSTGETPUTDELETE
Реакция на сообщение
POSTGETDELETE
Напоминание
POSTGETPUTDELETE
Представление
POST
Параметры бота
POSTGETPUTDELETE
Событие исходящего вебхука
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 | Пользовательское имя токена. 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: по отозванному токену метод возвращает 401. | null |
| expires_in | integer(int32)| null | Время жизни токена в секундах. Всегда null — токены выдаются бессрочно. | null |
| last_used_at | string(date-time)| null | Дата последнего использования токена. 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. null, если срок не задан — такой статус не сбрасывается автоматически. | "2024-04-08T10:00:00.000Z" |
| is_away | boolean | Режим «Нет на месте» | false |
| away_message | object| null | Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате. null, если текст автоответа не задан. | {
"text": "Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."
} |
Аватар
- PUTЗагрузка своего аватара
- DELETEУдаление своего аватара
- PUTЗагрузка аватара сотрудника
- DELETEУдаление аватара сотрудника
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| image_url | string | URL аватара | "https://pachca-prod.s3.amazonaws.com/uploads/0001/0001/image.jpg" |
Сотрудник
- POSTНовый сотрудник
- GETСвой профиль
- GETИнформация о сотруднике
- GETСписок сотрудников
- GETСписок сотрудников тега
- GETСписок участников чата
- GETПоиск сотрудников
- PUTРедактирование сотрудника
- DELETEУдаление сотрудника
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор пользователя | 12 |
| first_name | string| null | Имя. Возвращается null, пока приглашённый сотрудник не завершил регистрацию (invite_status со значением sent). | "Олег" |
| last_name | string| null | Фамилия. Если не заполнена, возвращается null или пустая строка. | "Петров" |
| nickname | string | Имя пользователя | "olegpetrov" |
| string| null | Электронная почта. Возвращает null для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников. | "olegp@example.com" | |
| phone_number | string| null | Телефон. Возвращает null для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников. | "+79001234567" |
| department | string| null | Департамент. Если не указан, возвращается null или пустая строка. | "Продукт" |
| title | string| null | Должность. Если не указана, возвращается null или пустая строка. | "CIO" |
| role | UserRole | Уровень доступа | "admin" |
| suspended | boolean | Деактивация пользователя | false |
| invite_status | InviteStatus | Статус приглашения | "confirmed" |
| inviter_id | integer(int32)| null | Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает null, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён. | 185 |
| list_tags | array of string | Массив тегов, привязанных к сотруднику | [ "Product", "Design" ] |
| custom_properties | array of CustomProperty | Дополнительные поля сотрудника | [
{
"id": 1678,
"name": "Город",
"data_type": "string",
"value": "Санкт-Петербург"
}
] |
| user_status | UserStatus| null | Статус. 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)| null | Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. null, если сотрудник ещё ни разу не заходил в Пачку — в этом случае invite_status возвращает sent. | "2025-01-20T13:40:07.000Z" |
| time_zone | string| null | Часовой пояс пользователя. null, если сотрудник не задал личный часовой пояс — тогда применяется часовой пояс компании. | "Europe/Moscow" |
| image_url | string| null | Ссылка на скачивание аватарки пользователя. null, если аватарка не загружена. | "https://app.pachca.com/users/12/photo.jpg" |
Тег
- POSTНовый тег
- POSTДобавление тегов
- GETИнформация о теге
- GETСписок тегов сотрудников
- PUTРедактирование тега
- DELETEИсключение тега
- DELETEУдаление тега
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор тега | 9111 |
| name | string | Название тега | "Design" |
| users_count | integer(int32) | Количество сотрудников, которые имеют этот тег | 6 |
Чат
- POSTНовый чат
- POSTДобавление пользователей
- POSTЭкспорт сообщений
- GETИнформация о чате
- GETСписок чатов
- GETПоиск чатов
- GETСкачать архив экспорта
- 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 |
| archived | boolean | Находится в архиве | false |
| 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новых комментариев в тред) | 265142 |
| chat_id | integer(int64) | Идентификатор чата треда (используется для отправки POSTновых комментариев в тред и получения GETсписка комментариев) | 2637266155 |
| message_id | integer(int64)| null | Идентификатор сообщения, к которому был создан тред. null для самостоятельного треда, созданного без привязки к сообщению. | 154332686 |
| message_chat_id | integer(int64)| null | Идентификатор чата сообщения. null для самостоятельного треда, созданного без привязки к сообщению. | 2637266154 |
| updated_at | string(date-time) | Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ | "2023-02-01T19:20:47.204Z" |
Сообщение
- POSTНовое сообщение
- POSTЗакрепление сообщения
- POSTUnfurl (разворачивание ссылок)
- GETИнформация о сообщении
- GETСписок сообщений чата
- GETПоиск сообщений
- GETСписок прочитавших сообщение
- 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"
}
] |
| voice_content | VoiceContent| null | Данные голосового сообщения. Заполняется только для голосовых сообщений (file_type файла — voice), иначе null. | {
"duration_ms": 5400,
"waveform": "4,8,12,20,16,10,6,3",
"transcript": "Привет, посмотри пожалуйста последний отчёт"
} |
| buttons | array of array of Button| null | Массив строк, каждая из которых представлена массивом кнопок. null, если сообщение отправлено без кнопок. | [
[
{
"text": "Подробнее"
}
]
] |
| thread | object| null | Тред, созданный к этому сообщению. null, если тред не создан, а также у сообщений, которые сами находятся внутри треда. | {
"id": 265142,
"chat_id": 2637266155
} |
| forwarding | Forwarding| null | Информация о пересланном сообщении. 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, если сообщение не является ответом на другое сообщение. | null |
| display_avatar_url | string| null | Ссылка на аватарку отправителя сообщения. Поле присутствует только у сообщений от ботов; у сообщений от сотрудников его в ответе нет. null, если бот не переопределял значение при отправке. | null |
| display_name | string| null | Полное имя отправителя сообщения. Поле присутствует только у сообщений от ботов; у сообщений от сотрудников его в ответе нет. null, если бот не переопределял значение при отправке. | null |
| changed_at | string(date-time)| null | Дата и время последнего изменения сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. У неотредактированного сообщения совпадает с датой создания. null у сообщений, отправленных до появления этого поля. | "2021-08-28T16:10:00.000Z" |
| deleted_at | string(date-time)| null | Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. null у неудалённых сообщений. В списке сообщений удалённые не возвращаются. | 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:" |
Напоминание
- POSTНовое напоминание
- GETИнформация о напоминании
- GETСписок напоминаний
- 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. null, если срок не задан. | "2020-06-05T09:00:00.000Z" |
| priority | integer(int32) | Приоритет | 2 |
| user_id | integer(int32) | Идентификатор пользователя-создателя напоминания | 12 |
| chat_id | integer(int32)| null | Идентификатор чата, к которому привязано напоминание. 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_request_form" |
| view | object | Собранный объект представления | {
"title": "Уведомление об отпуске",
"blocks": [
{
"type": "header",
"text": "Основная информация"
}
]
} |
Параметры бота
- POSTНовый бот
- GETСписок ботов
- GETИнформация о боте
- PUTРедактирование бота
- DELETEУдаление бота
- PUTСаморегистрация вебхука бота
- POSTРотация токена бота
- POSTРотация собственного токена бота
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| id | integer(int32) | Идентификатор бота (совпадает с user_id бота) | 1738816 |
| webhook | BotWebhook | Объект параметров вебхука | {
"name": "Бот задач",
"nickname": "tasks_bot",
"outgoing_url": "https://www.website.com/tasks/new",
"events": [
"message_new"
],
"trigger_on": "commands",
"commands": [
"/task"
],
"scopes": [
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
"template_engine": "liquid",
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
"events_history_enabled": false,
"single_chat": false,
"can_edit": [
"admin"
],
"who_can_add": "creator"
} |
Событие исходящего вебхука
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
| 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| null | IP-адрес, с которого было выполнено действие. null у событий, записанных без запроса пользователя. | "192.168.1.100" |
| user_agent | string| null | User agent клиента, обрезается до 255 символов. null у событий, записанных без запроса пользователя. | "Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0" |