Aller au contenu
Documentation développeursRéférence de l'APIProjets

Consulter un projet

Un projet avec ses véhicules, articles, groupes, options et un résumé de son plan actuel (avec le lien du PDF tant que le plan est celui enregistré par une tâche API).

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

Gratuit : aucun crédit n'est débité.

Authentification

Clé API Bearer avec l'autorisationresources:readEn savoir plus

Paramètres de chemin

NomTypeObligatoireDescription
idstringobligatoire
string
Oui

ID du projet (prj_…).

Exemple de requête

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

Exemple de réponse

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"
  }
}

Réponses

  • 200OKLe projet.
    NomTypeObligatoireDescription
    idstring
    string
    Non

    ID du projet (prj_…).

    objectstring
    string
    Non
    project
    namestring
    string
    Non
    statusstring
    string
    Non

    draft = jamais calculé ou données remplacées ; calculated = possède un plan actuel ; stale = un paramètre a changé depuis la création du plan.

    draftcalculatedstaleerror
    item_countinteger
    integer
    Non

    Unités d'articles (somme des quantités).

    vehicle_countinteger
    integer
    Non

    Véhicules (somme des quantités).

    app_urlstring
    string
    Non

    Ouvre le projet dans l'éditeur 3D de l'application.

    created_byUserRef | null
    UserRef | null
    Non

    Le membre qui l'a créé (pour les appels API : le membre qui a créé la clé). null si inconnu.

    updated_byUserRef | null
    UserRef | null
    Non

    Le dernier membre à l'avoir modifié.

    created_atstring
    string
    Non

    RFC 3339.

    updated_atstring
    string
    Non

    RFC 3339.

    optionsProjectOptions
    ProjectOptions
    Non

    Les options de chargement enregistrées dans un projet.

    vehiclesProjectVehicle[]
    ProjectVehicle[]
    Non
    itemsItem[]
    Item[]
    Non

    Fret au format Item de /v1/pack ; les ID sont de la forme item_….

    groupsGroup[]
    Group[]
    Non
    planProjectPlan | null
    ProjectPlan | null
    Non

    Le plan actuel ; null si le projet n'en a pas.

  • 401Unauthorizedunauthorizedkey_revokedkey_expired
    • unauthorizedClé API absente, mal formée ou inconnue.
    • key_revokedLa clé a été révoquée.
    • key_expiredLa clé a dépassé sa date d'expiration.
    NomTypeObligatoireDescription
    errorErrorBodyobligatoire
    ErrorBody
    Oui
    Tous les codes d'erreur
  • 403Forbiddenip_not_allowedsubscription_inactiveaccount_inactivescope_missing
    • ip_not_allowedL'adresse IP appelante ne figure pas dans la liste des adresses IP autorisées de la clé.
    • subscription_inactiveL'organisation n'a aucun abonnement actif incluant l'API.
    • account_inactiveL'organisation est suspendue ou n'a aucun propriétaire dont le compte est actif.
    • scope_missingIl manque à la clé une autorisation requise par cet endpoint.
    NomTypeObligatoireDescription
    errorErrorBodyobligatoire
    ErrorBody
    Oui
    Tous les codes d'erreur
  • 404Not foundproject_not_found
    • project_not_foundAucun projet avec cet ID dans votre organisation.
    NomTypeObligatoireDescription
    errorErrorBodyobligatoire
    ErrorBody
    Oui
    Tous les codes d'erreur
  • 429Too many requestsrate_limited
    • rate_limitedTrop de requêtes dans la minute, l'heure ou la journée en cours (par clé ou par organisation), ou plus de 60 échecs d'authentification par minute depuis votre adresse IP.
    NomTypeObligatoireDescription
    errorErrorBodyobligatoire
    ErrorBody
    Oui
    Tous les codes d'erreur
  • 500Internal server errorinternal_error
    • internal_errorUne erreur s'est produite de notre côté.
    NomTypeObligatoireDescription
    errorErrorBodyobligatoire
    ErrorBody
    Oui
    Tous les codes d'erreur
  • 503Service unavailableapi_disabled
    • api_disabledL'API est temporairement désactivée (maintenance) ou désactivée pour l'organisation.
    NomTypeObligatoireDescription
    errorErrorBodyobligatoire
    ErrorBody
    Oui
    Tous les codes d'erreur