## Получить шаблоны для записи CRM

`GET /v1/crm-document-templates/available`

Возвращает шаблоны документов CRM, которые можно применить к конкретной сделке, контакту, компании или элементу смарт-процесса. В ответ попадают шаблоны, привязанные к типу записи, а для сделки — к её воронке.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|----------|-----|:-----:|---------|
| `entityTypeId` (query) | number | да | Тип записи CRM: `2` — сделка, `3` — контакт, `4` — компания. Типы смарт-процессов: [`GET /v1/smart-processes`](/docs/entities/smart-processes). Положительное целое число, передаётся один раз |
| `entityId` (query) | number | да | ID записи указанного типа, например сделки из [`GET /v1/deals`](/docs/entities/deals/list), контакта из [`GET /v1/contacts`](/docs/entities/contacts/list), компании из [`GET /v1/companies`](/docs/entities/companies/list) или элемента смарт-процесса из [`GET /v1/items/:entityTypeId`](/docs/entities/items/list). Положительное целое число, передаётся один раз |

## Примеры

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

```bash
curl "https://vibecode.bitrix24.tech/v1/crm-document-templates/available?entityTypeId=2&entityId=575" \
  -H "X-Api-Key: YOUR_API_KEY"
```

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

```bash
curl "https://vibecode.bitrix24.tech/v1/crm-document-templates/available?entityTypeId=2&entityId=575" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

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

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-document-templates/available?entityTypeId=2&entityId=575', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Шаблоны для сделки:', data.templates.map(t => t.title))
```

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

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-document-templates/available?entityTypeId=2&entityId=575', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()
```

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

| Поле | Тип | Описание |
|------|-----|---------|
| `success` | boolean | Всегда `true` при успехе |
| `data.templates` | array | Шаблоны, доступные для записи. Пустой массив — подходящих шаблонов нет |
| `data.templates[].id` | number | Идентификатор шаблона. Полная запись шаблона: [`GET /v1/crm-document-templates/:id`](/docs/entities/crm-document-templates/get) |
| `data.templates[].title` | string | Название шаблона |
| `data.templates[].documentCreationUrl` | string | Относительный путь к странице создания документа по этому шаблону для этой записи в веб-интерфейсе Битрикс24, без домена портала |
| `data.templates[].isWithStamps` | boolean | Печати и подписи в документе |

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

Сделка 575 находится в воронке с ID 1. Показаны 3 шаблона из 4.

```json
{
  "success": true,
  "data": {
    "templates": [
      {
        "id": 87,
        "title": "Адреса",
        "documentCreationUrl": "/bitrix/components/bitrix/crm.document.view/slider.php?providerClassName=Bitrix%5CCrm%5CIntegration%5CDocumentGenerator%5CDataProvider%5CDeal&value=575&templateId=87",
        "isWithStamps": true
      },
      {
        "id": 249,
        "title": "Демонстрационная реализация товара",
        "documentCreationUrl": "/bitrix/components/bitrix/crm.document.view/slider.php?providerClassName=Bitrix%5CCrm%5CIntegration%5CDocumentGenerator%5CDataProvider%5CDeal&value=575&templateId=249",
        "isWithStamps": false
      },
      {
        "id": 251,
        "title": "Проверка формата массива",
        "documentCreationUrl": "/bitrix/components/bitrix/crm.document.view/slider.php?providerClassName=Bitrix%5CCrm%5CIntegration%5CDocumentGenerator%5CDataProvider%5CDeal&value=575&templateId=251",
        "isWithStamps": false
      }
    ]
  }
}
```

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

404 — записи CRM с таким `entityId` нет:

```json
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "CRM record not found."
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|---------|
| 404 | `ENTITY_NOT_FOUND` | Записи с таким `entityId` у типа `entityTypeId` нет. Существование записи проверяется до запроса шаблонов |
| 400 | `INVALID_PARAMS` | `entityTypeId` или `entityId` не передан, не является положительным целым числом или передан больше одного раза |
| 422 | `BITRIX_ERROR` | Битрикс24 не поддерживает тип `entityTypeId`, например `999`: `error.b24Code` равен `ENTITY_TYPE_NOT_SUPPORTED` |
| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `crm` |
| 401 | `TOKEN_MISSING` | У ключа нет настроенных токенов |
| 429 | `RATE_LIMITED` | Битрикс24 ограничил частоту запросов к порталу. Повторите после срока из заголовка `Retry-After` |

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

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

**Элемент отличается от записи шаблона.** Здесь `id` приходит числом, а название — в поле `title`. В [списке шаблонов](/docs/entities/crm-document-templates/list) и при [получении шаблона](/docs/entities/crm-document-templates/get) `id` — строка, а название — в поле `name`. Сопоставляя шаблоны из двух ответов, приводите `id` к одному типу.

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

- [Список шаблонов документов CRM](/docs/entities/crm-document-templates/list)
- [Получить шаблон документа CRM](/docs/entities/crm-document-templates/get)
- [Создать документ CRM](/docs/entities/documents/crm-create)
- [Шаблоны документов CRM](/docs/entities/crm-document-templates)
- [Сделки](/docs/entities/deals)
- [Смарт-процессы](/docs/entities/smart-processes)
