# Шаблоны документов CRM

Шаблон документа CRM — файл .docx с подстановочными метками, по которому Битрикс24 формирует документы для сделок, контактов, компаний и других записей CRM.

Битрикс24 API: `crm.documentgenerator.template.*`
Скоуп: `crm`

## Операции

- [Создать шаблон документа CRM](./crm-document-templates/create.md) — `POST /v1/crm-document-templates`
- [Список шаблонов документов CRM](./crm-document-templates/list.md) — `GET /v1/crm-document-templates`
- [Получить шаблон документа CRM](./crm-document-templates/get.md) — `GET /v1/crm-document-templates/:id`
- [Обновить шаблон документа CRM](./crm-document-templates/update.md) — `PATCH /v1/crm-document-templates/:id`
- [Удалить шаблон документа CRM](./crm-document-templates/delete.md) — `DELETE /v1/crm-document-templates/:id`
- [Шаблоны для записи CRM](./crm-document-templates/available.md) — `GET /v1/crm-document-templates/available`
- [Скачать шаблон](./crm-document-templates/download.md) — `GET /v1/crm-document-templates/:id/download`

## Ключевые поля

| Поле | Описание |
|------|---------|
| `id` | Идентификатор шаблона. Список: [`GET /v1/crm-document-templates`](./crm-document-templates/list.md) |
| `name` | Название шаблона |
| `entityTypeId` | Типы записей CRM, для которых доступен шаблон: `2` — сделка, `3` — контакт, `4` — компания. Типы смарт-процессов: [`GET /v1/smart-processes`](/docs/entities/smart-processes) |
| `numeratorId` | Идентификатор нумератора, который присваивает номера документам. Список нумераторов через `/v1/...` не выставлен |
| `region` | Регион шаблона, например `ru` |
| `users` | Коды доступа: кому из сотрудников виден шаблон, например `UA` — всем сотрудникам, `U<id>` — сотруднику с этим ID из [`GET /v1/users`](/docs/entities/users) |
| `moduleId` | Модуль-владелец, у шаблонов этого раздела всегда `crm` |

## Что нужно знать перед работой

1. Этот раздел работает только с шаблонами CRM, у них `moduleId` равен `crm`. Шаблоны приложений с `moduleId: rest` находятся в разделе [Шаблоны документов](/docs/entities/doc-templates) и требуют скоуп `documentgenerator`.
2. Файл шаблона при создании и обновлении передаётся только строкой base64 в поле `file`. Загрузка из Диска по `fileId` не поддерживается.
3. Сам шаблон документ не формирует. По выбранному шаблону [создайте документ CRM](/docs/entities/documents/crm-create), затем найдите его в [списке документов CRM](/docs/entities/documents/crm-list).
4. Какие шаблоны можно применить к конкретной сделке или контакту, показывает [`GET /v1/crm-document-templates/available`](./crm-document-templates/available.md): в его ответ попадают только шаблоны, привязанные к типу этой записи, а для сделки — к её воронке.
5. `entityTypeId` сделки хранится раскрытым по воронкам. Ответ на создание и обновление с `entityTypeId` в теле повторяет отправленное значение, а получение и обновление без этого поля показывают сохранённое: шаблон, созданный с `entityTypeId: [2]`, читается как `2_category_0`, `2_category_1` и так далее — по одному значению на воронку портала. `2_category_0` — общая воронка, остальные номера — ID воронок из [`GET /v1/deal-categories`](/docs/entities/deal-categories). Смарт-процесс с воронками хранится так же, но в форме `174_3`: тип смарт-процесса и ID его воронки из [`GET /v1/categories/:entityTypeId`](/docs/entities/categories/list).

## Типичный сценарий

1. Создать шаблон из своего `.docx` через [`POST /v1/crm-document-templates`](./crm-document-templates/create.md) или выбрать готовый в [`GET /v1/crm-document-templates`](./crm-document-templates/list.md).
2. Проверить, что шаблон доступен для нужной записи: [`GET /v1/crm-document-templates/available?entityTypeId=2&entityId=575`](./crm-document-templates/available.md).
3. Сформировать документ по шаблону через [`POST /v1/crm-documents`](/docs/entities/documents/crm-create).

## Лимиты

| Лимит | Значение |
|-------|----------|
| JSON-тело при создании и обновлении | до 3 МиБ |
| Файл шаблона | до 2 МиБ после декодирования `file` |
| Rate limit | общий для API Вайбкод — см. [Лимиты и оптимизация](/docs/optimization) |

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

- [Документы](/docs/entities/documents)
- [Шаблоны документов](/docs/entities/doc-templates)
- [Справочник сущностей](/docs/entity-api)
