# Пачка API: Создать канал и добавить участников

Сценарий из mcp-everything. Актуально на 2026-10-24.

Под новый проект, клиента или инцидент — отдельный канал с нужными людьми.

1. Создай чат: POST /chats с chat.name и chat.member_ids. Для канала передай chat.channel = true, для открытого доступа — chat.public = true. Владельцем станет владелец токена.
2. Добавь участников позже: POST /chats/{id}/members с member_ids. Чтобы не появлялось системное сообщение о добавлении, передай silent = true.
3. ID сотрудников бери из GET /users.

```bash
curl -X POST https://api.pachca.com/api/shared/v1/chats \
  -H "Authorization: Bearer $PACHCA_TOKEN" -H 'Content-Type: application/json' \
  -d '{"chat": {"name": "Инцидент 24.10: оплата не проходит", "member_ids": [12345, 12346], "channel": false}}'
```

## Базовые URL

- Боевой: `https://api.pachca.com/api/shared/v1`

## Авторизация

Тип: Bearer-токен

Токен передаётся в заголовке `Authorization: Bearer <token>`. Два типа токенов:

- **Персональный** — действует от имени пользователя и видит те же чаты, что он в интерфейсе. Выпускается в разделе «Автоматизации» > «API» (бессрочный, показывается один раз) или выдаётся при входе через CLI `pachca auth login` (живёт час и продлевается автоматически).
- **Токен бота** — действует от имени бота: все открытые каналы плюс закрытые чаты и треды, куда бот добавлен.

Почти каждый метод требует определённого скоупа токена; скоупы не расширяют круг доступных данных. Владелец пространства может ограничить, кто создаёт токены.

```
curl "https://api.pachca.com/api/shared/v1/messages" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "message": {
    "entity_id": 334,
    "content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"
  }
}'
```

## Методы сценария

### POST /chats — Новый чат

Создаёт беседу или канал; владелец токена становится владельцем чата.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `chat.name` | body | string | да | Название |
| `chat.member_ids` | body | array | нет | ID пользователей-участников |
| `chat.group_tag_ids` | body | array | нет | ID тегов-участников |
| `chat.channel` | body | boolean | нет | Создать канал |
| `chat.public` | body | boolean | нет | Открытый доступ |

### POST /chats/{id}/members — Добавить участников

Добавляет сотрудников и ботов в беседу, канал или тред.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | integer | да | ID чата |
| `member_ids` | body | array | да | ID пользователей |
| `silent` | body | boolean | нет | Не создавать системное сообщение о добавлении |

### GET /users — Список сотрудников

Все сотрудники пространства, кроме удалённых; приостановленные отмечены полем `suspended`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `query` | query | string | нет | Поиск по имени, фамилии, email и др. |
| `limit` | query | integer | нет | Количество записей |
| `cursor` | query | string | нет | Курсор пагинации |

## Нюансы

- Ответы на создание оборачиваются в объект `data`; пагинация — курсорная, курсор в `meta.paginate.next_page`.
- Лимиты частоты возвращают `429` с текстом `text/plain`, а не JSON, и заголовком `Retry-After` — ждать нужно не меньше указанного.
- Превышение суточного предела сообщений в один чат приостанавливает отправку на час, и каждая попытка во время паузы удваивает её (до 24 часов).
- При частых `429` без паузы токен может быть заблокирован на час (порог около 22 000 отправок в час).
- `403` может прийти в двух видах: `OAuthError` с `insufficient_scope` (у токена нет скоупа) или `ApiError` (запрет бизнес-логики).
- Исходящие вебхуки подписываются HMAC-SHA256 от тела запроса в заголовке `Pachca-Signature` (ключ — Signing secret бота); поле `webhook_timestamp` стоит проверять на расхождение не больше минуты. IP Пачки: `37.200.70.177`.
- Документация доступна для LLM: `https://dev.pachca.com/llms.txt` и `llms-full.txt`.

## Другие сценарии

- [Отправить уведомление в канал от бота](https://mcp-everything.ru/integrations/pachca/scenarios/otpravit-uvedomlenie-v-kanal-ot-bota.md)
- [Написать сотруднику в личные сообщения](https://mcp-everything.ru/integrations/pachca/scenarios/napisat-sotrudniku-v-lichnye.md)
- [Поставить напоминание сотруднику](https://mcp-everything.ru/integrations/pachca/scenarios/postavit-napominanie-sotrudniku.md)
- [Отвечать на сообщения через вебхук бота](https://mcp-everything.ru/integrations/pachca/scenarios/otvechat-na-soobscheniya-cherez-vebhuk.md)

---

Если этого недостаточно — официальная документация: https://dev.pachca.com/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/pachca.md
