## Получить CRM-документ

`GET /v1/crm-documents/:id`

Возвращает документ, созданный для записи CRM, по его идентификатору — с номером, значениями полей шаблона и ссылками на файлы. Подходит ключ только для чтения.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|----------|-----|:-----:|---------|
| `id` (path) | number | да | Идентификатор документа, положительное целое число. Список документов записи: [`GET /v1/crm-documents`](/docs/entities/documents/crm-list) |

## Примеры

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

```bash
curl "https://vibecode.bitrix24.tech/v1/crm-documents/1961" \
  -H "X-Api-Key: YOUR_API_KEY"
```

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

```bash
curl "https://vibecode.bitrix24.tech/v1/crm-documents/1961" \
  -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-documents/1961', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log(data.number, data.pdfUrlMachine ?? 'PDF ещё формируется')
```

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

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

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

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

Идентификаторы `id`, `templateId`, `entityTypeId`, `entityId`, `createdBy` и `updatedBy` приходят строками.

| Поле | Тип | Описание |
|------|-----|---------|
| `success` | boolean | Всегда `true` при успехе |
| `data.id` | string | Идентификатор документа |
| `data.title` | string | Название документа |
| `data.number` | string | Номер документа |
| `data.templateId` | string | Идентификатор шаблона. Шаблоны для записи: [`GET /v1/crm-document-templates/available`](/docs/entities/crm-document-templates/available) |
| `data.entityTypeId` | string | Тип записи CRM, к которой прикреплён документ. Значения — в списке «Типы записей CRM» на странице [`GET /v1/crm-documents`](/docs/entities/documents/crm-list) |
| `data.entityId` | string | ID записи CRM, к которой прикреплён документ |
| `data.values` | object | Значения полей шаблона, переданные при создании и обновлении, вместе со служебными ключами |
| `data.stampsEnabled` | boolean | Признак печатей и подписей, см. «Известные особенности» |
| `data.changeStampsEnabled` | boolean | Можно ли включить печати и подписи: `false`, если в шаблоне их нет |
| `data.changeStampsDisabledReason` | string \| null | Почему печати нельзя включить. `null`, если можно |
| `data.qrCodeEnabled` | boolean | Включён ли QR-код в документе |
| `data.changeQrCodeEnabled` | boolean | Можно ли включить QR-код: `false`, если в шаблоне его нет |
| `data.changeQrCodeDisabledReason` | string \| null | Почему QR-код нельзя включить. `null`, если можно |
| `data.products.currencyId` | string | Валюта товаров документа |
| `data.products.totalSum` | string \| number | Сумма по товарам документа строкой, например `"0.00"`. Число `0`, если записи `entityId` нет |
| `data.products.totalRows` | number | Число товарных строк в документе |
| `data.publicUrl` | string \| null | Публичная ссылка на документ. `null`, пока ссылка не включена через [`POST /v1/crm-documents/:id/public-url`](/docs/entities/documents/crm-public-url) |
| `data.isTransformationError` | boolean | Произошла ли ошибка при преобразовании документа в PDF и изображение |
| `data.emailDiskFile` | number | ID копии файла DOCX на Диске. Файл: [`GET /v1/files/:id`](/docs/entities/files) |
| `data.pullTag` | string | Служебная метка документа |
| `data.createTime` | string | Дата создания в формате ISO 8601 |
| `data.updateTime` | string | Дата изменения в формате ISO 8601 |
| `data.createdBy` | string | ID создателя. Список: [`GET /v1/users`](/docs/entities/users) |
| `data.updatedBy` | string \| null | ID последнего редактора. `null`, если документ не изменялся. Список: [`GET /v1/users`](/docs/entities/users) |
| `data.downloadUrl` | string | Ссылка на файл DOCX для сотрудника в браузере |
| `data.pdfUrl` | string | Ссылка на PDF для сотрудника в браузере. Поля нет, пока PDF формируется |
| `data.imageUrl` | string | Ссылка на изображение для сотрудника в браузере. Поля нет, пока изображение формируется |
| `data.downloadUrlMachine` | string | Адрес [`/v1/crm-documents/:id/download`](/docs/entities/documents/download). Нужен `X-Api-Key` со скоупом `crm` |
| `data.pdfUrlMachine` | string | Адрес [`/v1/crm-documents/:id/pdf`](/docs/entities/documents/pdf). Поля нет, пока PDF формируется |
| `data.imageUrlMachine` | string | Адрес [`/v1/crm-documents/:id/image`](/docs/entities/documents/image). Поля нет, пока изображение формируется |

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

