Documentation

Updating an API-created project in the web browser

Introduction

The standard workflow for working with the Goodloading service looks as follows:

It may turn out, however, that the user would like to make a small tweak to the results produced by the algorithm. In that case they can:

Request

{
    "loads": [
        {
            "quantity": 6,
            "name": "load 1",
            "length": 120,
            "width": 80,
            "height": 100,
            "weight": 100
        }
],
       "loadingSpaces": [
        {
            "quantity": 1,
            "name": "truck 1",
            "parts": [
                {
                    "length": 800,
                    "width": 200,
                    "height": 200,
                    "limit": 24000
                }
            ]
        }
    ],
  "options": {
            }
}

Response — version 1

The Response parameters, as described in Response Body

{
    "loadingSpaces": [
        {
            "id": 1,
            "name": "truck 1",
            "parts": [
                {
                    "height": 200,
                    "length": 800,
                    "width": 200,
                    "limit": 24000,
                    "loads": [
                        {
                            "id": 1,
                            "allowToRotate": true,
                            "stacking": true,
                            "name": "load 1",
                            "loadType": 0,
                            "priority": 0,
                            "quantity": 6,
                            "width": 120,
                            "length": 80,
                            "height": 100,
                            "weight": 100,
                            "diameter": 0,
                            "origin": null,
                            "destination": null,
                            "pctSupport": 100,
                            "alongFloor": false,
                            "boxesBelowAllowed": [],
                            "color": 6989903,
                            "placement": [
                                {
                                    "height": 100,
                                    "length": 80,
                                    "width": 120,
                                    "diameter": 0,
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 2,
                                        "z": 1
                                    },
                                    "position": {
                                        "x": 0,
                                        "y": 0,
                                        "z": 0
                                    },
                                    "cubeId": 0
                                },
                                {
                                    "height": 100,
                                    "length": 120,
                                    "width": 80,
                                    "diameter": 0,
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 2,
                                        "z": 1
                                    },
                                    "position": {
                                        "x": 120,
                                        "y": 0,
                                        "z": 0
                                    },
                                    "cubeId": 0
                                },
                                {
                                    "height": 100,
                                    "length": 80,
                                    "width": 120,
                                    "diameter": 0,
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 2,
                                        "z": 1
                                    },
                                    "position": {
                                        "x": 0,
                                        "y": 0,
                                        "z": 80
                                    },
                                    "cubeId": 0
                                }
                            ]
                        }
                    ],
                    "loadingSide": "back",
                    "summary": {
                        "freeLdm": 640,
                        "occupiedLdm": 160,
                        "freeSurface": 13120000,
                        "occupiedSurface": 2880000,
                        "freeVolume": 262400000000,
                        "occupiedVolume": 57600000000,
                        "percentLdmUsd": 20,
                        "percentVolumeUsd": 18,
                        "totalLoadsWeight": 600
                    },
                    "axis": []
                }
            ],
            "type": "vehicle"
        }
    ],
    "notFittedLoads": [],
    "options": {
        "allowOverweight": false,
        "unit": "cm",
        "keepLoadsTogether": false,
        "newAlgorithm": true,
        "arrangeOptimally": false,
        "loadingOrder": "default",
        "keepGroupsInGivenSpaces": false,
        "isMagnetOn": false,
        "multiStops": false,
        "includeSavedLoadingSpaces": false,
        "additionOrder": true,
        "userOrder": false,
        "volumeOrder": false,
        "weightOrder": false
    },
    "_links": [
        {
            "rel": "preview",
            "href": "https://app.goodloading.com/session?id=cdaa9650-1fed-46a0-98df-b68654818c08&pref=opt-names-opened"
        }
    ]
}

Response visualization — version 1

Making changes to the project

1. Retrieve the project identifier from the Response

"href": "https://app.goodloading.com/session?id=cdaa9650-1fed-46a0-98df-b68654818c08&pref=opt-names-opened"

2. Open the project in the web application.

3. Make the changes in the application

