Перейти к содержанию

Минимальные требования

Раздел описывает минимальный набор данных, который обычно нужен для создания заказа через POST /api/Orders/Apply.

Точная обязательность отдельных полей зависит от бизнес-правил заказа, типа цены, выбранной организации, настроек доступа и справочников.


1. Минимальные обязательные поля модели

В модели ApplyOrderModel обязательны:

Поле Тип Назначение
id long 0 при создании нового заказа
organizationId long ID организации владельца заказа
withoutMatching boolean Признак заказа без подбора перевозчика
requireHealthBook boolean Требуется медкнижка
carryingCapacity int Грузоподъемность

На практике для полноценного заказа также нужны точки маршрута, тип цены, контактные данные и параметры видимости.


2. Рекомендуемый минимум для создания заказа

{
  "id": 0,
  "organizationId": 33249,
  "withoutMatching": false,
  "requireHealthBook": false,
  "carryingCapacity": 0,
  "trucksCount": 1,
  "orderPriceType": 10,
  "orderCost": 80000,
  "points": [],
  "accessType": 30,
  "visibleForOrganizationsIds": [],
  "trailerTypeIds": [],
  "ndsTypeId": 3,
  "paymentTypeId": 1,
  "contactPersonName": "Имя контактного лица",
  "contactPersonPhoneNumber": "79999999999",
  "cargoCost": 3000000,
  "isInternal": false
}

3. Точки маршрута

Для обычного заказа нужно минимум две точки:

  • погрузка (pointType = 10);
  • выгрузка (pointType = 20).

Минимальная структура точки:

{
  "id": 0,
  "index": 0,
  "pointType": 10,
  "location": {
    "id": 0,
    "latitude": 55.74703593862486,
    "longitude": 37.61660648499558,
    "state": "Москва",
    "city": "Москва",
    "address": "Москва, Софийская набережная, 14с1"
  },
  "planEnterTime": "2026-07-01T10:00:00"
}

Адрес можно подобрать через GET /api/Map/ReverseSearchAddresses.


4. Видимость заказа

Если заказ должен быть доступен только выбранным перевозчикам, используйте:

{
  "accessType": 30,
  "visibleForOrganizationsIds": [33352, 33277]
}

Список перевозчиков можно получить через GET /api/Organization/SelectRelationsOrganizationsList.


5. Тип цены

orderPriceType Когда использовать
10 Фиксированная стоимость
20 Аукцион
30 Перевозчики предлагают цену

Для аукциона дополнительно используется auctionModel.


6. Поля для синхронизации с внешней системой

Для связи заказа с внешней системой рекомендуется заполнять:

Поле Назначение
externalId ID заказа во внешней системе
externalInternalId Внутренний номер или дополнительный ID
externalCreatedAt Дата создания во внешней системе

Эти поля помогают сопоставлять заказы при обратной синхронизации.