BNSF
- Provider Information:
Id |
bnsf |
Type |
terminal |
Trace Type |
API |
Credentials |
Envase based, uses certificate and certificate key |
Limits |
|
Status |
completed |
Doc Status |
draft |
Doc Version |
1 |
- URLs:
Type |
URL |
Environment |
---|---|---|
Request |
DEV/STG/PRD |
- Sites:
Name |
Site Id |
Description |
---|---|---|
name |
ern |
the description |
Query Containers Request
Query containers using the request by adding the access token from the previous request in the headers as following.
POST https://https://api.bnsf.com:6443/v3/unit-details
{
"intermodalUnits":[
{
"equipmentInitial": "{4 chars from the start of container number}",
"equipmentNumber": "{6 chars from the end from container number}"
}
]
}
Note
Container number splits into 2 parts of 4 and 6 chars and used in the payload
Responses
The success response for all the events is similar
{
"intermodalUnits": [
{
"equipmentInitial": "MEDU",
"equipmentNumber": "226588",
"originStation333": "OAKINTGAT",
"originStationStateCode": "CA",
"destinationStation333": "ALLIANCE",
"destinationStateCode": "TX",
"equipmentLotRowSpotTierStatusName": "Not Stacked",
"derivedEquipmentStatusName": "Not in BNSF Inventory",
"shipper633": "MEDITESHICOU",
"carKindCode": "KG1",
"loadEmptyChassisCode": "L",
"equipmentLengthFeet": "20",
"equipmentOutsideHeightFeet": "08",
"equipmentOutsideHeightInches": "06",
"equipmentGrossScaleWeightPounds": "50291",
"shipmentNetScaleWeightPounds": "45291",
"fullWaybillIndicator": "Y"
}
]
}
Query Outgated Containers Request
Query outgated information about specific containers using the request by adding the access token from the previous request in the headers as following.
POST https://https://api.bnsf.com:6443/v1/j1-receipts
{
"unitList": [
"SEKU582192",
"MSDU873627"
],
"endDate": "2023-08-17",
"startDate": "2023-08-10",
"j1ReceiptData": true,
"j1ReceiptPdf": false
}
Note
endDate number should represent today date and startDate should represent 7 days before today date
Response
{
"j1Details": [{
"unitInitial": "TTBN",
"unitNumber": "200004",
"j1Receipt": {
"unitInitial": "TTBN",
"unitNumber": "200004",
"attachedUnit": {
"unitInitial": "TJPZ",
"unitNumber": "491216",
"hazmatIndicator": false,
"badOrderIndicator": false,
"fullBilledIndicator": false
},
"station333": "STLOUIS",
"stationStateCode": "MO",
"destinationStation333": "STLOUIS",
"destinationStateCode": "MO",
"eventCode": "OG",
"eventDate": "2023-08-09",
"eventTime": "12:22:00",
"truckCarrierScac": "FGMC",
"shipper633": "CMACGMAMELLC",
"carKindCarTypeCode": "K",
"loadEmptyChassisCode": "L",
"lengthFeet": "40",
"grossWeightPounds": "57196",
"hazmatIndicator": false,
"badOrderIndicator": false,
"fullBilledIndicator": false,
"ingateSealNumber": "R0285156S",
"releaseNumber": "9447F6",
"loadSheetTofcWeightPounds": "64696",
"loadSheetCofcWeightPounds": "57196",
"tofcCofcCode": "C",
"trueKingPinIndicator": 36,
"axleLengthInches": "096",
"stopOrderDescription": "Stg Due 08/10/23 DAYS 1-2/$150 DAYS 3+/$225",
"equipmentControlCode": "I",
"driverLicenseNumber": "A137017001",
"tractorLicensePlateNumber": "105",
"destinationReleasedCustomer633": "CMACGMAMELLC",
"railControlledCode": "N",
"patron633": "CMA CGM (AME",
"patronName": "BNSF RAILWAY COMPANY",
"intermodalUnitCertificationDate": "2023-07-25",
"commodityDescription": "FAK",
"shipmentLadingWeightPounds": "49096",
"agsDefectFoundIndicator": "N",
"truckNumber": "928",
"carInitial": "BNSF",
"carNumber": "270553",
"platformCode": "A",
"platformPositionCode": "1",
"intermodalEquipmentProviderDOTNumber": "1521807"
}
}]
}
- Data Mapping:
Property |
Source Property |
Description |
---|---|---|
container_number |
equipmentInitial + equipmentNumber |
The container number. |
description |
empty string |
|
loaded |
loadEmptyChassisCode |
Represents if container is loaded or empty |
steamshipBL |
empty string |
|
pickup_number |
empty string |
|
carrier.type |
empty string |
|
carrier.steamshipLine |
empty string |
|
carrier.vessel |
empty string |
|
carrier.voyage |
empty string |
|
destination.type |
empty string |
|
destination.site_id |
destinationStateCode |
Destination state code |
destination.name |
destinationStation333 |
Destination station name |
event[n].code |
One of the following values:
|
|
event[n].date |
Date and time when this event was stored and it is
value is always set to the current date time.
|
|
event[n]. location.site_id |
equipmentLotRowSpotTierStatusName |
The location site id |
event[n]. location.name |
EquipmentLotLocationName +
equipmentLotRowLocationName +
equipmentLotRowSpotLocationName
|
Name of the location |
event[n].data.eta event[n].data.eta |
EstimatedEquipmentUnloadDatetime |
Date of the ETA event. Filled if the
event_code = ‘eta’
|
event[n].data.outgated |
eventDate, EventTime |
Outgated event date. Filled if the
event_code = ‘OG’
|
event[n].data.grounded |
EstimatedEquipmentUnloadDatetime |
Grounded event date. Filled if the
event_code = ‘grounded’
|
event[n].data.arrived |
EstimatedEquipmentUnloadDatetime |
Arrival event date. Filled if the
event_code = ‘arrived’
|
event[n].data.released |
EstimatedEquipmentUnloadDatetime |
Release event date. Filled if the
event_code = ‘released’
|
event[n].data.hold_type |
Contstant value ‘customs’ |
Internal Server Error Response
The server encountered an unexpected condition which prevented it from fulfilling the request. This is always a problem on the server side.
{
"errors": [
{
"timestamp": "2021-10-22T11:42:49.17Z",
"internalErrorId": "ib_customer_api_500",
"httpStatusCode": 500,
"message": "There was an internal error processing the request.",
"messageLabel": "Internal Server Error"
}
]
}
Bad Request Response
The request could not be understood by the server due to incorrect syntax.
{
"errors": [
{
"timestamp": "2021-10-22T11:51:10.699Z",
"internalErrorId": "ib_customer_api_400",
"httpStatusCode": 400,
"message": "Please submit a list of valid units",
"messageLabel": "Bad Request"
}
]
}
NotFound Response
The server cannot find the requested resource (URI). That is, the address of the endpoint in your request does not exist. Please consult the documentation.
Method Not Allowed Response
The request HTTP method is known by the server but has been disabled and cannot be used for that resource. For example, you may be using GET when POST is required. Please consult the documentation.
Too Many Requests Response
Bnsf Api has some limits, described above
Gateway Timeout Error Response
The server is acting as a gateway and cannot get a response in time for a request. Wait about one minute then try again
Todo
Was not able to get the response for NotFound, Method Not Allowed, Too many Requests and Gateway Timeout Error