Adding 2 new loads.

4. Save the new version of the project with the changes

Fetching the latest version of the project

1. Retrieve the identifier of the project modified in the web application

2. Call the Goodloading service: https://api.goodloading.com/api/external/calculation/result?id=

3. Append the retrieved identifier of the modified project to the request 3263583f-c8f3-415a-8de8-d03df45d35cc&pref=opt-names-opened

Response — version 2

The fetched Response now includes the 2 loads added in the application

{
    "loadingSpaces": [
        {
            "id": 1,
            "name": "truck 1",
            "type": "vehicle",
            "parts": [
                {
                    "length": 1000,
                    "width": 200,
                    "height": 200,
                    "limit": 24000,
                    "axis": [],
                    "loadingSide": "back",
                    "summary": {
                        "freeLdm": 780,
                        "occupiedLdm": 220,
                        "freeVolume": 33280000,
                        "occupiedVolume": 6720000,
                        "freeSurface": 161600,
                        "occupiedSurface": 38400,
                        "percentLdmUsd": 22,
                        "percentVolumeUsd": 16.8,
                        "totalLoadsWeight": 100
                    },
                    "COG": {
                        "x": 100,
                        "y": 100,
                        "z": 66.66
                    },
                    "loads": [
                        {
                            "placement": [
                                {
                                    "width": 80,
                                    "height": 100,
                                    "length": 60,
                                    "diameter": 0,
                                    "position": {
                                        "x": 120,
                                        "y": 0,
                                        "z": 120
                                    },
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 1,
                                        "z": 1
                                    }
                                },
                                {
                                    "width": 80,
                                    "height": 100,
                                    "length": 60,
                                    "diameter": 0,
                                    "position": {
                                        "x": 0,
                                        "y": 0,
                                        "z": 160
                                    },
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 1,
                                        "z": 1
                                    }
                                }
                            ],
                            "id": 2,
                            "name": "1/2 palety Euro",
                            "quantity": 2,
                            "width": 60,
                            "height": 100,
                            "length": 80,
                            "diameter": null,
                            "loadType": 0,
                            "weight": 0,
                            "allowToRotate": null,
                            "stacking": false,
                            "priority": null
                        },
                        {
                            "placement": [
                                {
                                    "width": 80,
                                    "height": 100,
                                    "length": 120,
                                    "diameter": 0,
                                    "position": {
                                        "x": 120,
                                        "y": 0,
                                        "z": 0
                                    },
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 2,
                                        "z": 1
                                    }
                                },
                                {
                                    "position": {
                                        "x": 0,
                                        "y": 0,
                                        "z": 0
                                    },
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 2,
                                        "z": 1
                                    }
                                },
                                {
                                    "position": {
                                        "x": 0,
                                        "y": 0,
                                        "z": 80
                                    },
                                    "loadsPerAxis": {
                                        "x": 1,
                                        "y": 2,
                                        "z": 1
                                    }
                                }
                            ],
                            "id": 1,
                            "name": "load 1",
                            "quantity": 6,
                            "width": 120,
                            "height": 100,
                            "length": 80,
                            "diameter": 0,
                            "loadType": 0,
                            "weight": 100,
                            "allowToRotate": null,
                            "stacking": true,
                            "priority": null
                        }
                    ]
                }
            ]
        }
    ],
    "notFittedLoads": [],
    "options": {
        "allowOverweight": false,
        "unit": "cm",
        "keepLoadsTogether": false,
        "loadingOrder": "default",
        "keepGroupsInGivenSpaces": false,
        "isMagnetOn": false,
        "newAlgorithm": false,
        "arrangeOptimally": false,
        "multiStops": false
    },
    "name": "Projekt z dnia: 2026-03-12 - Podmiana_OK",
    "note": null,
    "_links": [
        {
            "rel": "preview",
            "href": "https://app.goodloading.com/session?id=3263583f-c8f3-415a-8de8-d03df45d35cc&pref=opt-names-opened"
        }
    ]
}