Możliwość aktualizacji w przeglądarce web, projektu utworzonego w API
Wprowadzenie
Standardową ścieżka postępowania odnosnie wykorzystywania serwisu Goodloading, jest:
- utworzenie Zapytania (Request) – Przykład: Request
- przetworzenie go przez serwis
- otrzymanie Response, czyli odpowiedzi z serwisu z informacją o zalecanym rozłożeniu ładunków w żądanej przestrzeni (-ach) ładunkowej (-ych) – Przykład: Response_ver.1
- wynik przetwarzania można otrzymać również w postaci wizualizacji – Przykład: Wizualizacja Respons ver. 1
Może się jednak okazać, że użytkownik chciałby wprowadzić lekką zmianę w wynikach przetwarzania algorytmu, wówczas ma możliwość:
- skopiowania identyfikator projektu ze zwróconego Response do aplikacji webowej Pobranie identyfikatora projektu z Response
- wprowadzenia w projekcie żądanych zmian z poziomu aplikacji webowej Wprowadzenie zmian do projektu
- pobrania najnowszej wersji projektu Pobranie najnowszej wersji projektu
- sprawdzenia zmian w Response_ver.2
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_ver.1
Parametry Response, zgodnie z opisem w 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"
}
]
}
Wizualizacja Response ver. 1


Wprowadzenie zmian do projektu
1. Pobranie identyfikatora projektu z Response
"href": "https://app.goodloading.com/session?id=cdaa9650-1fed-46a0-98df-b68654818c08&pref=opt-names-opened"
2. Otwarcie projektu w aplikacji webowej.
3. Wprowadzenie zmian w aplikacji
Dodanie 2 nowych ładunków.

4. Zapisanie nowej wersji projektu ze zmianami


Pobranie najnowszej wersji projektu
1. Pobranie identyfikatora projektu zmienionego w aplikacji webowej

2. Odwołanie do serwisu Goodloading https://api.goodloading.com/api/external/calculation//result?id=
3. Wstawienie do odwołania, pobranego identyfikatora zmienionego projektu 3263583f-c8f3-415a-8de8-d03df45d35cc&pref=opt-names-opened

Response_ver.2
W pobranym Response, zostały uwzględnione 2 dodane w aplikacji ładunki
{
"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"
}
]
}