
`chat_id` — идентификатор чата или канала, в который добавлен бот. Он нужен большинству методов API, которые работают в контексте конкретного чата, например, чтобы отправить сообщение через метод [POST `/messages`](/docs-api/methods/POST/messages) или закрепить пост через метод [PUT `/chats/{chatId}/pin`](/docs-api/methods/PUT/chats/-chatId-/pin)

Сейчас API MAX не предоставляет готовой возможности для получения списка групповых чатов и каналов, в которые добавлен бот

> В документации встречаются два написания: `chat_id` (query-параметры) и `chatId` (path-параметры). Это один и тот же идентификатор

## Получение chat_id
    
В зависимости от типа объекта используйте подходящий способ получения `chat_id` или `chatId`:

| Тип объекта	| Как получить chat_id |
|-------------|----------------------|
| Чат или канал| Только через подписку: [POST `/subscriptions`](/docs-api/methods/POST/subscriptions) или [GET `/updates`](/docs-api/methods/GET/updates)  `chat_id` придёт в объекте [`Update`](/docs-api/objects/Update) на выбранные вами события – например, `bot_added` или `bot_started`
| Мини-приложение	| Либо через подписку (см. описание для чата и канала выше), либо на клиенте через [`window.WebApp.initData`](/docs/webapps/bridge#window.WebApp.initData) библиотеки MAX Bridge |

При этом задача сбора, хранения и поддержки идентификаторов ложится на разработчика: он выбирает способ реализации исходя из своей инфраструктуры и сценария использования

## Пример работы с chat_id

1. **Cоздайте подписку** через [POST `/subscriptions`](/docs-api/methods/POST/subscriptions) и укажите нужные типы событий в параметре `update_types[]`, например `bot_added` или `bot_started`. Список поддерживаемых типов событий — в объекте [`Update`](/docs-api/objects/Update)
2. **Получите `chat_id` в событии** — о том, как это сделать, см. в таблице выше
3. **Сохраните `chat_id`**:
    - разверните на своей стороне хранилище данных
    - при получении каждого события с `chat_id` — сохраните его, если он ещё не сохранён
    - обработайте возможные дубли (одно и то же событие может прийти повторно)
    - удалите `chat_id` при возникновении соответствующих событий, например `bot_removed`
4. **Используйте сохранённый `chat_id` для вызовов API**. После того как `chat_id` окажется в вашем хранилище, вы сможете использовать его во всех методах, где он требуется:
    - [POST `/messages`](/docs-api/methods/POST/messages) — отправить сообщение в чат
    - [GET `/chats/{chat_id}/members`](/docs-api/methods/GET/chats/-chatId-/members) — получить участников группового чата или канала
    - [POST `/chats/{chat_id}/actions`](/docs-api/methods/POST/chats/-chatId-/actions) — отправить действия бота в групповой чат
    - и любые другие методы, принимающие `chat_id` как параметр
    
> Использование [Long Polling](/docs-api/use-cases/event-notifications#Long%C2%A0Polling) для получения списка чатов и каналов для бота не предусмотрено

 Если у вас возникли вопросы, [посмотрите раздел с ответами](/help)
