Добавление грузомест в отгрузку
POST /v1/shipment/package/add
POST
/v1/shipment/package/addДопустимый статус отгрузки: только DRAFT.
Тело запроса
shipment_id
string
required Идентификатор отгрузки.
packages
array
required Грузоместа для добавления в отгрузку.
ordersFbsShipmentPackageAddInputItem
Показать свойстваСкрыть свойства
ordersFbsShipmentPackageAddInputItem
package_id
string
Идентификатор грузоместа (опционально).
package_number
integer
required Порядковый номер грузоместа.
type
string
required Тип грузоместа.
Допустимые значения
BOXPALLET
merchant_order_ids
array
required Идентификаторы заказов в грузоместе.
Успешный ответ
200A successful response. application/json
object
packages
array
required Результаты добавления грузомест в отгрузку.
ordersFbsShipmentPackageAddResultItem
Показать свойстваСкрыть свойства
ordersFbsShipmentPackageAddResultItem
package_id
string
required Идентификатор грузоместа.
package_number
integer
Порядковый номер грузоместа.
status
string
required Статус добавления.
Допустимые значения
ADDEDERROR
error
object
required Причина ошибки добавления (для обратной совместимости; для статуса ADDED возвращается пустым объектом). Предпочтительно использовать
errors.Показать свойстваСкрыть свойства
code
string
required Код ошибки.
message
string
required Сообщение об ошибке.
errors
array
Структурированные ошибки валидации по полям.
Унифицированная ошибка валидации поля.
Для бизнес-правил витрины использовать code = STOREFRONT_RULE_VIOLATION.
Показать свойстваСкрыть свойства
field
string
required Имя поля в запросе (например address_tail). Вложенность через точку/индекс: delivery.address_tail, packages[0].type.
code
string
required Каталог кодов валидации.
Коды schema-валидации; для бизнес-правил витрины использовать следующий код
STOREFRONT_RULE_VIOLATION.
Коды геометрии полигонов (INVALID_COORDINATES, RING_*) не применяются.
- REQUIRED: Поле отсутствует или пустое, но обязательно.
- REQUIRED_ONE_OF: Нужен хотя бы один из набора полей.
- CONDITIONALLY_REQUIRED: Поле обязательно при выполнении условия.
- INVALID_TYPE: Неверный JSON-тип значения.
- INVALID_ENUM: Значение не из допустимого enum.
- INVALID_FORMAT: Общий сбой формата значения.
- INVALID_DATE_TIME: Дата/время не RFC3339 или без timezone.
- INVALID_DATE: Дата не в формате YYYY-MM-DD.
- INVALID_TIME: Время не в формате ЧЧ:ММ.
- INVALID_TIME_RANGE: Диапазон времени (перерыв) некорректен.
- INVALID_URL: Невалидный URL.
- TOO_MANY_ITEMS: Превышен maxItems / лимит элементов в запросе.
- MIN_VALUE: Значение ниже допустимого минимума.
- MAX_VALUE: Значение выше допустимого максимума.
- NEGATIVE_VALUE: Отрицательное значение там, где недопустимо.
- INVALID_RANGE: Некорректный диапазон (from > to и т.п.).
- NOT_FOUND: Сущность не найдена.
- CONFLICT: Конфликт состояния объекта.
- INVALID_STATUS_TRANSITION: Недопустимый переход статуса.
- STATUS_NOT_ALLOWED: Статус недоступен в текущем контексте.
- INVALID_ADDRESS_FORMAT: address_tail / адрес не по шаблону.
- INVALID_LATITUDE: Широта вне диапазона [-90, 90].
- INVALID_LONGITUDE: Долгота вне диапазона [-180, 180].
- SCHEMA_MISMATCH: Набор полей не соответствует location_types / схеме.
- STOREFRONT_RULE_VIOLATION: Нарушение бизнес-правила витрины.
Допустимые значения
REQUIREDREQUIRED_ONE_OFCONDITIONALLY_REQUIREDINVALID_TYPEINVALID_ENUMINVALID_FORMATINVALID_DATE_TIMEINVALID_DATEINVALID_TIMEINVALID_TIME_RANGEINVALID_URLTOO_MANY_ITEMSMIN_VALUEMAX_VALUENEGATIVE_VALUEINVALID_RANGENOT_FOUNDCONFLICTINVALID_STATUS_TRANSITIONSTATUS_NOT_ALLOWEDINVALID_ADDRESS_FORMATINVALID_LATITUDEINVALID_LONGITUDESCHEMA_MISMATCHSTOREFRONT_RULE_VIOLATION
message
string
required Текст ошибки для клиента. Для STOREFRONT_RULE_VIOLATION — описание конкретного правила витрины.
Ошибки
400Некорректный запрос application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
401Ошибка авторизации application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
429Превышен лимит запросов application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
500Внутренняя ошибка сервера application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
defaultОшибка (неожиданная или прочие) application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
POST/v1/shipment/package/add
1curl https://api.omninet.ru/v1/shipment/package/add \2 --request POST \3 --header 'Content-Type: application/json' \4 --data '{5 "shipment_id": "string",6 "packages": [7 {8 "package_id": "string",9 "package_number": 0,10 "type": "string",11 "merchant_order_ids": [12 "string"13 ]14 }15 ]16}'{
"packages": [
{
"package_id": "string",
"package_number": 0,
"status": "string",
"error": {
"code": "string",
"message": "string"
},
"errors": [
{
"field": "address_tail",
"code": "REQUIRED",
"message": "Поле address_tail обязательно"
}
]
}
]
}A successful response.