## Источники папки «Все»

> **Метод в процессе раскатки — выходит в обновлении `im 26.1300.0`.** Доступен не на всех порталах Битрикс24. Если на вашем портале метод ещё не доступен, API вернёт `422 METHOD_NOT_YET_AVAILABLE` — это не ошибка интеграции, а признак того, что обновление пока не приехало на портал.

`GET /v1/chats/folders/:folderId/sources`

Возвращает источники папки «Все» и то, какие из них включены. Папка «Все» собирает чаты из нескольких разделов мессенджера — источников: задачи, коллабы, открытые линии и другие. Изменить набор включённых источников — [`PUT /v1/chats/folders/:folderId/sources`](/docs/chats/management/folder-sources-update).

Работает только с папкой «Все»: у остальных папок источников нет. Папку «Все» портал показывает не везде: если её нет в списке папок, на этом портале она выключена.

Вызов требует ключ с записью: первый `GET` может создать системные папки, сохранить состав папки «Все» и перенести ранее закреплённые чаты. Ключ только для чтения получает `403 WRITE_BLOCKED_READONLY_KEY` до обращения к Битрикс24.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|----------|-----|:-----:|---------|
| `folderId` (path) | number | да | ID папки «Все» — поле `id` папки с `type: "system"` и `code: "all"` из [`GET /v1/chats/folders`](/docs/chats/discovery/folders) |

Параметров запроса нет. Любой параметр запроса отклоняется с `400 INVALID_PARAMS`.

## Примеры

### curl — личный ключ

```bash
curl "https://vibecode.bitrix24.tech/v1/chats/folders/7/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
```

### curl — OAuth-приложение

```bash
curl "https://vibecode.bitrix24.tech/v1/chats/folders/7/sources" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

### JavaScript — личный ключ

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/folders/7/sources', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { data } = await res.json()
const enabled = data.sources.filter((s) => s.enabled).map((s) => s.code)
console.log('Включены:', enabled)
```

### JavaScript — OAuth-приложение

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/folders/7/sources', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { data } = await res.json()
const enabled = data.sources.filter((s) => s.enabled).map((s) => s.code)
console.log('Включены:', enabled)
```

## Поля ответа

| Поле | Тип | Описание |
|------|-----|---------|
| `success` | boolean | Всегда `true` при успехе |
| `data.sources` | array | Источники в том порядке, в каком их показывает интерфейс |
| `data.sources[].folderId` | number | ID системной папки источника |
| `data.sources[].code` | string | Код источника — значение для `sourceCodes` в [`PUT /v1/chats/folders/:folderId/sources`](/docs/chats/management/folder-sources-update) |
| `data.sources[].enabled` | boolean | Источник включён в папку «Все» |
| `data.sources[].togglable` | boolean | Источник можно включить и выключить. `false` у витринных источников: они показываются, но не переключаются |
| `data.folders` | array | Системные папки источников — те же поля, что в [`GET /v1/chats/folders`](/docs/chats/discovery/folders) |

## Пример ответа

```json
{
  "success": true,
  "data": {
    "sources": [
      { "folderId": 2, "code": "tasksTask", "enabled": true, "togglable": true },
      { "folderId": 4, "code": "collab", "enabled": false, "togglable": true },
      { "folderId": 6, "code": "openChannel", "enabled": false, "togglable": false }
    ],
    "folders": [
      {
        "id": 2,
        "type": "system",
        "code": "tasksTask",
        "title": "Задачи",
        "sort": 3,
        "visible": true,
        "description": "Чаты задач",
        "displaysNestedInRoot": false,
        "definition": { "recentSection": "tasksTask", "parentChatId": 0 }
      }
    ]
  }
}
```

## Пример ответа при ошибке

422 — папка не «Все»:

```json
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Действие недоступно для этой папки",
    "b24Code": "FOLDER_OPERATION_NOT_SUPPORTED"
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|---------|
| 400 | `INVALID_PARAMS` | `folderId` не положительное целое или передан параметр запроса. Проверяется до обращения к Битрикс24 |
| 404 | `ENTITY_NOT_FOUND` | Битрикс24 вернул «не найдено», код портала — в `error.b24Code` |
| 422 | `METHOD_NOT_YET_AVAILABLE` | На портале ещё не установлено обновление `im 26.1300.0` — см. заметку в начале страницы |
| 422 | `BITRIX_ERROR` | Битрикс24 вернул ошибку, код портала — в `error.b24Code`: `FOLDER_OPERATION_NOT_SUPPORTED` — у папки нет источников или идёт параллельная запись той же папки. Во втором случае ничего не записано, и вызов можно повторить. `FOLDER_NOT_FOUND` — папки нет, `FOLDER_ACCESS_DENIED` — папка другого пользователя |
| 502 | `BITRIX_UNAVAILABLE` | Битрикс24 недоступен или вернул ошибку сервера |
| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `im` |
| 403 | `WRITE_BLOCKED_READONLY_KEY` | Ключ только для чтения |
| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов Битрикс24 |

Полный список общих ошибок API — [Ошибки](/docs/errors).

## Известные особенности

- Обязательный источник в `data.sources` не показывается: выключить его нельзя. Не показываются и источники, недоступные пользователю.

## Смотрите также

- [Задать источники папки «Все»](/docs/chats/management/folder-sources-update)
- [Папки чатов](/docs/chats/discovery/folders)
- [Чаты папки](/docs/chats/discovery/folder-recent)
- [Ошибки платформы](/docs/errors/platform#method_not_yet_available-422)
