Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
Типы отчётов
Тип отчёта «Акты»
Тип отчёта «Баланс отсутствий»
Тип отчёта «Бронирование»
Тип отчёта «Биллинг»
Тип отчёта «Версии проектов»
Тип отчёта «Задачи»
Тип отчёта «Затраты»
Тип отчёта «Заявки на затраты»
Тип отчёта «Заявки на отсутствия»
Тип отчёта «История ставок пользователей»
Тип отчёта «Запросы ресурсов»
Тип отчёта «Навыки пользователей»
Тип отчёта «Пользователи»
Тип отчёта «Проводки»
Тип отчёта «Ресурсный план»
Тип отчёта «Ресурсный план (по версиям)»
Тип отчёта «Проекты»
Тип отчёта «Сертификаты пользователей»
Тип отчёта «Счета»
Тип отчёта «Счета (строки)»
Тип отчёта «Таймшиты»
Тип отчёта «Таймшиты детально»
Тип отчёта «Финансы»
Тип отчёта «Структура работ»
Тип отчёта «Центры затрат проектов»
Тип отчёта «Задания воркфлоу»
Тип отчета Клиенты
Тип отчета «Контакты»
Тип отчёта «Сделки»
Тип отчёта «История состояний сделок»
Тип отчёта «Взаимодействия»
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
FAQ
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Язык формул и выражений
Язык шаблонов
On-premises
API
История изменений
Термины и определения

Создание записи

Обновлено: 21.06.2026

Назначение

Создание сущности позволяет добавить новую запись в систему.

Для этого используется HTTP-метод POST с передачей данных новой сущности в теле запроса.

После успешного создания API возвращает созданный объект или его идентификатор.

Базовый запрос

Например, создание нового проекта:

POST https://api.timetta.com/odata/Projects
Content-Type: application/json

Тело запроса:

{
  "name": "Новый проект",
  "startDate": "2026-07-01",
  "endDate": "2026-12-31",
  "managerId": "04f9aa6d-4918-4221-bcaf-f9703cc63959",
  "organizationId": "bb495d2a-53b0-427b-8b5a-20f61658276b"
}

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

{
  "id": "f8d3b4a2-97f6-4f9d-a26e-91f4c0bde712",
  "name": "Новый проект",
  "startDate": "2026-07-01",
  "endDate": "2026-12-31",
  "managerId": "04f9aa6d-4918-4221-bcaf-f9703cc63959",
  "organizationId": "bb495d2a-53b0-427b-8b5a-20f61658276b"
}

Передача связанных сущностей

При создании сущности ссылки на связанные объекты передаются через их идентификаторы.

Например:

  • managerId
  • organizationId
  • portfolioId

Пример:

{
  "name": "Новый проект",
  "managerId": "04f9aa6d-4918-4221-bcaf-f9703cc63959"
}

Передача вложенных объектов вместо идентификаторов не поддерживается.

Например, следующий запрос является некорректным:

{
  "name": "Новый проект",
  "manager": {
    "id": "04f9aa6d-4918-4221-bcaf-f9703cc63959"
  }
}

Для установки связей необходимо использовать именно ключевые поля.

Создание агрегатов с дочерними коллекциями

Для некоторых агрегатных сущностей допускается одновременная передача связанных коллекций.

Такие свойства в описании сущности имеют тип метамодели CollectionProperty.

Это позволяет создавать корневую сущность и её дочерние элементы одним запросом.

Например, при создании ExpenseRequest можно сразу передать строки расходов в свойстве lines:

{
  "projectId": "45eb27e2-161e-4eeb-9b56-72eaea30511d",
  "name": "Командировка в офис клиента",
  "lines": [
    {
      "name": "Авиабилеты",
      "amount": 15000
    },
    {
      "name": "Проживание",
      "amount": 24000
    }
  ]
}

В этом случае дочерние элементы будут созданы вместе с основной записью.

Примечание

Возможность вложенного создания поддерживается только для дочерних коллекций агрегата. Для обычных ссылочных сущностей необходимо использовать идентификаторы.

Минимальный набор данных

Для многих сущностей достаточно передать только обязательные поля.

Например:

{
  "name": "Новый проект"
}

Остальные значения могут быть установлены автоматически или заполнены позже.

Конкретный состав обязательных полей зависит от сущности.

Примечание

Для определения обязательных и доступных для записи полей рекомендуется использовать описание сущности.

Обработка ошибок

Если запрос успешно выполнен:

  • 201 Created — запись создана.

Если переданы некорректные данные:

  • 400 Bad Request

Если отсутствует или истёк токен доступа:

  • 401 Unauthorized

Если недостаточно прав:

  • 403 Forbidden

Если нарушены бизнес-правила:

  • 500 Internal Server Error

Пример ошибки:

{
  "error": {
    "code": "validation_error",
    "message": "Project name is required",
    "details": {}
  }
}

Рекомендации

При создании сущностей рекомендуется:

  • передавать только необходимые поля;
  • использовать идентификаторы для связанных сущностей;
  • использовать вложенные коллекции только для агрегатных сущностей;
  • не передавать системные и вычисляемые поля;
  • проверять обязательные поля в описании сущности;
  • обрабатывать ошибки валидации и бизнес-логики.

Содержание

Назначение Базовый запрос Передача связанных сущностей Создание агрегатов с дочерними коллекциями Минимальный набор данных Обработка ошибок Рекомендации
Ничего не найдено

Перейти на русскую версию?