Download OpenAPI specification:Download
The NMFTA has partnered with leaders across the transportation industry to deliver a digitized method of transferring data between parties. By developing open-source API standards, the NMFTA and its partners will open the door to a more efficient method of data transfer, which today is still accomplished through a variety of more rudimentary processes. Digital API standards will reduce costs to onboard new business partners, improve visibility to shipment information, allow for real time notification on shipment changes, and drive out waste across the industry by eliminating manual processes. API standards will empower technological development, particularly when it comes to process automation.
The Bill of Lading (BOL) is a crucial document that communicates the details and expectations for a specific freight shipment. It is a legally binding document issued by the Carrier to the Shipper that defines the shipment (type, quantity, origin, etc.), and is the basis of the business transaction between a Shipper and a Carrier. The current BOL process consists of a physical document transported between parties that is frequently lost, stolen, or delayed in being documented for all parties to review. This council will create an electronic Bill of Lading API standard that will allow for a more efficient and streamlined BOL process that will reduce or eliminate some of the risks associated with the current BOL process.
Because the BOL sets the expectations for a shipment, it serves as the foundation for processes later in the shipment lifecycle. Similarly, the eBOL defined by the Digital Council will provide the foundation for the other APIs that will be defined to handle other business processes. An eBOL will act as a digital twin of a physical BOL document, containing the same crucial shipment information and carrying the same importance.
The eBOL API will allow a Shipper to more easily share the official details of a shipment, reducing opportunities for misunderstanding, human error, and theft. With existing BOL processes, particularly for a LTL shipment, a Shipper does not have visibility to the PRO number or shipment status until Pickup occurs. With the eBOL API, the Shipper will receive the PRO number pre-pickup, and in conjunction with other standard APIs, will be able to receive pre-pickup visibility on their loads.
Additionally, current processes leave open the possibility for theft when bad actors manipulate physical BOLs to hide evidence of theft, and makes it difficult for Shippers to prove otherwise. An electronic BOL process will reduce these opportunities and give Shippers peace of mind.
A Shipper will initiate the eBOL process by sending the details of their shipment to a Carrier using the standard API format. They will receive back from the Carrier a completed BOL and shipping label. The response will also include a unique shipment identifier (PRO in the case of an LTL shipment) that can be used to reference the shipment in future interactions with the Carrier, including tracking update requests.
The eBOL API will be especially beneficial to the Carrier community by outlining the standard communication protocol for sharing BOL information, greatly simplifying the connectivity required to do business with a large number of Shippers, customers, and third parties. Among other things this will improve billing accuracy, reduce opportunity for manual errors, and allow Carriers to provide better service to customers.
A Carrier will receive details of a shipment via the eBOL API from the Shipper, store the information in their system, and return the official BOL back to the Shipper. They will also return a shipping label that the Shipper can print and attach to their shipment. As part of this, they will also return a unique load identifier (in the case of an LTL shipment, it will be the PRO number) back to the Shipper that can be used to reference their load going forward.
The eBOL API will allow third parties of all kinds to receive and send the necessary shipment information to ensure a seamless flow through the life cycle of a shipment. Due to the nature of 3rd parties' business and having to interact with multiple parties in the transportation industry, 3rd parties stand much to gain by simplification of their business processes, which the eBOL will enable.
In the LTL industry, the BOL is a particularly valuable document due to the inherent complexities of an LTL shipment. Not only does an LTL BOL contain general shipment information (such as origin, destination, billing info), but it also contains very detailed information on the freight being shipped, down to the commodity information of each individual line item. Because of this, any eBOL solution for an LTL shipment must be very detailed, while still allowing for significant variations from shipment to shipment.
The NMFTA LTL Digital Council has already defined and released standards for eBOL in the LTL industry. Its usage is being adopted by Shippers, Carriers, and 3PLs, and is being put to use to drive efficiency and automation for LTL shipments.
The BOL for a Full Truckload shipment serves the same purpose and contains similar information to that of an LTL shipment. The main difference between a FTL and LTL is the level of detail is usually less for a FTL shipment. A FTL BOL may not include a PRO number, NMFC Codes, Classification, and often will not include pallet counts and reliable dimensions. The NMFTA FTL Digital Council will be coordinating with their LTL Council counterparts to look to find an opportunity for a single, combined eBOL standard that meets the needs of both the LTL and FTL use cases. The synergy between the two will help drive adoption throughout the transportation industry, where many organizations are involved in both FTL and LTL transportation.
The Product Requirements Document (PRD) for this API can be found here.
As a Shipper/3rd Party, I want to Create/Update/Delete an Electronic Bill of Lading and send shipment information for a particular shipment to a Carrier.
As a Carrier, I want to respond to the Shipper/3rd Party who created the electronic Bill of Lading and either accept or reject, as well as provide a unique shipment identifier associated with the shipment.
required | object |
| version required | string Indicates which minor version of the Digital LTL Council Bill of Lading spec you are consuming Valid values: 2.0.0, 2.0.1, 2.1.0 |
object | |
Array of objects include if you want notifications of shipment movements by text message or email | |
object | |
required | object |
required | object |
object | |
object | |
required | object |
required | object |
required | object |
object |
{- "bol": {
- "requestedPickupDate": "2022-11-20T00:00:00.000",
- "function": "Create",
- "isTest": true,
- "requestorRole": "Third Party",
- "specialInstructions": "Gate code 123 to enter complex"
}, - "version": "2.1.0",
- "images": {
- "includeBol": true,
- "includeShippingLabels": true,
- "shippingLabels": {
- "format": "Avery",
- "quantity": 5,
- "position": 2
}, - "email": {
- "includeBol": true,
- "includeLabels": true,
- "addresses": [
- "dispatch@shipper.com"
]
}
}, - "notifications": [
- {
- "phoneNumber": "8881234567",
- "email": "dispatch@consignee.com"
}
], - "referenceNumbers": {
- "pro": "123456-7",
- "quoteId": "E556724",
- "shipmentId": "SID9743985",
- "masterBol": "MBL98472587",
- "trailerId": "string",
- "manifestId": "string",
- "bol": [
- "BL19498432",
- "BL99744565"
], - "po": [
- {
- "number": "554238",
- "pieces": 5,
- "weight": 150,
- "weightUnit": "Pounds",
- "palletized": true,
- "additionalShipperInfo": "Freight must always stay upright"
}
], - "additionalReferences": [
- {
- "name": "Customer Reference Id",
- "value": "CRID3452-01"
}
]
}, - "payment": {
- "terms": "Prepaid"
}, - "commodities": {
- "lineItemLayout": "Nested",
- "handlingUnits": [
- {
- "count": 2,
- "type": "SKD",
- "tareWeight": 5,
- "weight": 1500,
- "weightUnit": "Pounds",
- "length": 48,
- "width": 48,
- "height": 48,
- "dimensionsUnit": "Inches",
- "stackable": false,
- "lineItems": [
- {
- "description": "Small frameless mirrors",
- "weight": 1500,
- "weightUnit": "Pounds",
- "pieces": 3,
- "packagingType": "BOX",
- "classification": "55",
- "nmfc": "86900",
- "nmfcSub": "3",
- "hazardous": true,
- "hazardousDescription": "UN 1090, Acetone, 3, PG II",
- "hazardousDetails": {
- "weight": 45,
- "weightUnit": "Pounds",
- "class": "3",
- "unnaNumber": "UN1234",
- "propername": "Anhydrous ammonia",
- "technicalName": "NH3",
- "packingGroup": "2",
- "contractNumber": "54321"
}
}
]
}
]
}, - "shipmentTotals": {
- "grossWeight": 2000,
- "netWeight": 1993,
- "weightUnit": "Pounds",
- "handlingUnits": 2,
- "linearLength": 96,
- "dimensionsUnit": "Inches",
- "cube": 128,
- "cubeDimensionsUnit": "Feet",
- "declaredValue": 7,
- "currency": "USD"
}, - "accessorials": {
- "codes": [
- "IDL",
- "LFTP"
], - "hazardousDetails": {
- "emergencyContact": {
- "name": "Manny Delgato",
- "phone": "7775558899"
}
}, - "cod": {
- "amount": "56.71",
- "currency": "USD",
- "terms": "Collect",
- "customerCheckAcceptable": true,
- "remitTo": {
- "name": "Dog Beds by Stella",
- "address1": "121 S. Cliffwood Ave.",
- "address2": "Suite 55",
- "city": "Los Angeles",
- "stateProvince": "CA",
- "postalCode": "90001",
- "country": "USA"
}
}, - "sortAndSegregateDetails": {
- "pieces": 25
}, - "fullValueCoverageDetails": {
- "monetaryValue": "100.00",
- "currency": "USD"
}, - "markDetails": {
- "pieces": 25
}, - "limitedAccessType": {
- "origin": "Church",
- "destination": "Secure"
}, - "timeCriticalDetails": {
- "type": "Delivery Window",
- "date": {
- "start": "2021-05-20T00:00:00.000",
- "end": "2021-05-22T00:00:00.000"
}
}, - "appointmentDetails": {
- "pickup": {
- "start": "2021-05-20T00:00:00.000",
- "end": "2021-05-22T00:00:00.000"
}, - "delivery": {
- "start": "2021-05-20T00:00:00.000",
- "end": "2021-05-22T00:00:00.000"
}
}
}, - "origin": {
- "account": "12345",
- "locationId": "808",
- "name": "Closets Closets Closets",
- "address1": "12 S. Closets Place",
- "address2": "ste 3",
- "city": "Los Angeles",
- "stateProvince": "CA",
- "postalCode": "90001",
- "country": "USA",
- "contact": {
- "phone": "5552226666",
- "phoneExt": "99",
- "name": "Jay Pritchett",
- "email": "jpritchett@closets.com"
}
}, - "destination": {
- "account": "12345",
- "locationId": "808",
- "name": "Closets Closets Closets",
- "address1": "12 S. Closets Place",
- "address2": "ste 3",
- "city": "Los Angeles",
- "stateProvince": "CA",
- "postalCode": "90001",
- "country": "USA",
- "contact": {
- "phone": "5552226666",
- "phoneExt": "99",
- "name": "Jay Pritchett",
- "email": "jpritchett@closets.com"
}
}, - "billTo": {
- "account": "12345",
- "locationId": "808",
- "name": "Closets Closets Closets",
- "address1": "12 S. Closets Place",
- "address2": "ste 3",
- "city": "Los Angeles",
- "stateProvince": "CA",
- "postalCode": "90001",
- "country": "USA",
- "contact": {
- "phone": "5552226666",
- "phoneExt": "99",
- "name": "Jay Pritchett",
- "email": "jpritchett@closets.com"
}
}, - "customsBroker": {
- "type": "Import",
- "name": "Closets Closets Closets",
- "address1": "12 S. Closets Place",
- "address2": "ste 3",
- "city": "Los Angeles",
- "stateProvince": "CA",
- "postalCode": "90001",
- "country": "USA",
- "contact": {
- "phone": "5552226666",
- "phoneExt": "99",
- "name": "Jay Pritchett",
- "email": "jpritchett@closets.com"
}
}
}{- "version": "2.1.0",
- "transactionDate": "2022-11-20T00:00:00.000",
- "referenceNumbers": {
- "pro": "PRO1234",
- "shipmentConfirmationNumber": "SCN1234"
}, - "scac": "AAAB",
- "images": {
- "bol": "JVBERi0xLjcKCjQgMCBvYmoKPDwKL0JpdHNQZXJDb21wb25lbnQgOAovQ29sb3JTcGFjZSAvRGV2a......",
- "shippingLabels": "JVBERi0xLjcKCjQgMCBvYmoKPDwKL0JpdHNQZXJDb21wb25lbnQgOAovQ29sb3JTcGFjZSAvRGV2a......"
}, - "termsAndConditions": "Terms and Conditions text available for download at www.myurl-nmfta.org",
- "messageStatus": {
- "status": "PASS",
- "code": "10000000",
- "message": "Transaction was successful.",
- "resolution": "",
- "information": [ ]
}, - "resultStatusCodes": [
- null
]
}