## Получить запись справочника CRM

`GET /v1/crm-dictionaries/:dictionary/:id`

Получает запись справочника CRM по её строковому идентификатору: тип связи, поставщика дел или семантику стадии.

> **Возможность в процессе раскатки.** Требуется обновление CRM после `26.2200.0` и включение администратором. Номер выпуска ещё не опубликован. До доступности — `422 METHOD_NOT_YET_AVAILABLE` с полем `error.release`.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| `dictionary` (path) | string | да | Справочник из таблицы ниже |
| `id` (path) | string | да | Непустой идентификатор записи из [списка этого справочника](/docs/entities/crm-v3-dictionaries/list). Сохраняйте регистр |

| `dictionary` | Содержание | Пример `id` |
|---|---|---|
| `activity-providers` | Поставщики дел | `CRM_TODO` |
| `email-types` | Типы электронной почты | `WORK` |
| `phone-types` | Типы телефонов | `WORK` |
| `im-types` | Типы мессенджеров | `FACEBOOK` |
| `web-types` | Типы сайтов | `WORK` |
| `stage-semantics` | Семантика стадий | `F` |

Параметры строки запроса и тело не принимаются. Чтение разрешено ключам `READONLY` со скоупом `crm`.

## Примеры

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

```bash
curl "https://vibecode.bitrix24.tech/v1/crm-dictionaries/activity-providers/CRM_TODO" \
  -H "X-Api-Key: YOUR_API_KEY"
```

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

```bash
curl "https://vibecode.bitrix24.tech/v1/crm-dictionaries/activity-providers/CRM_TODO" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

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

```javascript
const response = await fetch(
  'https://vibecode.bitrix24.tech/v1/crm-dictionaries/activity-providers/CRM_TODO',
  {
    headers: {
      'X-Api-Key': 'YOUR_API_KEY'
    }
  }
)
const { success, data } = await response.json()
```

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

```javascript
const response = await fetch(
  'https://vibecode.bitrix24.tech/v1/crm-dictionaries/activity-providers/CRM_TODO',
  {
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      Authorization: 'Bearer USER_SESSION_TOKEN'
    }
  }
)
const { success, data } = await response.json()
```

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

HTTP `200 OK`.

| Поле | Тип | Описание |
|---|---|---|
| `success` | boolean | `true` при успехе |
| `data` | object | Запись выбранного справочника |
| `data.id` | string | Идентификатор записи из [списка справочника](/docs/entities/crm-v3-dictionaries/list) |

### Поставщики дел

| Поле | Тип | Описание |
|---|---|---|
| `data.name` | string | Название поставщика дел |
| `data.isAvailable` | boolean | Доступен на портале |
| `data.isActive` | boolean | Активен |
| `data.types` | array | Типы дел этого поставщика |
| `data.types[].providerTypeId` | string | Идентификатор типа внутри поставщика |
| `data.types[].name` | string | Название типа дела |
| `data.types[].directions` | object | Названия направлений. Ключи `incoming`, `outgoing`, `undefined` со строковыми значениями. Если направлений нет — `{}` |
| `data.defaultTypeId` | string / null | Идентификатор типа по умолчанию из `data.types[].providerTypeId`, если задан |
| `data.capabilities` | string[] | Коды возможностей поставщика |

### Типы электронной почты, телефонов, мессенджеров и сайтов

| Поле | Тип | Описание |
|---|---|---|
| `data.name` | string / null | Название типа |
| `data.nameShort` | string / null | Краткое название |
| `data.isDeprecated` | boolean | Тип устарел |

### Семантика стадий

| Поле | Тип | Описание |
|---|---|---|
| `data.name` | string | Название результата стадии |

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

Поставщик дел:

```json
{
  "success": true,
  "data": {
    "id": "CRM_TODO",
    "name": "Дело",
    "isAvailable": true,
    "isActive": true,
    "types": [
      {
        "providerTypeId": "TODO",
        "name": "Дело",
        "directions": {}
      }
    ],
    "defaultTypeId": "TODO",
    "capabilities": [
      "calendar",
      "completion",
      "ping",
      "badge",
      "timeline"
    ]
  }
}
```

Тип электронной почты:

```json
{
  "success": true,
  "data": {
    "id": "WORK",
    "name": "Рабочий e-mail",
    "nameShort": "Рабочий",
    "isDeprecated": false
  }
}
```

Семантика стадии:

```json
{
  "success": true,
  "data": {
    "id": "F",
    "name": "Провал"
  }
}
```

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

404 — запись не найдена:

```json
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Запись с ID = `DUMMY_UNKNOWN` не найдена"
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|---|---|---|
| 400 | `INVALID_PARAMS` | Некорректная форма запроса |
| 400 | `UNKNOWN_FILTER_FIELD` | Передан параметр строки запроса |
| 404 | `ENTITY_NOT_FOUND` | Запись с указанным идентификатором не найдена |
| 422 | `METHOD_NOT_YET_AVAILABLE` | Возможность ещё недоступна. Сведения об обновлении — в `error.release` |
| 502 | `BITRIX_UNAVAILABLE` | Некорректный ответ Битрикс24 |
| 401 | `MISSING_API_KEY` | Не передан `X-Api-Key` |
| 401 | `TOKEN_MISSING` | Нет токенов для обращения к Битрикс24 |
| 403 | `SCOPE_DENIED` | Ключу нужен скоуп `crm` |

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

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

- [Список записей справочника CRM](/docs/entities/crm-v3-dictionaries/list)
- [Справочники и настройки CRM](/docs/entities/crm-v3-dictionaries)
