Минимальные требования к данным¶
Этот раздел содержит минимальные обязательные поля, которые необходимы при создании сущностей через API CARGO.RUN Логистика. Значения обязательных полей должны присутствовать в запросах, иначе метод вернёт ошибку валидации.
Если метод требует дополнительные поля, они указаны в описании соответствующего метода в API Reference.
1. Создание заявки (Bid)¶
Минимальный набор полей зависит от того, создаётся ли заявка полностью в CARGO.RUN или поступает из внешней системы (1С, ERP).
| Поле | Тип | Описание |
|---|---|---|
cargoOwnerDictionaryItemId |
number | Идентификатор заказчика (контрагента). |
paymentTypeId |
number | Тип оплаты. |
ndsTypeId |
number | Тип НДС. |
price |
number | стоимость в рублях (с НДС). |
driver |
object | Идентификатор водителя. |
carOption |
object | Идентификатор автомобиля (тягача). |
trailerOption |
object | Идентификатор полуприцепа. |
bidPoints |
array | Маршрутные точки (минимум две: погрузка и выгрузка). |
Для порожней заявки передайте isEmptyMileageBid = true. Текущая валидация также
требует технические заполнители, хотя при обработке порожней заявки их значения
игнорируются:
price: например,1;cargos: непустой массив, например[ { "id": 0, "name": null } ];paymentTypeIdиndsTypeId: существующие ID из справочников целевой организации.
Не придумывайте ID типов оплаты и НДС: получите допустимые значения до запуска
интеграции. cargoOwnerDictionaryItemId для порожней заявки можно не передавать.
Если в организации включён учёт причин порожнего пробега, объект emptyMileageBid
обязателен.
2. Создание заказа (DistributionBid)¶
| Поле | Тип | Описание |
|---|---|---|
bidPoints |
array | Маршрутные точки (минимум две: погрузка и выгрузка). |
3. Создание контрагента (Counterparty)¶
| Поле | Тип | Описание |
|---|---|---|
name |
string | Наименование организации. |
inn |
string | ИНН. |
kpp |
string (nullable) | КПП (опционально) |
4. Создание водителя (Driver)¶
| Поле | Тип | Описание |
|---|---|---|
firstName |
string | Имя водителя. |
lastName |
string | Фамилия водителя. |
phoneNumber |
string | Телефон в формате +7XXXXXXXXXX. |
5. Создание автомобиля (Car)¶
| Поле | Тип | Описание |
|---|---|---|
number |
string | Госномер. |
6. Создание прицепа (Trailer)¶
| Поле | Тип | Описание |
|---|---|---|
number |
string | Госномер. |
7. Общие правила¶
- Все числовые идентификаторы (
xxxId) должны существовать в справочниках. - Поля, указанные как обязательные, не могут быть
null. - Любые дополнительные поля передавайте только если они описаны в соответствующем разделе API Reference.
- Если описание конкретного метода требует больший набор полей, используйте требования этого метода.
8. Что делать при ошибке валидации¶
Если обязательное поле опущено или не соответствует типу:
- сервер возвращает ошибку
400 Bad Request, - тело ответа может быть обычным текстом или объектом
ValidationApiResultс полемerrorMessage; клиент должен уметь сохранить оба варианта.
Рекомендуется логировать ошибки на стороне внешней системы.