Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions apps/docs/content/api/file-uploads.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@ const fileName = path.basename(filePath)
const fileBuffer = fs.readFileSync(filePath)

// Шаг 1: Получить параметры загрузки
const params = await client.common.getUploadParams()
const params = await client.files.getUploadParams()

// Шаг 2: Загрузить файл на S3 (direct_url — внешний presigned URL)
await client.common.uploadFile(params.directUrl, {
await client.files.uploadFile(params.directUrl, {
contentDisposition: params.contentDisposition,
acl: params.acl,
policy: params.policy,
Expand Down Expand Up @@ -130,11 +130,11 @@ file_path = "report.pdf"
file_name = os.path.basename(file_path)

# Шаг 1: Получить параметры загрузки
params = await client.common.get_upload_params()
params = await client.files.get_upload_params()

# Шаг 2: Загрузить файл на S3 (direct_url — внешний presigned URL)
with open(file_path, "rb") as f:
await client.common.upload_file(
await client.files.upload_file(
direct_url=params.direct_url,
request=FileUploadRequest(
content_disposition=params.content_disposition,
Expand Down
2 changes: 2 additions & 0 deletions apps/docs/content/api/models.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ hideTableOfContents: true
- [Информация о боте](GET /bots/{id})
- [Редактирование бота](PUT /bots/{id})
- [Саморегистрация вебхука бота](PUT /bot/webhook)
- [Ротация токена бота](POST /bots/{id}/recreate_token)
- [Ротация собственного токена бота](POST /bot/recreate_token)

<ModelSchema name="BotResponse" />

Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/guides/cli/files.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ KEY=$(pachca upload photo.jpg -o json | jq -r '.key')
pachca messages create --entity-id 123 --content "Фото" --files "[{\"key\":\"$KEY\",\"name\":\"photo.jpg\"}]"
```

<Info>Для низкоуровневого контроля доступна команда `pachca common direct-url` — она отправляет multipart-запрос на указанный URL с параметрами подписи.</Info>
<Info>Для низкоуровневого контроля доступна команда `pachca files direct-url` — она отправляет multipart-запрос на указанный URL с параметрами подписи.</Info>
2 changes: 1 addition & 1 deletion apps/docs/content/guides/cli/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ pachca doctor
# ✔ Конфиг ~/.config/pachca/config.toml (права: 600)
# ✔ Профиль personal (user: Иван Иванов)
# ✔ Токен действителен (11 скоупов)
# ✔ CLI v2026.6.2 (актуальная версия)
# ✔ CLI v2026.6.3 (актуальная версия)
```

## Обновление
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/guides/cli/output.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ pachca messages create --entity-id 123 < message.txt
echo "Деплой завершён" | pachca messages create --entity-id 123

# Скачать файл (для команд с редиректом)
pachca common get-exports 123 --save ./export.zip
pachca chats download-export 123 --save ./export.zip
```

## Пагинация
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/guides/cli/workflows.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ pachca guide "кастомные поля профиля"

# Сценарий: Получить кастомные поля профиля (pachca-profile)
#
# 1. $ pachca common custom-properties # entity_type=User
# 1. $ pachca custom-properties list # entity_type=User
# 2. $ pachca profile get # custom_properties содержит значения полей

pachca guide "активные чаты"
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/guides/link-previews.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Unfurling — это создание превью ссылки в сообще

Тело запроса — объект `link_previews`, где каждый ключ — URL из массива `links` вебхука:

<ApiCodeExample operationId="LinkPreviewOperations_createLinkPreviews" title="Unfurl (разворачивание ссылок)" />
<ApiCodeExample operationId="LinkPreviewOperations_unfurl" title="Unfurl (разворачивание ссылок)" />

Изображение можно указать двумя способами:

Expand Down
8 changes: 4 additions & 4 deletions apps/docs/content/guides/n8n/advanced.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ related:

## Экспорт сообщений

Ресурс **Chat Export** позволяет выгружать сообщения из чатов. Экспорт выполняется асинхронно: вы запрашиваете экспорт, а Пачка присылает уведомление на вебхук, когда архив готов.
Ресурс **Chat** (операции **Request Export** и **Download Export**) позволяет выгружать сообщения из чатов. Экспорт выполняется асинхронно: вы запрашиваете экспорт, а Пачка присылает уведомление на вебхук, когда архив готов.

**Пример workflow:**

Expand All @@ -60,7 +60,7 @@ related:
Создайте отдельный workflow с узлом **Webhook** (встроенный в n8n). Он создаст URL, на который Пачка отправит уведомление о готовности экспорта. Скопируйте этот URL — он понадобится на следующем шаге.
</Step>
<Step title="Запросите экспорт">
В основном workflow добавьте узел **Pachca** с ресурсом **Chat Export** и операцией **Create**. Укажите период (`startAt`, `endAt`) и вставьте URL вебхука из первого шага в поле `webhookUrl`.
В основном workflow добавьте узел **Pachca** с ресурсом **Chat** и операцией **Request Export**. Укажите период (`startAt`, `endAt`) и вставьте URL вебхука из первого шага в поле `webhookUrl`.
</Step>
<Step title="Обработайте уведомление">
Когда экспорт будет готов, Пачка отправит JSON на ваш вебхук:
Expand All @@ -74,7 +74,7 @@ related:
```
</Step>
<Step title="Скачайте архив">
В workflow с Webhook-узлом добавьте узел **Pachca** с ресурсом **Chat Export** и операцией **Get**. Передайте `export_id` из данных вебхука в поле **ID**. Архив будет скачан автоматически.
В workflow с Webhook-узлом добавьте узел **Pachca** с ресурсом **Chat** и операцией **Download Export**. Передайте `export_id` из данных вебхука в поле **ID**. Архив будет скачан автоматически.
</Step>
</Steps>

Expand Down Expand Up @@ -184,7 +184,7 @@ AI Agent самостоятельно выбирает подходящий ин

## Разворачивание ссылок

Ресурс **Link Preview** позволяет формировать кастомные превью для ссылок в сообщениях бота.
Ресурс **Message** с операцией **Unfurl** позволяет формировать кастомные превью для ссылок в сообщениях бота.

Когда бот отправляет сообщение со ссылкой, Пачка может запросить у бота данные для превью. Бот может ответить через [Unfurl (разворачивание ссылок)](POST /messages/{id}/link_previews) с заголовком, описанием и изображением.

Expand Down
5 changes: 2 additions & 3 deletions apps/docs/content/guides/n8n/migration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ related:
| Group Tag | `addTags` | Chat Member | `addGroupTags` |
| Group Tag | `removeTag` | Chat Member | `removeGroupTags` |
| Message | `getReadMembers` | Read Member | `getAll` |
| Message | `unfurl` | Link Preview | `create` |
| Message | `unfurl` | Message | `unfurl` |

<Info>Все перенесённые операции продолжают работать в v1 workflow без изменений. Маршрутизатор автоматически транслирует v1 имена в v2.</Info>

Expand All @@ -72,9 +72,8 @@ related:
| **Chat Member** | Управление участниками чата: добавление, удаление, роли, теги |
| **Custom Property** | Дополнительные поля пространства |
| **Read Member** | Список прочитавших сообщение |
| **Link Preview** | Разворачивание ссылок в сообщениях |
| **Search** | Полнотекстовый поиск по чатам, сообщениям, пользователям |
| **Chat Export** | Экспорт сообщений из чатов |
| **OAuth** | Информация о токене (скоупы, даты) |
| **Security** | Журнал безопасности |

## Новые функции
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/guides/n8n/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ related:

Версия 2.0 — полностью автогенерируемая из OpenAPI-спецификации с сохранением 100% обратной совместимости с v1.

- **7 новых ресурсов:** Chat Member, Custom Property, Read Member, Link Preview, Search, Chat Export, Security
- **Новые ресурсы:** Chat Member, Custom Property, Read Member, Search, Security, OAuth (экспорт чата и unfurl — операции внутри Chat и Message)
- **Курсорная пагинация** с Return All / Limit вместо ручного `per`/`page`
- **AI Tool Use** — `usableAsTool: true` для использования с AI Agent
- **Trigger-нода** с ручной и автоматической регистрацией вебхука, 16 типами событий
Expand Down
77 changes: 30 additions & 47 deletions apps/docs/content/guides/n8n/resources.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,23 @@ related:

| # | Ресурс | Операций | Описание | Только v2 |
|---|--------|:---:|----------|:---:|
| 1 | [Message](#message) | 7 | Сообщения: создание, редактирование, удаление, закрепление | |
| 2 | [Chat](#chat) | 6 | Чаты: создание, обновление, архивация | |
| 1 | [Message](#message) | 8 | Сообщения: создание, редактирование, удаление, закрепление, unfurl | |
| 2 | [Chat](#chat) | 8 | Чаты: создание, обновление, архивация, экспорт | |
| 3 | [Chat Member](#chat-member) | 7 | Участники чата: добавление, удаление, роли, теги | да |
| 4 | [User](#user) | 10 | Сотрудники: CRUD, аватар, статус | |
| 5 | [Group Tag](#group-tag) | 6 | Теги сотрудников: CRUD, список пользователей | |
| 6 | [Thread](#thread) | 3 | Треды: создание, получение, список | |
| 7 | [Reaction](#reaction) | 3 | Реакции: создание, удаление, список | |
| 8 | [Profile](#profile) | 7 | Мой профиль: информация, аватар, статус | |
| 9 | [Task](#task) | 5 | Задачи: полный CRUD | |
| 10 | [Bot](#bot) | 6 | Боты: создание, получение, редактирование, вебхук, события | |
| 11 | [File](#file) | 1 | Загрузка файлов через S3 | |
| 12 | [Form](#form) | 1 | Модальные формы | |
| 13 | [Custom Property](#custom-property) | 1 | Дополнительные поля | да |
| 14 | [Read Member](#read-member) | 1 | Список прочитавших сообщение | да |
| 15 | [Link Preview](#link-preview) | 1 | Разворачивание ссылок | да |
| 8 | [Profile](#profile) | 6 | Мой профиль: информация, аватар, статус | |
| 9 | [OAuth](#oauth) | 1 | Информация о токене | да |
| 10 | [Task](#task) | 5 | Задачи: полный CRUD | |
| 11 | [Bot](#bot) | 8 | Боты: создание, получение, редактирование, вебхук, ротация токена, события | |
| 12 | [File](#file) | 1 | Загрузка файлов через S3 | |
| 13 | [Form](#form) | 1 | Модальные формы | |
| 14 | [Custom Property](#custom-property) | 1 | Дополнительные поля | да |
| 15 | [Read Member](#read-member) | 1 | Список прочитавших сообщение | да |
| 16 | [Search](#search) | 3 | Полнотекстовый поиск | да |
| 17 | [Chat Export](#chat-export) | 2 | Экспорт сообщений из чатов | да |
| 18 | [Security](#security) | 1 | Журнал безопасности | да |
| 17 | [Security](#security) | 1 | Журнал безопасности | да |

<Warning>Для некоторых операций требуются скоупы, которые доступны только определённым ролям (администратор, владелец). При создании персонального токена отображаются только скоупы, доступные вашей роли. Подробнее — в разделе [Авторизация](/api/authorization).</Warning>

Expand All @@ -57,6 +56,7 @@ related:
| Delete | [Удаление сообщения](DELETE /messages/{id}) |
| Pin | [Закрепление сообщения](POST /messages/{id}/pin) |
| Unpin | [Открепление сообщения](DELETE /messages/{id}/pin) |
| Unfurl | [Unfurl (разворачивание ссылок)](POST /messages/{id}/link_previews) |

**Ключевые параметры Create:** `entityId` (ID чата или пользователя), `content` (текст, Markdown), `entityType` (discussion, user, thread), `files`, `buttons`, `parentMessageId`.

Expand All @@ -78,9 +78,13 @@ related:
| Update | [Редактирование чата](PUT /chats/{id}) |
| Archive | [Архивация чата](PUT /chats/{id}/archive) |
| Unarchive | [Разархивация чата](PUT /chats/{id}/unarchive) |
| Request Export | [Экспорт сообщений](POST /chats/exports) |
| Download Export | [Скачивание экспорта](GET /chats/exports/{id}) |

**Сортировка в Get Many:** параметры `sort` (`id` или `last_message_at`) и `order` (`asc` / `desc`). Также доступны фильтры `availability`, `lastMessageAtAfter`, `lastMessageAtBefore`.

**Экспорт чата** выполняется асинхронно: операция **Request Export** ставит задачу (`webhookUrl` обязателен), Пачка присылает вебхук с `export_id`, затем **Download Export** скачивает архив по `id`. Доступно владельцу на тарифе «Корпорация».

---

## Chat Member
Expand Down Expand Up @@ -161,12 +165,11 @@ related:

## Profile

Профиль текущего пользователя: информация, статус, информация о токене.
Профиль текущего пользователя: информация, статус, аватар.

| Операция | API |
|----------|-----|
| Get | [Свой профиль](GET /profile) |
| Get Info | [Информация о токене](GET /oauth/token/info) |
| Update Avatar | [Загрузка своего аватара](PUT /profile/avatar) |
| Delete Avatar | [Удаление своего аватара](DELETE /profile/avatar) |
| Get Status | [Свой статус](GET /profile/status) |
Expand All @@ -177,6 +180,16 @@ related:

---

## OAuth

Информация о текущем токене: скоупы, даты создания и последнего использования.

| Операция | API |
|----------|-----|
| Get Info | [Информация о токене](GET /oauth/token/info) |

---

## Task

Задачи (напоминания): полный CRUD.
Expand All @@ -195,14 +208,16 @@ related:

## Bot

Боты: создание, получение, редактирование, саморегистрация вебхука, история и удаление событий.
Боты: создание, получение, редактирование, саморегистрация вебхука, ротация токена, история и удаление событий.

| Операция | API |
|----------|-----|
| Create | [Новый бот](POST /bots) |
| Get | [Информация о боте](GET /bots/{id}) |
| Update | [Редактирование бота](PUT /bots/{id}) |
| Update Webhook | [Саморегистрация вебхука бота](PUT /bot/webhook) |
| Recreate Token | [Ротация токена бота](POST /bots/{id}/recreate_token) |
| Recreate Token Self | [Ротация собственного токена бота](POST /bot/recreate_token) |
| Get Many Events | [История событий](GET /webhooks/events) |
| Remove Events | [Удаление события](DELETE /webhooks/events/{id}) |

Expand Down Expand Up @@ -252,18 +267,6 @@ related:

---

## Link Preview

Разворачивание ссылок в сообщениях.

| Операция | API |
|----------|-----|
| Create | [Unfurl (разворачивание ссылок)](POST /messages/{id}/link_previews) |

Подробнее — в [документации разворачивания ссылок](/guides/link-previews).

---

## Search

Полнотекстовый поиск по сообщениям, чатам и пользователям.
Expand All @@ -278,25 +281,6 @@ related:

---

## Chat Export

Экспорт сообщений из чатов: запрос экспорта и скачивание архива.

| Операция | API |
|----------|-----|
| Create | [Экспорт сообщений](POST /chats/exports) |
| Get | [Скачать архив экспорта](GET /chats/exports/{id}) |

**Ключевые параметры Create:** `startAt` (дата начала, YYYY-MM-DD), `endAt` (дата окончания), `webhookUrl` (URL для уведомления о готовности).

**Дополнительные параметры:** `chatIds` (экспорт конкретных чатов, до 50), `skipChatsFile` (не создавать chats.json).

Экспорт выполняется асинхронно. После завершения Пачка отправит вебхук на указанный `webhookUrl` с `export_id`. Используйте операцию **Get** для скачивания готового архива.

Подробнее — в разделе [Продвинутые функции](/guides/n8n/advanced#eksport-soobshhenij) и в [документации экспорта](/guides/export).

---

## Security

Журнал безопасности: отслеживание действий пользователей.
Expand Down Expand Up @@ -339,7 +323,6 @@ n8n автоматически отправляет повторные запр
| Bot | `id`, `name`, `created_at` |
| Group Tag | `id`, `name`, `users_count` |
| Reaction | `id`, `code`, `user_id`, `created_at` |
| Chat Export | `id`, `status`, `created_at` |

Чтобы получить все поля ответа — выключите **Simplify**.

Expand Down
4 changes: 2 additions & 2 deletions apps/docs/content/guides/sdk/csharp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,11 @@ var users = await client.Users.ListUsersAsync(cancellationToken: cts.Token);

```csharp
// 1. Получить параметры загрузки
var uploadParams = await client.Common.GetUploadParamsAsync();
var uploadParams = await client.Files.GetUploadParamsAsync();

// 2. Загрузить файл на S3
using var fileStream = File.OpenRead("photo.png");
await client.Common.UploadFileAsync(uploadParams, fileStream, "photo.png");
await client.Files.UploadFileAsync(uploadParams, fileStream, "photo.png");

// 3. Прикрепить к сообщению (используя key из uploadParams)
await client.Messages.CreateMessageAsync(new MessageCreateRequest
Expand Down
Loading
Loading