[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-timeline-logs\u002Flogs\u002Fcreate":3,"docs-tabs-timeline-logs\u002Flogs\u002Fcreate":6},{"content":4,"lastmod":5},"\n## Создать запись\n\n`POST \u002Fv1\u002Ftimeline-logs`\n\nСоздаёт новую запись в журнале (таймлайне) CRM-сущности. Запись появится в истории карточки сделки, лида, контакта, компании или смарт-процесса как сообщение от приложения.\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| **`entityTypeId`** | number | да | Тип родительской CRM-сущности: `1`=лид, `2`=сделка, `3`=контакт, `4`=компания, `7`=предложение, `14`=заказ, `31`=счёт, `≥128`=смарт-процесс. Подробнее — [Типы сущностей](\u002Fdocs\u002Ftimeline-logs#типы-родительских-сущностей) |\n| **`entityId`** | number | да | ID родительской записи. Источник: `GET \u002Fv1\u002Fdeals`, `GET \u002Fv1\u002Fleads`, `GET \u002Fv1\u002Fcontacts`, `GET \u002Fv1\u002Fcompanies`, `GET \u002Fv1\u002Fitems\u002F:entityTypeId` |\n| **`title`** | string | да | Заголовок записи. Отображается жирным в карточке таймлайна |\n| **`text`** | string | да | Основной текст записи. Пустая строка допустима (`\"\"`) |\n| `iconCode` | string | нет | Код иконки рядом с заголовком. Часто используемые: `info`, `circle-check`, `document`, `link`, `unlink`, `view`, `stage-change`, `sum`, `store`, `relation`, `IM`, `call`, `call-incoming`, `call-completed`. По умолчанию пустая строка `\"\"` (без иконки) |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"entityTypeId\": 2,\n    \"entityId\": 100,\n    \"title\": \"AI-агент обработал заявку\",\n    \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"entityTypeId\": 2,\n    \"entityId\": 100,\n    \"title\": \"AI-агент обработал заявку\",\n    \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    entityTypeId: 2,\n    entityId: 100,\n    title: 'AI-агент обработал заявку',\n    text: 'Проанализированы данные клиента. Рекомендация: тариф Enterprise.',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Log ID:', data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    entityTypeId: 2,\n    entityId: 100,\n    title: 'AI-агент обработал заявку',\n    text: 'Проанализированы данные клиента. Рекомендация: тариф Enterprise.',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `id` | number | ID созданной лог-записи |\n| `created` | datetime | Дата создания, ISO 8601 с таймзоной портала |\n| `authorId` | number | ID автора. При создании через API соответствует пользователю API-ключа |\n| `title` | string | Заголовок |\n| `text` | string | Текст записи |\n| `iconCode` | string | Код иконки (или `\"\"`, если не задан) |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 5012,\n    \"created\": \"2026-04-27T10:00:00+03:00\",\n    \"authorId\": 1,\n    \"title\": \"AI-агент обработал заявку\",\n    \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\",\n    \"iconCode\": \"\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n400 — пропущено обязательное поле:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_PARAMS\",\n    \"message\": \"Required: entityTypeId (positive int), entityId (positive int), title (string), text (string). Optional: iconCode (string, default \\\"\\\")\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Не передан или некорректен `entityTypeId`, `entityId`, `title`, `text` либо тип `iconCode` не строка |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил запрос (например, родительская сущность не существует) |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Удаление возможно только тем же приложением.** Битрикс24 запрещает удалять лог-запись через приложение, отличное от создавшего. Личные ключи (`vibe_api_*`) ротируют OAuth-токены, поэтому через них `DELETE` всегда возвращает `403 CROSS_APP_DELETE_FORBIDDEN`. Для полного жизненного цикла «создать → удалить через API» используйте OAuth-приложение (`vibe_app_*` + `Authorization: Bearer ...`). Подробнее — [Удалить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete).\n\n**Поле `text` обязательное, но допускает пустую строку.** Битрикс24 принимает `text: \"\"`, заголовок `title` всё равно отображается. Если хочется оставить без описания — передавайте пустую строку, а не `null`.\n\n**Поле `iconCode` сохраняется как пустая строка по умолчанию.** В ответе `iconCode` всегда присутствует, даже если не передавали — приходит `\"\"`.\n\n## Смотрите также\n\n- [Список записей](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Flist) — все записи родительской сущности\n- [Получить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fget) — одна запись по `id`\n- [Удалить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete) — учитывайте ограничение cross-app\n- [Закрепить запись](\u002Fdocs\u002Ftimeline-logs\u002Fpins\u002Fpin) — после создания\n- [Привязать к ещё одной сущности](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Fbind) — мультибиндинг\n- [Сохранить заметку](\u002Fdocs\u002Ftimeline-logs\u002Fnotes\u002Fsave) — внутренний комментарий к записи\n","2026-07-07",{}]