Using Infor Nexus (AppXpress)
To use the CubeMaster API, you need an API key (TokenID) for authentication. Here's how to get started:
TokenID (e.g., abc123xyz789). Copy this key and store it securely, as it will be used in the HTTP headers of your API requests.Note: Keep your TokenID confidential to prevent unauthorized access.
A RESTful API (Representational State Transfer) is a way for software applications to communicate over the internet using standard HTTP methods like GET, POST, PUT, and DELETE. The CubeMaster API is RESTful, meaning it uses these methods to interact with resources (e.g., creating a load).
https://api.cubemaster.net/loads).TokenID).In this guide, you’ll use a POST request to send cargo and container details to CubeMaster and receive a load plan in response.
Infor Nexus can pull order or shipment data stored in your customer's legacy database to prepare the API request. This data includes cargo dimensions, weights, and quantities.
Name, Length, Width, Height, Weight, and Qty from tables like Orders or Shipments.Cargoes array structure and save the configuration.For example, an order for "ITEM001" with 16 units can be transformed into the API’s required JSON format (see Step 5).
The CubeMaster API requires authentication using a TokenID in the request headers. Here’s how to configure it in Infor Nexus:
TokenIDabc123xyz789 (replace abc123xyz789 with your actual TokenID).https://api.cubemaster.net/loads.Use Infor Nexus to construct and send the POST request to https://api.cubemaster.net/loads with the cargo and container data.
https://api.cubemaster.net/loads.{
"Title": "New Mixed Truck Load",
"Description": "Hello Web API",
"Cargoes": [
{
"Name": "ITEM001",
"Length": 72,
"Width": 30,
"Height": 75,
"Weight": 1002.45,
"OrientationsAllowed": "OrientationsAll",
"TurnAllowedOnFloor": false,
"Qty": 16,
"ColorKnownName": "Brown"
},
{
"Name": "ITEM002",
"Length": 27.31,
"Width": 37.5,
"Height": 76.67,
"Weight": 521.45,
"OrientationsAllowed": "OrientationsAll",
"TurnAllowedOnFloor": false,
"Qty": 28,
"ColorKnownName": "Aqua"
},
{
"Name": "SKU0005",
"Length": 27.31,
"Width": 9.5,
"Height": 75.67,
"Weight": 501.45,
"OrientationsAllowed": "OrientationsAll",
"TurnAllowedOnFloor": true,
"Qty": 24,
"ColorKnownName": "Beige"
},
{
"Name": "SKU0005",
"Qty": 23
},
{
"Name": "SKU0008",
"Qty": 34
}
],
"Containers": [
{
"VehicleType": "Dry",
"Name": "53FT-Intermodal",
"Length": 630,
"Width": 98,
"Height": 106,
"ColorKnownName": "Blue"
}
],
"Rules": {
"IsWeightLimited": true,
"IsSequenceUsed": false,
"FillDirection": "FrontToRear",
"CalculationType": "MixLoad"
}
}
Click Send Request to submit the data to CubeMaster.
After sending the request, CubeMaster will respond with a JSON object containing the load plan. Infor Nexus can process this response for further use.
status field to confirm success ("succeed"). If it’s not successful, review the message and calculationError for issues (e.g., "InvalidCargoSize").loadSummary (e.g., cargoesLoaded, volumeUtilization) and filledContainers for visualization or reporting.graphics.images.path3DDiagram) into Infor Nexus’s Shipment Planning module.Here’s the sample response JSON:
{
"status": "succeed",
"message": "Engine created. 5 cargoes. 1 empty containers. Calculation started. Calculation ended. The load built successfully. The load saved to the cloud database.",
"calculationError": "InvalidCargoSize",
"document": {
"title": "New Mixed Truck Load",
"description": "Hello Web API",
"isShared": true,
"isAutoSaved": true,
"isPending": false,
"calculationTimeInSeconds": 0.6152743,
"processId": "",
"batchId": "",
"createdBy": "CHANG@LOGEN.CO.KR",
"createdAt": "2023-02-11T01:17:01.7392204+09:00",
"updatedAt": "0001-01-01T00:00:00"
},
"loadSummary": {
"cargoesLoaded": 68,
"piecesLoaded": 68,
"cargoesLeft": 0,
"piecesLeft": 57,
"unitloadsLoaded": 0,
"volumeLoaded": 5261723.4606,
"weightLoaded": 42674.59999999999,
"priceLoaded": 0,
"containersLoaded": 1
},
"filledContainers": [
{
"name": "#1 53FT-Intermodal",
"sequence": 1,
"loadSummary": {
"cargoesLoaded": 68,
"piecesLoaded": 68,
"unitloadsLoaded": 0,
"volumeLoaded": 5261723.4606,
"volumeUtilization": 80.39990374424703,
"vollumeUtilizationToLoadHeight": 81.03441853085657,
"floorLoaded": 57090.75,
"floorUtilization": 92.46963070942662,
"weightLoaded": 42674.59999999999,
"weightTotal": 42674.59999999999,
"weightUtilization": 0,
"dimWeight": 39424.33734939759,
"priceLoaded": 0,
"pricetUtilization": 0,
"cargoesPerLayer": 14,
"layersPerUnitload": 0
},
"actualSize": {
"length": 630,
"width": 98,
"height": 106
},
"loadSize": {
"length": 625.6499999999999,
"width": 97.5,
"height": 105.17
},
"graphics": {
"images": {
"path3DDiagram": "https://api.cubemaster.net/runtimes/b28413ca_51ed_44c9_b92e_13147363fd61.PNG",
"pathComposite": "https://api.cubemaster.net/runtimes/7eb09974_2f1d_41bc_9371_2002658dce07.PNG"
}
}
}
]
}
Infor Nexus provides tools to monitor and troubleshoot API interactions with CubeMaster.
calculationError: "InvalidCargoSize"), use the Debug Console to inspect the request JSON and headers. Adjust cargo dimensions or quantities as needed.This ensures smooth integration and quick resolution of issues.