OptionalapiInterface for input to list charged history records. This interface allows for precise filtering of charged history records based on various criteria, making it ideal for reporting and data retrieval needs.
Properties:
carrierId: Unique identifier for the carrier. Specifies which carrier's charged history is being queried.initialAndNumber: Optional string for filtering records by an initial and number, such as a vehicle or equipment identifier.equipmentIds: Optional array of equipment IDs to further narrow the search to specific pieces of equipment.showDeletion: Boolean flag to determine whether deleted records should be included in the results. Useful for auditing or historical data checks.timestampBefore: Optional date to filter records that were entered before this date.timestampAfter: Optional date to filter records that were entered after this date.The following JSON example demonstrates how to structure a request to retrieve charged history for carrier 1234, for specific equipment, excluding deleted records, within a specified date range:
{
"carrierId": 1234,
"initialAndNumber": "XYZ 123456",
"equipmentIds": [456, 789],
"showDeletion": false,
"timestampBefore": "2022-04-25T14:30:00Z",
"timestampAfter": "2022-04-20T00:00:00Z"
}
This request fetches charged history records for carrier 1234, specifically targeting equipment IDs 456 and 789, excluding any deleted records, and narrowing the time frame to between April 20, 2022, and April 25, 2022.
The listInventory API retrieves a list of inventory items based on the specified input criteria. Below are examples of how to construct the JSON input for various use cases.
Retrieve a list of inventory items with basic pagination using pageSize and pageNextToken.
{
"pageSize": 20,
"pageNextToken": "abc123"
}
Retrieve inventory items filtered by loadStatus and aarCarType.
{
"loadStatus": "LOAD",
"aarCarType": "GONDOLA"
}
Retrieve inventory items associated with specific station, track, and tag IDs.
{
"station": 1001,
"track": 2001,
"tag": 3001
}
Retrieve inventory items for a specific shipper and consignee.
{
"shipper": "Company A",
"consignee": "Company B"
}
Retrieve inventory items using various equipment-related filters.
{
"equipmentId": 12345,
"equipmentIds": [12345, 67890],
"equipmentInitial": "ABC",
"equipmentInitialsAndNumbers": [["ABC", 123], ["DEF", 456]],
"equipmentNumber": 789
}
Retrieve inventory items using a combination of different filters for a more complex query.
{
"pageSize": 50,
"loadStatus": "EMPTY",
"station": 1002,
"track": 2002,
"shipper": "Company C",
"carrierId": 555,
"equipmentIds": [98765, 43210],
"equipmentInitial": "XYZ"
}
Pagination: Use pageSize, pageNextToken, and pagePrevToken to navigate through the paginated results.
Filtering: Combine different filter criteria to narrow down the list of inventory items returned by the API.
IDs: Ensure the IDs used for station, track, and tag correspond to those obtained from the listStationTracks API.
These examples illustrate various ways to use the listInventory API to meet different use cases, allowing you to customize your queries based on specific requirements.
The listStationTracks API retrieves a list of station tracks and their associated groupings for a specific carrier. Below are examples of how to construct the JSON input for various use cases.
Retrieve station tracks associated with a specific carrierId.
{
"carrierId": 1234
}
carrierId is required to filter the results to only include station tracks associated with that carrier.groupingIndex 0 represents the first position of a track.
{
"items":[
{
"equipment":{
"resourceId":1
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":197460
}
},
"to":{
"grouping":{
"resourceId":197461
},
"groupingIndex":0
}
}
},
{
"equipment":{
"resourceId":2
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":197460
}
},
"to":{
"grouping":{
"resourceId":197461
},
"groupingIndex":0
}
}
}
],
"carrierId":"111111",
"jobName":"MOVE TO FRONT",
"updateTime":"2021-02-16T12:49:43-06:00"
}
groupingIndex -1 represents the last position of a track.
{
"items":[
{
"equipment":{
"resourceId":1
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":197460
}
},
"to":{
"grouping":{
"resourceId":197461
},
"groupingIndex":-1
}
}
},
{
"equipment":{
"resourceId":2
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":197460
}
},
"to":{
"grouping":{
"resourceId":197461
},
"groupingIndex":-1
}
}
}
],
"carrierId":"111111",
"jobName":"MOVE TO BACK",
"updateTime":"2021-02-16T12:49:43-06:00"
}
Let's say there are 10 cars on the track, then groupingIndex 5 represents the mid-position of a track.
{
"items":[
{
"equipment":{
"resourceId":1
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":197460
}
},
"to":{
"grouping":{
"resourceId":197461
},
"groupingIndex":5
}
}
}
],
"carrierId":"111111",
"jobName":"MOVE TO MIDDLE",
"updateTime":"2021-02-16T12:49:43-06:00"
}
Resequencing a track is as simple as moving all equipment on the track and put them back to the track with the new order.
Assuming:
{
"items":[
{
"equipment":{
"resourceId":2
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":4
}
},
"to":{
"grouping":{
"resourceId":4
},
"groupingIndex":0
}
}
},
{
"equipment":{
"resourceId":3
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":4
}
},
"to":{
"grouping":{
"resourceId":4
},
"groupingIndex":0
}
}
},
{
"equipment":{
"resourceId":1
},
"locationUpdate":{
"from":{
"grouping":{
"resourceId":4
}
},
"to":{
"grouping":{
"resourceId":4
},
"groupingIndex":0
}
}
}
],
"carrierId":"111111",
"jobName":"RESEQUENCE",
"updateTime":"2021-02-16T12:49:43-06:00"
}
Existing spots can be gathered from listStationTracks API. The spot attribute of a track
will be populated if the track has spots. In the case where spots are not yet created for a track,
those spots can simply created with the switch request, and they will be created on
the fly as equipment get requested. Those spots will then get stored as part of the track attributes
and can be re-used later.
{
"switchRequests":[
{
"equipmentId":1,
"trackId":2,
"spot": "AD2",
"requestType": "PL"
}
],
"carrierId":"111111"
}
Groupings can be created on the fly if they don't exist yet. They will be attached to the equipment.
{
"carrierId":1,
"details":[
{
"initialAndNumber":"HUEH 862431",
"netWeightTons":2000.0,
"grossWeightTons":3000.0,
"comments": "very nice",
"groupings":[
{
"type":"bin",
"name":"bin 0"
},
{
"type":"ash type",
"name":"ash type 0"
}
]
},
{
"initialAndNumber":"YHZT 582774",
"netWeightTons":2000.0,
"grossWeightTons":3000.0,
"groupings":[
{
"type":"bin",
"name":"bin 1"
},
{
"type":"ash type",
"name":"ash type 1"
}
]
}
],
"trackName":"Jacob Flores",
"waybillTemplateId":11
}
Interface for input to bulk edit charged history. This interface is designed to facilitate multiple edit operations (either create or delete charged history records) in a single API request. It's especially useful for operations that require changes to multiple records simultaneously, ensuring efficiency and consistency in data management.
Properties:
carrierId: Unique identifier for the carrier. Specifies the carrier for which the charged history is being edited.dryrun: Boolean indicating whether the edit operations should be simulated (true) or actually executed (false). This is useful for testing the impact of changes before fully committing them.actions: Array of actions to be performed. Each action is either a deletion or a creation of a charged history item.DeleteChargedHistoryInstance: Specifies a delete operation with an ID of the history item to be deleted.CreateChargedHistoryInstance: Specifies a create operation with necessary details such as equipment ID, charge group ID, and timestamp.Sample request payload
The following JSON example illustrates a bulk edit request to process both deletion and creation of charged history records:
This example demonstrates a dry run (not actually executed) for deleting a history item with ID 789 and creating a new history item for equipment 456 with charge group ID 123 at a specified timestamp. The
chargeGroupIdhelps in categorizing the type of charge, such as "Placard x1", "Placard x2", etc.