İçeriğe atla
Geliştirici dokümanlarıAPI referansıProjeler

Projeyi getir

Araçları, öğeleri, grupları, seçenekleri ve güncel planının özetiyle birlikte bir proje (plan bir API işinin kaydettiği plan olduğu sürece PDF bağlantısı da gelir).

GEThttps://runner.cargoduo.com/v1/projects/{id}

Ücretsiz: kredi harcanmaz.

Kimlik doğrulama

Bearer API anahtarı, gereken yetki:resources:readDaha fazla bilgi

Yol parametreleri

AdTürZorunluAçıklama
idstringzorunlu
string
Evet

Proje ID'si (prj_…).

Örnek istek

curl -X GET "https://runner.cargoduo.com/v1/projects/prj_3051" \
  -H "Authorization: Bearer $CARGODUO_API_KEY"

Örnek yanıt

200 OK · Project
{
  "id": "prj_3051",
  "object": "project",
  "name": "Order 1042",
  "status": "calculated",
  "item_count": 58,
  "vehicle_count": 1,
  "app_url": "https://app.cargoduo.com/projects/3051",
  "created_by": {
    "id": "usr_7",
    "name": "Elif Kaya"
  },
  "updated_by": {
    "id": "usr_7",
    "name": "Elif Kaya"
  },
  "created_at": "2026-10-19T09:10:03Z",
  "updated_at": "2026-10-19T09:12:07Z",
  "options": {
    "packing_mode": "auto",
    "group_routing": "none",
    "allow_overweight": false
  },
  "vehicles": [
    {
      "id": "pv_5120",
      "vehicle_id": "standard-trailer-13-6m",
      "name": "Standard Trailer (13.6m)",
      "type": "trailer",
      "quantity": 1,
      "length": 1362,
      "width": 248,
      "height": 270,
      "max_weight": 24000
    }
  ],
  "items": [
    {
      "id": "item_88410",
      "label": "Euro pallet",
      "shape": "box",
      "length": 120,
      "width": 80,
      "height": 140,
      "weight": 450,
      "quantity": 18,
      "stackable": false,
      "rotation": "all",
      "color": "#3b82f6"
    },
    {
      "id": "item_88411",
      "label": "Carton A",
      "shape": "box",
      "length": 60,
      "width": 40,
      "height": 40,
      "weight": 12,
      "quantity": 40,
      "stackable": true,
      "rotation": "upright",
      "color": "#f59e0b"
    }
  ],
  "groups": [],
  "plan": {
    "items_placed": 58,
    "items_unplaced": 0,
    "vehicles_used": 1,
    "total_weight": 8580,
    "volume_utilization": 0.3116,
    "job_id": "job_4bK9mT2xQe7LpW1zRc8VdN3f",
    "pdf_url": "https://app.cargoduo.com/r/Xq7Lm2Vt9KbR4cN8wZp1Hs6Yd3Fg5Jk0Ta2Ue7Wn4Ci"
  }
}

Yanıtlar

  • 200OKProje.
    AdTürZorunluAçıklama
    idstring
    string
    Hayır

    Proje ID'si (prj_…).

    objectstring
    string
    Hayır
    project
    namestring
    string
    Hayır
    statusstring
    string
    Hayır

    draft = hiç hesaplanmamış ya da girdileri değiştirilmiş; calculated = güncel bir planı var; stale = plan oluşturulduktan sonra bir ayar değişmiş.

    draftcalculatedstaleerror
    item_countinteger
    integer
    Hayır

    Öğe adedi (quantity değerlerinin toplamı).

    vehicle_countinteger
    integer
    Hayır

    Araç sayısı (quantity değerlerinin toplamı).

    app_urlstring
    string
    Hayır

    Projeyi uygulamanın 3B düzenleyicisinde açar.

    created_byUserRef | null
    UserRef | null
    Hayır

    Projeyi oluşturan üye (API çağrılarında: anahtarı oluşturan üye). Bilinmiyorsa null.

    updated_byUserRef | null
    UserRef | null
    Hayır

    Projeyi en son değiştiren üye.

    created_atstring
    string
    Hayır

    RFC 3339.

    updated_atstring
    string
    Hayır

    RFC 3339.

    optionsProjectOptions
    ProjectOptions
    Hayır

    Bir projenin sakladığı yükleme seçenekleri.

    vehiclesProjectVehicle[]
    ProjectVehicle[]
    Hayır
    itemsItem[]
    Item[]
    Hayır

    /v1/pack Item biçiminde yük; ID'ler item_… şeklindedir.

    groupsGroup[]
    Group[]
    Hayır
    planProjectPlan | null
    ProjectPlan | null
    Hayır

    Güncel plan; projenin planı yoksa null.

  • 401Unauthorizedunauthorizedkey_revokedkey_expired
    • unauthorizedAPI anahtarı eksik, hatalı biçimde ya da tanınmıyor.
    • key_revokedAnahtar iptal edildi.
    • key_expiredAnahtarın geçerlilik süresi doldu.
    AdTürZorunluAçıklama
    errorErrorBodyzorunlu
    ErrorBody
    Evet
    Tüm hata kodları
  • 403Forbiddenip_not_allowedsubscription_inactiveaccount_inactivescope_missing
    • ip_not_allowedİsteği gönderen IP, anahtarın izin listesinde değil.
    • subscription_inactiveOrganizasyonun API'yi içeren etkin bir aboneliği yok.
    • account_inactiveOrganizasyon askıya alınmış ya da hesabı etkin olan bir organizasyon sahibi yok.
    • scope_missingAnahtarda bu endpoint'in gerektirdiği bir yetki eksik.
    AdTürZorunluAçıklama
    errorErrorBodyzorunlu
    ErrorBody
    Evet
    Tüm hata kodları
  • 404Not foundproject_not_found
    • project_not_foundOrganizasyonunuzda bu ID'ye sahip bir proje yok.
    AdTürZorunluAçıklama
    errorErrorBodyzorunlu
    ErrorBody
    Evet
    Tüm hata kodları
  • 429Too many requestsrate_limited
    • rate_limitedGeçerli dakika, saat ya da gün içinde çok fazla istek gönderildi (anahtar ya da organizasyon başına) veya IP adresinizden gelen başarısız kimlik doğrulama denemeleri dakikada 60 sınırını aştı.
    AdTürZorunluAçıklama
    errorErrorBodyzorunlu
    ErrorBody
    Evet
    Tüm hata kodları
  • 500Internal server errorinternal_error
    • internal_errorBizim tarafımızda bir hata oluştu.
    AdTürZorunluAçıklama
    errorErrorBodyzorunlu
    ErrorBody
    Evet
    Tüm hata kodları
  • 503Service unavailableapi_disabled
    • api_disabledAPI geçici olarak devre dışı (bakım) ya da organizasyon için kapatılmış.
    AdTürZorunluAçıklama
    errorErrorBodyzorunlu
    ErrorBody
    Evet
    Tüm hata kodları