```json
{
  "success": true,
  "data": {
    "changeStampsEnabled": false,
    "changeStampsDisabledReason": "В шаблоне нет печатей и подписей",
    "changeQrCodeEnabled": false,
    "qrCodeEnabled": false,
    "changeQrCodeDisabledReason": "В шаблоне нет QR-кода",
    "products": {
      "currencyId": "RUB",
      "totalSum": "0.00",
      "totalRows": 0
    },
    "downloadUrl": "https://example.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.document.download&SITE_ID=s1&id=1961",
    "publicUrl": null,
    "title": "Адреса А463//10/2026",
    "number": "А463//10/2026",
    "id": "1961",
    "createTime": "2026-10-08T17:43:04+03:00",
    "createdBy": "1317",
    "updateTime": "2026-10-08T17:43:04+03:00",
    "updatedBy": null,
    "stampsEnabled": true,
    "isTransformationError": false,
    "values": {
      "productsTableVariant": "",
      "stampsEnabled": true,
      "_creationMethod": "rest"
    },
    "templateId": "87",
    "pullTag": "TRANSFORMDOCUMENT1961",
    "imageUrl": "https://example.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.document.getImage&SITE_ID=s1&id=1961",
    "pdfUrl": "https://example.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.document.getPdf&SITE_ID=s1&id=1961",
    "emailDiskFile": 10365,
    "entityId": "8781",
    "entityTypeId": "2",
    "downloadUrlMachine": "https://vibecode.bitrix24.tech/v1/crm-documents/1961/download",
    "imageUrlMachine": "https://vibecode.bitrix24.tech/v1/crm-documents/1961/image",
    "pdfUrlMachine": "https://vibecode.bitrix24.tech/v1/crm-documents/1961/pdf"
  }
}
```

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

404 — документа с таким `id` нет или он удалён:

```json
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Документ не найден"
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|---------|
| 400 | `INVALID_PARAMS` | `id` не положительное целое число, например `abc` или `0`. Сообщение: `id must be a positive integer` |
| 404 | `ENTITY_NOT_FOUND` | Документа с таким `id` нет или он удалён |
| 502 | `BITRIX_INVALID_RESPONSE` | Битрикс24 ответил без документа |
| 403 | `BITRIX_ACCESS_DENIED` | Нет доступа к записи CRM, к которой прикреплён документ, в том числе если такой записи нет. Сообщение: `Access denied` |
| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `crm` |
| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |
| 401 | `TOKEN_MISSING` | Ключу не сопоставлены токены — ключ OAuth-приложения вызван без пользовательской сессии |

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

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

**Скачивание до готовности файла.** Пока полей `pdfUrlMachine` и `imageUrlMachine` нет, скачивание PDF или изображения отвечает `409 DOCUMENT_NOT_READY`. Повторяйте этот метод или само скачивание через несколько секунд, пока поле не появится.

**`stampsEnabled` не показывает, есть ли печати в файле.** У документа, сформированного по шаблону, метод возвращает `stampsEnabled: true` и тогда, когда документ создан или обновлён с `stampsEnabled: false` и файл сформирован без печатей. Признак печатей, с которым сформирован файл, приходит в ответе [создания](/docs/entities/documents/crm-create) и [обновления](/docs/entities/documents/crm-update).

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

- [Документы по CRM-сущности](/docs/entities/documents/crm-list)
- [Создать CRM-документ](/docs/entities/documents/crm-create)
- [Обновить CRM-документ](/docs/entities/documents/crm-update)
- [Удалить CRM-документ](/docs/entities/documents/crm-delete)
- [Скачать PDF документа](/docs/entities/documents/pdf)
- [Документы](/docs/entities/documents)
