Перейти к содержимому
CargoDuo logoCargoDuo
Цены
Документация для разработчиковСправочник APIШаблоны

Изменить шаблон

Изменяет шаблон.

PATCHhttps://runner.cargoduo.com/v1/templates/{id}

Позиции, уже добавленные в проекты, сохраняют собственную копию. Бесплатно: кредиты не списываются.

Аутентификация

Bearer-ключ API с правомresources:writeПодробнее

Параметры пути

ИмяТипОбязательноОписание
idstringобязательно
string
Да

ID шаблона (tpl_…).

Параметры тела

application/json
ИмяТипОбязательноОписание
labelstring
string
Нет

Отображаемая метка.

≤ 255 chars
shapestring
string
Нет

Форма позиции. Для cylinder и drum используются radius + height вместо length + width; pallet и drum всегда стоят вертикально.

boxcylinderpalletbagdrumПо умолчанию "box"
lengthnumber · cm
number · cm
Нет

Длина. Обязательна, если shape не cylinder и не drum.

widthnumber · cm
number · cm
Нет

Ширина. Обязательна, если shape не cylinder и не drum.

heightnumber · cm
number · cm
Нет

Высота (вертикальная сторона, когда груз стоит в исходной ориентации).

radiusnumber · cm
number · cm
Нет

Радиус. Обязателен, если shape — cylinder или drum.

weightnumber · kg
number · kg
Нет

Вес ОДНОЙ единицы.

stackableboolean
boolean
Нет

Сверху можно ставить другие грузы.

По умолчанию true
max_stack_weightnumber · kg
number · kg
Нет

Максимальный вес, который можно поставить на одну единицу. 0 = без ограничений.

По умолчанию 0
rotationstring
string
Нет

all = любая из шести ориентаций; upright = только поворот вокруг вертикальной оси (этой стороной вверх); fixed = без поворотов.

alluprightfixedПо умолчанию "all"
hazardousboolean
boolean
Нет

Опасный груз: размещается внизу и отдельно от других опасных грузов.

По умолчанию false
priorityinteger
integer
Нет

Приоритет загрузки. Позиции с более высоким приоритетом загружаются раньше и при нехватке места остаются в плане. 0 = без приоритета.

По умолчанию 0
colorstring
string
Нет

Цвет отображения в формате #rrggbb (только в просмотрщике и PDF).

nesting_heightnumber · cm
number · cm
Нет

Перекрытие при вкладывании одинаковых единиц друг в друга (вкладываемые ящики, вёдра).

По умолчанию 0

Пример запроса

curl -X PATCH "https://runner.cargoduo.com/v1/templates/tpl_42" \
  -H "Authorization: Bearer $CARGODUO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "weight": 480
  }'

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

200 OK · Template
{
  "id": "tpl_42",
  "object": "template",
  "label": "Euro pallet",
  "shape": "box",
  "length": 120,
  "width": 80,
  "height": 140,
  "radius": 0,
  "weight": 480,
  "stackable": false,
  "max_stack_weight": 0,
  "rotation": "all",
  "hazardous": false,
  "priority": 0,
  "color": "#3b82f6",
  "nesting_height": 0,
  "created_by": {
    "id": "usr_7",
    "name": "Elif Kaya"
  },
  "updated_by": {
    "id": "usr_7",
    "name": "Elif Kaya"
  },
  "created_at": "2026-09-28T14:05:52Z",
  "updated_at": "2026-10-19T09:12:03Z"
}

Ответы

  • 200OKШаблон после изменения.
    ИмяТипОбязательноОписание
    idstring
    string
    Нет

    ID шаблона (tpl_…).

    objectstring
    string
    Нет
    template
    labelstring
    string
    Нет

    Отображаемая метка.

    shapestring
    string
    Нет

    Форма позиции. Для cylinder и drum используются radius + height вместо length + width; pallet и drum всегда стоят вертикально.

    boxcylinderpalletbagdrum
    lengthnumber · cm
    number · cm
    Нет

    Длина. Обязательна, если shape не cylinder и не drum.

    widthnumber · cm
    number · cm
    Нет

    Ширина. Обязательна, если shape не cylinder и не drum.

    heightnumber · cm
    number · cm
    Нет

    Высота (вертикальная сторона, когда груз стоит в исходной ориентации).

    radiusnumber · cm
    number · cm
    Нет

    Радиус. Обязателен, если shape — cylinder или drum.

    weightnumber · kg
    number · kg
    Нет

    Вес ОДНОЙ единицы.

    stackableboolean
    boolean
    Нет

    Сверху можно ставить другие грузы.

    max_stack_weightnumber · kg
    number · kg
    Нет

    Максимальный вес, который можно поставить на одну единицу. 0 = без ограничений.

    rotationstring
    string
    Нет

    all = любая из шести ориентаций; upright = только поворот вокруг вертикальной оси (этой стороной вверх); fixed = без поворотов.

    alluprightfixed
    hazardousboolean
    boolean
    Нет

    Опасный груз: размещается внизу и отдельно от других опасных грузов.

    priorityinteger
    integer
    Нет

    Приоритет загрузки. Позиции с более высоким приоритетом загружаются раньше и при нехватке места остаются в плане. 0 = без приоритета.

    colorstring
    string
    Нет

    Цвет отображения в формате #rrggbb (только в просмотрщике и PDF).

    nesting_heightnumber · cm
    number · cm
    Нет

    Перекрытие при вкладывании одинаковых единиц друг в друга (вкладываемые ящики, вёдра).

    created_byUserRef | null
    UserRef | null
    Нет

    Участник, создавший проект (для вызовов API — участник, создавший ключ). null, если неизвестно.

    updated_byUserRef | null
    UserRef | null
    Нет

    Участник, последним изменивший проект.

    created_atstring
    string
    Нет

    RFC 3339.

    updated_atstring
    string
    Нет

    RFC 3339.

  • 400Bad requestinvalid_json
    • invalid_jsonТело запроса — невалидный JSON, или у поля неверный тип.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 401Unauthorizedunauthorizedkey_revokedkey_expired
    • unauthorizedAPI-ключ отсутствует, имеет неверный формат или неизвестен.
    • key_revokedКлюч отозван.
    • key_expiredСрок действия ключа истёк.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 403Forbiddenip_not_allowedsubscription_inactiveaccount_inactivescope_missing
    • ip_not_allowedIP-адреса вызывающей стороны нет в списке разрешённых IP для этого ключа.
    • subscription_inactiveУ организации нет активной подписки, включающей API.
    • account_inactiveРабота организации приостановлена, или у неё нет владельца с активной учётной записью.
    • scope_missingУ ключа нет области доступа, необходимой для этого endpoint.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 404Not foundtemplate_not_found
    • template_not_foundВ вашей организации нет шаблона с таким ID.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 422Unprocessable entityvalidation_failed
    • validation_failedЗапрос — корректный JSON, но описывает недопустимое задание. В details[] перечислены все проблемы.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 429Too many requestsrate_limited
    • rate_limitedСлишком много запросов за текущую минуту, час или сутки (на ключ или на организацию) либо число неудачных попыток аутентификации с вашего IP-адреса превысило 60 в минуту.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 500Internal server errorinternal_error
    • internal_errorСбой на нашей стороне.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 503Service unavailableapi_disabled
    • api_disabledAPI временно отключён (техническое обслуживание) или выключен для организации.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок