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

Получить результат задания

План загрузки успешно выполненного задания: все задействованные транспортные средства, все размещения, то, что не поместилось, и ссылка на PDF.

GEThttps://runner.cargoduo.com/v1/jobs/{id}/result

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

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

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

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

ID задания (job_…).

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

curl -X GET "https://runner.cargoduo.com/v1/jobs/job_4bK9mT2xQe7LpW1zRc8VdN3f/result" \
  -H "Authorization: Bearer $CARGODUO_API_KEY"

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

200 OK · Result
{
  "job_id": "job_4bK9mT2xQe7LpW1zRc8VdN3f",
  "vehicles": [
    {
      "index": 0,
      "vehicle_id": "trailer",
      "copy": 1,
      "auto_added": false,
      "name": "13.6 m trailer",
      "type": "trailer",
      "length": 1360,
      "width": 245,
      "height": 270,
      "max_weight": 24000,
      "items_placed": 58,
      "total_weight": 8580,
      "volume_utilization": 0.3116,
      "weight_utilization": 0.3575,
      "center_of_gravity": {
        "x": 452.6,
        "y": 68.4,
        "z": 121.8
      },
      "axle_loads": [],
      "placements": [
        {
          "item_id": "pallet-eu",
          "instance": 1,
          "label": "Euro pallet",
          "x": 0,
          "y": 0,
          "z": 0,
          "length": 80,
          "width": 120,
          "height": 140,
          "rotated": true,
          "orientation": "wlh",
          "step": 1,
          "weight": 450
        },
        {
          "item_id": "pallet-eu",
          "instance": 2,
          "label": "Euro pallet",
          "x": 0,
          "y": 0,
          "z": 120,
          "length": 80,
          "width": 120,
          "height": 140,
          "rotated": true,
          "orientation": "wlh",
          "step": 2,
          "weight": 450
        },
        {
          "item_id": "carton-a",
          "instance": 1,
          "label": "Carton A",
          "x": 720,
          "y": 0,
          "z": 0,
          "length": 60,
          "width": 40,
          "height": 40,
          "rotated": false,
          "orientation": "lwh",
          "step": 19,
          "weight": 12
        }
      ]
    }
  ],
  "unplaced": [],
  "warnings": [],
  "pdf_url": "https://app.cargoduo.com/r/Xq7Lm2Vt9KbR4cN8wZp1Hs6Yd3Fg5Jk0Ta2Ue7Wn4Ci",
  "expires_at": "2026-11-02T09:12:03Z"
}

Сокращено: показаны 3 из 58 размещений.

Ответы

  • 200OKПлан загрузки.
    ИмяТипОбязательноОписание
    job_idstring
    string
    Нет

    Задание.

    vehiclesResultVehicle[]
    ResultVehicle[]
    Нет

    Загруженные транспортные средства в порядке загрузки (пустые не включаются).

    unplacedUnplacedItem[]
    UnplacedItem[]
    Нет

    Единицы, которые не удалось разместить, с причиной.

    warningsWarning[]
    Warning[]
    Нет

    Замечания к плану.

    pdf_urlstring
    string
    Нет

    Ссылка, по которой браузер формирует PDF с планом.

    expires_atstring
    string
    Нет

    Когда этот результат будет удалён (RFC 3339).

  • 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 foundjob_not_found
    • job_not_foundВ вашей организации нет задания с таким ID.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 409Conflictjob_not_finishedjob_failedjob_canceled
    • job_not_finishedЗадание ещё в очереди или выполняется.
    • job_failedЗадание завершилось ошибкой; результата нет.
    • job_canceledЗадание отменено; результата нет.
    ИмяТипОбязательноОписание
    errorErrorBodyобязательно
    ErrorBody
    Да
    Все коды ошибок
  • 410Goneresult_expired
    • result_expiredСрок хранения результата истёк, и он удалён.
    ИмяТипОбязательноОписание
    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
    Да
    Все коды ошибок