Introduction
Our APIs are a fast and easy way to integrate our shipping functionality into your business applications and websites. Each API provides access to Estes functionality, allowing you to bypass the traditional HTML forms process and make shipping with Estes a more convenient solution.
To access the full list of our legacy web services, see https://www.estes-express.com/resources/digital-services/api/index.
Our new available REST APIs are:
Images API
- Request each document type independently (no preliminary check call required as in previous version)
- Access to numerous additional document types
- Pulling directly from Estes’ imaging system
- Base64 and URL options available
Shipment Tracking API
- updated expanded statuses and exception codes
- dynamic estimated delivery date
- ETA and stops away when out for delivery
- each response includes full movement history along with current status
- appointment history
- GPS coordinates
Pickup API
- new REST versions to create, update and delete Pickup Requests
- new REST Pickup Status Visibility – GET Pickup
- updated expanded statuses and exception codes
- ETA and stops away when out for pickup
- GPS coordinates
How to Use This Developer Portal
- Review the steps in Accessing Our APIs to connect to our APIs if you are a TMS Customer or an Individual/Direct Customer.
- Review the detailed methods, parameters, responses and error messages of our APIs in this documentation.
- See the Data Definitions for detailed information on parameters entered and data returned by our API objects.
- Need help understanding an API? See our Examples.
Accessing Our APIs
Step 1: In order to use our APIs, you need to pass a MyEstes username and password. If you do not have a MyEstes profile, you can sign up for one here. If you are a Transportation Management System (TMS), you need to retrieve the MyEstes credentials from each Estes customer you serve–those credentials should be stored as they are required for each call.
Step 2: You will need to generate an API key for the production environment and another API key for the test environment. This only needs to be done once, you may store the API key, and the single key will be used for all new REST APIs.
Step 3: The API Key is used when authenticating your identity and for troubleshooting customer requests. You pass the API Key and the appropriate MyEstes username and password which returns a Bearer Token. See Using API Keys To Authenticate.
Step 4: Once you have a Bearer Token, you pass the bearer token and your API key in the call. See Using the Bearer Token with an API.
API Customers
Obtain Client ID and Secret
Provide the following information in an email to WebSupport@estes-express.com:
- Developer Name
- Developer Email
- Developer Title
- Developer Company
You will receive two emails with a client ID and client secret, one for test environment and another for production environment.
Important: Client ID and Secrets are NOT API Keys.
Create Your API Key
With Postman or a similar API tool, pass your client ID and client secret using Basic Authentication using the following method:
Production example only:
curl -X POST 'https://cloudapi.estes-express.com/v1/api-key'
-H 'accept: application/json'
-u ClientID:ClientSecret
ZThkNmM4Y2MtMDY3ZC00ZmY4LTgxYzMtNWJmNjAxNjUzYjYwOjUyZmRmYzA3LTIxODItNjU0Zi0xNjNmLTVmMGY5YTYyMWQ3Mg'
Test example only:
curl -X POST 'https://uat-cloudapi.estes-express.com/v1/api-key'
-H 'accept: application/json'
-u ClientID:ClientSecret
ZThkNmM4Y2MtMDY3ZC00ZmY4LTgxYzMtNWJmNjAxNjUzYjYwOjUyZmRmYzA3LTIxODItNjU0Zi0xNjNmLTVmMGY5YTYyMWQ3Mg'
In the response, you will receive an API Key, your Client ID and a new Client Secret.
Important: This new Client Secret replaces the secret sent in the previous e-mail.
Store your API Key, Client ID and new Client Secret so you may remember it.
Retrieve Your API Key
If you lost or forget the API Key information, use the GET method for /apikey to retrieve it.
Do not forget to use your Client ID and new Client Secret.
Production example only:
curl -X GET 'https://cloudapi.estes-express.com/v1/api-key'
-H 'accept: application/json'
-u ClientID:ClientSecret
ZThkNmM4Y2MtMDY3ZC00ZmY4LTgxYzMtNWJmNjAxNjUzYjYwOjUyZmRmYzA3LTIxODItNjU0Zi0xNjNmLTVmMGY5YTYyMWQ3Mg'
Test example only:
curl -X GET 'https://uat-cloudapi.estes-express.com/v1/api-key'
-H 'accept: application/json'
-u ClientID:ClientSecret
ZThkNmM4Y2MtMDY3ZC00ZmY4LTgxYzMtNWJmNjAxNjUzYjYwOjUyZmRmYzA3LTIxODItNjU0Zi0xNjNmLTVmMGY5YTYyMWQ3Mg'
Delete Your API Key
To delete your API Key, use the DELETE method for /apikey to retrieve it.
Do not forget to use your Client ID and new Client Secret.
Production example only:
curl -X DELETE 'https://cloudapi.estes-express.com/v1/api-key'
-H 'accept: application/json'
-u ClientID:ClientSecret
ZThkNmM4Y2MtMDY3ZC00ZmY4LTgxYzMtNWJmNjAxNjUzYjYwOjUyZmRmYzA3LTIxODItNjU0Zi0xNjNmLTVmMGY5YTYyMWQ3Mg'
Test example only:
curl -X DELETE 'https://uat-cloudapi.estes-express.com/v1/api-key'
-H 'accept: application/json'
-u ClientID:ClientSecret
ZThkNmM4Y2MtMDY3ZC00ZmY4LTgxYzMtNWJmNjAxNjUzYjYwOjUyZmRmYzA3LTIxODItNjU0Zi0xNjNmLTVmMGY5YTYyMWQ3Mg'
Using API Keys To Authenticate
Request Bearer Token
When using our APIs and Web Services, you must pass the API Key using the /authenticate method to request a bearer token.
For all customers, MyEstes credentials (MyEstes username and password) must be passed in the header.
Production environment example:
curl -X POST "https://cloudapi.estes-express.com/authenticate" -H "accept: application/json" -H "apikey: 0101010101"
Test environment example:
curl -X POST "https://uat-cloudapi.estes-express.com/authenticate" -H "accept: application/json" -H "apikey: 0101010101"
The response JSON will contain the bearer token. (See JSON example on right.)
Bearer Token JSON Sample
{
"access_token":
"eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3dC1zaWduLWNlcnQifQ.eyJzY29wZSI6IiIsImNsaWVudF9pZCI6ImtvbmciLCJpc3MiOiJodHRwczovL2ZlZGVyYXRpb24tcWEuZ3NrLmNvbSIsImV4cCI6MTUzOTk3MzQyM30.IRvv0m8QKuOSDbhnlYx11bdvjk3PJBgz0cV7cSO4c1Phxfo4dRvLBvKx3TBnlaHwNYx4k3BcPEP5yDeflEVGVAhM0Is1potXWJfTQsH4PECZHEJNa7eoJFMKo9FKOutLoPg5avY2V0Oq0EU1wO8cTfrC2hNyJxfMMAYtK7pfB0u_a3ZyWLLWH9LN6xztYM86eh7QavHyns3__-uGy0O-imFDJ3Oi0SdKA1XYQDnqNhvN8J9omOVVMxEBuRdTeldM0lbeLxpWmXybQotIbMFGRVFUrwSIU6OxPA3wHyuL6F7p53C2ZsJXP463Sx2Y-9SILvVsuFtKWiUjbUn2--141g",
"token_type": "Bearer",
"expires_in": 35999
}
Using the Bearer Token with an API
The bearer token is an expiring security value string which permits access to an API’s method. You must include the bearer token with your API Key when making API requests. For TMS providers, the bearer token can only be used with one set of MyEstes credentials. Do not pass the bearer token among other customer credentials.
Example: Using Your API Key and Bearer Token with Shipment Tracking API
The Authorization parameter {TOKEN_HERE} is the bearer token (the access_token string)returned after requesting authentication.
The apikey parameter is your API key {YOUR_API_KEY}.
Production environment example:
curl -X GET “https://cloudapi.estes-express.com/v1/shipments/history?pro=0000000000" -H "accept: application/json" -H "Authorization: Bearer {TOKEN_HERE}" -H "apikey: {YOUR_API_KEY}"
Test environment example:
curl -X GET "https://uat-cloudapi.estes-express.com/v1/shipments/history?pro=0000000000" -H "accept: application/json" -H "Authorization: Bearer {TOKEN_HERE}" -H "apikey: {YOUR_API_KEY}"
For additional help, see the Examples.
(API keys are not used with Estes legacy web services. To review older web services, see https://www.estes-express.com/resources/digital-services/api/index.)
API Key
POST /v1/api-key
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Create API key for an API consumer.
Input the supplied ClientID and ClientSecret as Username & Password for basic auth.
Note when an API key is generated, a new ClientSecret will be provided for future requests to retrieve or delete the key.
Responses
Code | Description |
---|---|
201 | API key has been generated. Response will contain the API Key, the Client Id, and a new Client Secret for future use. |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"apiKey": {
"type": "string"
},
"apiClientId": {
"type": "string"
},
"apiClientSecret": {
"type": "string"
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "string"
}
}
}
}
}
}
}
Code | Description |
---|---|
401 | Not authenticated. Data object will be empty. |
Code | Description |
---|---|
409 | Conflict. API key is already assigned. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
GET /v1/api-key
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Get the API key of API consumer
Responses
Code | Description |
---|---|
200 | Return API key. |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"apiKey": {
"type": "string"
},
"apiClientId": {
"type": "string"
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "string"
}
}
}
}
}
}
}
Code | Description |
---|---|
400 | Bad request. API key has not been generated yet. Data object will be empty. |
Code | Description |
---|---|
401 | Not authenticated. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
DELETE /v1/api-key
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Delete API key of consumer
Responses
Code | Description |
---|---|
204 | API key deleted. |
Code | Description |
---|---|
400 | Bad request. API key has not been generated yet. Data object will be empty. |
Code | Description |
---|---|
401 | Not authenticated. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
Authentication
POST /authenticate
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Provides a bearer token for an authenticated user that is required to access other APIs. The credentials of the user should be passed in the request using an Authorization header of the Basic authentication type.
Responses
Code | Description |
---|---|
200 | OK (Successfully authenticated.) |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"token": {
"type": "string"
}
}
}
}
}
Code | Description |
---|---|
401 | Authentication information is missing or invalid. |
Code | Description |
---|---|
500 | Internal server error. |
Code | Description |
---|---|
503 | Service unavailable. |
BOL
POST /v1/bol
TEST SERVER: https://uat-cloudapi.estes-express.com
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Create a new eBOL request. The request should include an Authorization header with a valid bearer token corresponding to the user associated with the BOL request.
This complies with version 2.0.1 of the DLC BOL standard.
Request
Complete details to create a new eBOL request.
Request Schema
{
"application/json": {
"schema": {
"type": "object",
"required": [
"bol",
"version",
"commodities",
"payment",
"request",
"transit",
"origin",
"destination",
"billTo"
],
"properties": {
"bol": {
"type": "object",
"required": [
"function",
"requestedPickupDate",
"isTest",
"requestorRole"
],
"properties": {
"requestedPickupDate": {
"type": "string",
"example": "2022-11-20T00:00:00.000Z",
"description": "Required\n\nThe intended Ship Date. NOTE this does not serve as a Pickup Request\n\nValid Formats:\n* YYYY-MM-DDTHH:mm:ss.sss (ISO 8601)\n"
},
"function": {
"type": "string",
"example": "Create",
"description": "Required\n\nThe intent for the submitted request. Create is used for the initial creation\n\nValid Values:\n* Create\n"
},
"isTest": {
"type": "boolean",
"example": true,
"description": "Required\nIndicates whether or not the submitted request is intended to be a test or not."
},
"requestorRole": {
"type": "string",
"example": "Shipper",
"description": "Required \n\nIdentifies the party making the request.\n\nValid Values: \n* Shipper\n* Consignee\n* Third Party\n"
},
"specialInstructions": {
"type": "string",
"maximum": 500,
"example": "Gate code 123 to enter complex",
"description": "Optional\n\nSpecial delivery instructions that need to be followed for the shipment's delivery and will appear on the BOL.\n"
}
}
},
"version": {
"type": "string",
"example": "v2.0.1",
"description": "Required\n\nIndicates which minor version of the Digital LTL Council Bill of Lading spec you are consuming\n\nValid values (not case sensitive): \n * v2.0\n * v2.0.1\n"
},
"images": {
"type": "object",
"properties": {
"includeBol": {
"type": "boolean",
"example": true,
"description": "Optional\n\nIndicates whether or not you want Base 64 encoded image of the Bill Of Lading PDF returned in the response. \n\nDefault is False.\n"
},
"includeShippingLabels": {
"type": "boolean",
"example": true,
"description": "Optional\n\nIndicates whether or not you want Base 64 encoded image of the shipping labels PDF returned in the response. \n\nDefault is False.\n"
},
"shippingLabels": {
"type": "object",
"properties": {
"format": {
"type": "string",
"example": "Avery",
"description": "Conditionally Required\n\nSpecifies the printer format type for the labels. \n\nRequired when images.includeShippingLabels is true. \n\nValid Values:\n * Avery2 - 8.5 x 5\n * Avery4 - 3.5 x 5\n * Avery - 3-1/3 x 4 (6 labels per sheet)\n * Letter - Standard letter sheet\n * Zebra - 4 x 6 (1 label per sheet)\n"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"example": 5,
"description": "Conditionally Required\n\nSpecifies the quantity of labels desired. \n\nRequired when images.includeShippingLabels is True.\n"
},
"position": {
"type": "integer",
"example": 2,
"description": "Conditionally Required\n\nSpecifies the starting position for the shipping labels.\n\nRequired when images.shippingLabel is Avery. \n\nValid Values:\n* 1, 2, 3, 4, 5 or 6\n"
}
}
},
"email": {
"type": "object",
"properties": {
"includeBol": {
"type": "boolean",
"example": true,
"description": "Optional\n\nUsed to request the bill of lading PDF to be sent to one or more email addresses\n"
},
"includeLabels": {
"type": "boolean",
"example": true,
"description": "Optional\n\nUsed to request the shipping labels PDF to be sent to one or more email addresses\n"
},
"addresses": {
"type": "array",
"description": "Conditionally Required\n\nProvide one or more email addresses to receive the bol and/or shipping labels PDF\n\nRequired when images.email.includeLabels AND/OR images.email.includeBol is true\n",
"items": {
"type": "string"
},
"example": [
"dispatch@shipper.com",
"dispatch23@shipper.com"
]
}
}
}
}
},
"notifications": {
"type": "array",
"description": "include if you want notifications of shipment movements by text message or email",
"items": {
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"example": 8881234567,
"description": "Unsupported DLC field - Do not use\n"
},
"email": {
"type": "string",
"example": "dispatch@consignee.com",
"description": "Optional\n\nEmail address of contact for updates about shipment movements\n"
}
}
}
},
"referenceNumbers": {
"type": "object",
"properties": {
"pro": {
"type": "string",
"minimum": 10,
"maximum": 10,
"example": 11234567,
"description": "Optional\n\nShipper's pre-assigned PRO number for Estes. If not provided, one will be auto assigned by Estes.\n"
},
"quoteID": {
"type": "string",
"minimum": 7,
"maximum": 7,
"example": "E556724",
"description": "Optional\n\nEstes Rate Quote ID\n"
},
"shipmentId": {
"type": "string",
"maximum": 25,
"example": "SID9743985",
"description": "Optional\n\nShipment Id (SID) number for the shipment.\n"
},
"masterBol": {
"type": "string",
"maximum": 25,
"example": "BL1234287",
"description": "Optional\n\nMaster Bill of Lading number for the shipment.\n"
},
"bol": {
"type": "array",
"items": {
"type": "string",
"minimum": 1,
"maximum": 25
},
"example": [
"BL19498432",
"BL99744565"
],
"description": "Optional \n\nBill of Lading number(s) for the shipment.\n"
},
"po": {
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string",
"minimum": 1,
"maximum": 25,
"example": 554238,
"description": "Optional \n\nThe Purchase Order number(s).\n"
},
"pieces": {
"type": "integer",
"minimum": 1,
"maximum": 99999,
"example": 5,
"description": "Optional\n\nTotal pieces associated with the Purchase Order\n"
},
"weight": {
"type": "integer",
"maximum": 99999,
"example": 150,
"description": "Optional\n\nTotal weight associated with the Purchase Order\n"
},
"palletized": {
"type": "boolean",
"example": true,
"description": "Optional\n\n Indicates whether or not the pieces associated with the purchase order are on a pallet/slip/skid or not.\n"
},
"additionalShipperInfo": {
"type": "string",
"maximum": 100,
"example": "Freight must always stay upright",
"description": "Optional\n\nAdditional information from shipper per line item\n"
}
}
}
},
"additionalReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maximum": 25,
"example": "Customer Reference Id",
"description": "Optional\n\nIndicates the name of the reference number being provided.\n"
},
"value": {
"type": "string",
"maximum": 25,
"example": "CRID3452-01",
"description": "Optional\n\nAdditional reference number that correlates to the additional reference name.\n"
}
}
}
}
}
},
"payment": {
"type": "object",
"required": [
"terms"
],
"properties": {
"terms": {
"type": "string",
"example": "Prepaid",
"description": "Required\n\nFreight Billing Terms for the shipment\n\nValid values:\n* Prepaid\n* Collect\n* Third Party\n"
}
}
},
"commodities": {
"type": "object",
"required": [
"lineItemLayout",
"handlingUnits",
"lineItems"
],
"properties": {
"lineItemLayout": {
"type": "string",
"example": "Nested",
"description": "Required\n\nNested: Indicates if the Handling Unit/Line Item relationship is known. If this value is used, each Line Item associated to a Handling Unit is conditionally required to be passed within that Handling Unit's object. \n\nStacked: Layout type not accepted - \n- Indicates if the Handling Unit/Line Item relationship is not known. If this value is used, Line Items may be passed within any Handling Unit object.\n\nvalid value: Nested\n"
},
"handlingUnits": {
"type": "array",
"items": {
"type": "object",
"required": [
"count",
"type",
"weight",
"length",
"width",
"height"
],
"properties": {
"count": {
"type": "integer",
"maximum": 99999,
"example": 2,
"description": "Required\n\nNumber of handling units being described\n"
},
"type": {
"type": "string",
"maximum": 10,
"example": "SKD",
"description": "Required\n\nType of the handling units being described \nValid values:\n* BAG - Bag\n* BAL - Bale\n* BBL - Barrel\n* BSK - Basket\n* BIN - Bin\n* BOX - Box\n* BXT - Bucket\n* BCH - Bunch\n* BDL - Bundle\n* CAB - Cabinet\n* CAG - Cage\n* CAN - Can\n* CBY - Carboy\n* CAR - Carrier\n* CTN - Carton\n* CAS - Case\n* CSK - Cask\n* CHS - Chest\n* COL - Coil\n* CNT - Container\n* COR - Cores\n* CRT - Crate\n* CYL - Cylinder\n* DRM - Drum\n* DBK - Dry Bulk\n* ENV - Envelope\n* FIR - Firkin\n* GLD - Gaylord\n* HPR - Hamper\n* HGH - Hogshead\n* HRB - On Hanger or Rack in Boxes\n* INT - Intermediate Bulk Container\n* JAR - Jar\n* JCN - Jerrycan\n* KEG - Keg\n* KIT - Kit\n* LIF - Lifts\n* LBK - Liquid Bulk\n* LSE - Loose\n* MXD - Mixed\n* OTH - Other\n* PKG - Package\n* PCK - Packed\n* PAL - Pail\n* PAT - Pallet\n* PCS - Piece\n* PLN - Pipe Line\n* RCK - Rack\n* REL - Reel\n* ROL - Roll\n* SKD - Skid\n* SLP - Slip Sheet\n* SPL - Spool\n* TNK - Tank\n* TBN - Tote\n* TRY - Tray\n* TRU - Truckload\n* TRK - Trunk\n* TUB - Tub\n* TBE - Tube\n* UNT - Unit\n* VPK - Van Pack\n* WRP - Wrapped\n"
},
"tareWeight": {
"type": "integer",
"maximum": 99999,
"example": 5,
"description": "Optional\n\nWeight of the skids/pallets/slips used in the shipment.\n"
},
"weight": {
"type": "integer",
"maximum": 99999,
"example": 1500,
"description": "Required\n\nTotal weight for the specified handling units.\n"
},
"weightUnit": {
"type": "string",
"example": "Pounds",
"description": "Required\n\nThe unit of measurement for weight. Defaults to Pounds.\n\nValid Values: Pounds\n"
},
"length": {
"type": "integer",
"maximum": 999,
"example": 48,
"description": "Required\n\nThe length (in inches) of the handling units being described.\n"
},
"width": {
"type": "integer",
"maximum": 999,
"example": 48,
"description": "Required\n\nThe width of the handling units being described.\n"
},
"height": {
"type": "integer",
"maximum": 999,
"example": 48,
"description": "Required\n\nThe height of the handling units being described.\n"
},
"dimensionsUnit": {
"type": "string",
"example": "Inches",
"description": "Required\n\nThe unit of measurement for dimensions. Defaults to Inches.\n\nValid Values: Inches\n"
},
"stackable": {
"type": "boolean",
"example": false,
"description": "Optional\n\nIdentifies whether or not the freight being described can be stacked on one another.\n\nDefault is false.\n"
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"weight",
"classification",
"description",
"hazardous",
"stackable",
"pieces",
"packagingType"
],
"properties": {
"description": {
"type": "string",
"maximum": 35,
"example": "Small frameless mirrors",
"description": "Required\n\nDescription of the freight being described.\n"
},
"weight": {
"type": "integer",
"minimum": 1,
"maximum": 99999,
"example": 1500,
"description": "Required\n\nTotal weight for the specified lineItem.\n"
},
"weightUnit": {
"type": "string",
"example": "Pounds",
"description": "Required\n\nThe unit of measurement for weight. Defaults to Pounds.\n\nValid Values: Pounds\n"
},
"pieces": {
"type": "integer",
"maximum": 99999,
"example": 3,
"description": "Required\n\nNumber of individual pieces for the line item being described.\n"
},
"packagingType": {
"type": "string",
"example": "BOX",
"description": "Required\n\nPackaging type for the individual pieces of the line item being described.\n\nValid values:\n* BAG - Bag\n* BAL - Bale\n* BBL - Barrel\n* BSK - Basket\n* BIN - Bin\n* BOX - Box\n* BXT - Bucket\n* BCH - Bunch\n* BDL - Bundle\n* CAB - Cabinet\n* CAG - Cage\n* CAN - Can\n* CBY - Carboy\n* CAR - Carrier\n* CTN - Carton\n* CAS - Case\n* CSK - Cask\n* CHS - Chest\n* COL - Coil\n* CNT - Container\n* COR - Cores\n* CRT - Crate\n* CYL - Cylinder\n* DRM - Drum\n* DBK - Dry Bulk\n* ENV - Envelope\n* FIR - Firkin\n* GLD - Gaylord\n* HPR - Hamper\n* HGH - Hogshead\n* HRB - On Hanger or Rack in Boxes\n* INT - Intermediate Bulk Container\n* JAR - Jar\n* JCN - Jerrycan\n* KEG - Keg\n* KIT - Kit\n* LIF - Lifts\n* LBK - Liquid Bulk\n* LSE - Loose\n* MXD - Mixed\n* OTH - Other\n* PKG - Package\n* PCK - Packed\n* PAL - Pail\n* PAT - Pallet\n* PCS - Piece\n* PLN - Pipe Line\n* RCK - Rack\n* REL - Reel\n* ROL - Roll\n* SKD - Skid\n* SLP - Slip Sheet\n* SPL - Spool\n* TNK - Tank\n* TBN - Tote\n* TRY - Tray\n* TRU - Truckload\n* TRK - Trunk\n* TUB - Tub\n* TBE - Tube\n* UNT - Unit\n* VPK - Van Pack\n* WRP - Wrapped\n"
},
"classification": {
"type": "string",
"example": 55,
"description": "Required \n\nClassification of the line item being described.\n\nValid values:\n* 50\n* 55\n* 60\n* 65\n* 70\n* 77.5\n* 85\n* 92.5\n* 100\n* 110\n* 125\n* 150\n* 175\n* 200\n* 250\n* 300\n* 400\n* 500\n* N/A - not applicable\n"
},
"nmfc": {
"type": "string",
"maximum": 6,
"example": 869006,
"description": "Optional\n\nNMFC code of the freight being described.\n"
},
"nmfcSub": {
"type": "string",
"maximum": 4,
"example": 1234,
"description": "Optional\n\nThe Sub value for the NMFC of the freight being described.\n"
},
"hazardous": {
"type": "boolean",
"example": true,
"description": "Required\n\nIdentifies whether or not the freight being described contains hazardous materials.\n"
},
"hazardousDescription": {
"type": "string",
"maximum": 1500,
"example": "UN 1090, Acetone, 3, PG II",
"description": "Conditionally required\n\nProvides a detailed description of the hazardous item.\n\nRequired when 'hazardous' = 'true'.\n"
},
"hazardousDetails": {
"type": "object",
"properties": {
"weight": {
"type": "integer",
"minimum": 1,
"maximum": 99999,
"example": 45,
"description": "Conditionally required\n\nTotal weight of hazardous material for one line item description.\n\nRequired if commodities.lineItems.hazardous = True\n"
},
"class": {
"type": "string",
"example": 3,
"description": "Conditionally required\n\nClass that the hazardous material is catogorized by.\n\nRequired if commodities.lineItems.hazardous = True\n"
},
"unnaNumber": {
"type": "string",
"maximum": 9,
"example": 1005,
"description": "Conditionally required\n\nIdentification Number corresponding to the Proper Shipping Name for the hazardous materials.\n\nRequired if commodities.lineItems.hazardous = True\n"
},
"propername": {
"type": "string",
"maximum": 512,
"example": "Anhydrous ammonia",
"description": "Conditionally required\n\nProper shipping name from 172.101 hazardous materials table\n\nRequired if commodities.lineItems.hazardous = True\n"
},
"technicalName": {
"type": "string",
"maximum": 512,
"example": "NH3",
"description": "Conditionally required\n\nTechnical name for the hazardous material if required by the 172.101 hazardous materials table\n\nRequrired if commodities.lineItems.hazardous = True and Hazard Symbols contains G\n"
},
"packingGroup": {
"type": "string",
"maximum": 8,
"example": 2,
"description": "Conditionally Required\n\nPacking Group number as required by the 172.101 hazardous materials table. Not all hazardous materials have a packing group.\n\nRequired if commodities.lineItems.hazardous = True and there is a value required based on the UNNA number\n"
},
"contractNumber": {
"type": "string",
"minimum": 1,
"maximum": 99,
"example": 54321,
"description": "Optional\n\nThe contract number with the hazardous materials contact\n\nRequired if commodities.lineItems.hazardous = True and there is a value required based on the UNNA number\n"
}
}
}
}
}
}
}
}
}
}
},
"shipmentTotals": {
"type": "object",
"properties": {
"grossWeight": {
"type": "integer",
"minimum": 1,
"maximum": 9999999,
"example": 2000,
"description": "Optional\n\nTotal weight of the entire shipment, including handling units (tare weight).\n"
},
"netWeight": {
"type": "integer",
"minimum": 1,
"maximum": 9999999,
"example": 1993,
"description": "Optional\n\nTotal weight of the entire shipment, not including handling units (tare weight).\n"
},
"weightUnit": {
"type": "string",
"example": "Pounds",
"description": "Optional\n\nThe unit of measurement for weight. Defaults to Pounds\n\nValid Values: Pounds\n"
},
"handlingUnits": {
"type": "integer",
"minimum": 1,
"maximum": 99999,
"example": 2,
"description": "Optional\n\nHandling unit count for the entire shipment\n"
},
"linearLength": {
"type": "integer",
"minimum": 1,
"maximum": 999,
"example": 96,
"description": "Optional\n\nLinear length for the entire shipment\n"
},
"dimensionsUnit": {
"type": "string",
"example": "Inches",
"description": "Optional\n\nThe unit of measurement for dimensions. Defaults to Inches \n\nValid Values: Inches\n"
},
"cube": {
"type": "integer",
"minimum": 1,
"example": 128,
"description": "Optional\n\nCubic volume of the entire shipment (total length X total width X total height).\n"
},
"cubeDimensionsUnit": {
"type": "string",
"example": "Feet",
"description": "Optional\n\nThe unit of measurement for cubic dimensions. Defaults to Feet\n\nValid Values: Feet\n"
},
"declaredValue": {
"type": "integer",
"example": 10000,
"description": "Not a value accepted by Estes\n\nTotal monetary value of the shipment (sometimes needed for cross-border moves).\n"
},
"currency": {
"type": "string",
"example": "USD",
"description": "Not a value accepted by Estes\n\nOptional attribute to indicate currency of declaredValue. Defaults to USD.\n\nValid values:\n* CAD\n* MXN\n* USD\n"
}
}
},
"accessorials": {
"type": "object",
"properties": {
"codes": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"IDL",
"LFTP"
],
"description": "An array to hold the list of Services and/or Special Handling Codes requested for the shipment\nValid values:\n\n* APTD - Appointment required at delivery\n\n* APTP - Appointment required at pickup NOT Accepted by Estes \n\n* COD - Collect on delivery (Not supported by Estes)\n\n* EXPD - Expedited Service NOT Accepted by Estes\n\n* FVC - Full value coverage\n\n* GMR1 - Estes Retail Guarantee\n\n* GROC - Grocery Warehouse Delay Fee\n\n* GTD_AM- Guaranteed service - by Morning\n\n* GTD_NOON- Guaranteed service - by Noon\n\n* GTD_PM- Guaranteed service - by End of Day\n\n* HAZ - Hazardous material\n\n* HDSIG - Residential Appt/Signature Delivery Required\n\n* IDL - Inside delivery\n\n* INBD - In bond shipment\n\n* IPU - Inside pickup\n\n* LFTD - Lift gate required at delivery\n\n* LFTP - Lift gate required at pickup\n\n* LTDAD - Limited access delivery\n\n* LTDAP - Limited access pickup\n\n* MARK - Marked or tagged\n\n* MNC - Must notify consignee\n\n* OVR - Over dimension/excessive length\n\n* PPD - Perishables (food)\n\n* PSC - Protective from cold\n\n* PSH - Protective from heat NOT Accepted for Estes\n\n* PSN - Poisonous material\n\n* REP - Residential pickup\n\n* RES - Residential delivery\n\n* SRT - Sort and segregate\n\n* SS - Single Shipment\n\n* TCS - Time Crititcal Service No Sooner No Later\n\n* ULFEE - Unloading Services Requested By Consignee\n\nThe following are no charge Special Handling Codes that may be added\n\n* CONSUM - Consummable\n\n* DSDD - Do Not Double Stack\n\n* ADP1 - Notify Contact in Special Instructions for Any Delivery Issues \n\n* DBDP - Do Not Break Down the Pallet\n\n* FRAG - Fragile - Handle with Care\n\n* PREACC - Added Accessorials Require Pre Approval\n\n* PSA - Packing Slip Attached\n\n* SKSW - Do Not Remove Shrink Wrap From Skid\n"
},
"hazardousDetails": {
"type": "object",
"description": "Required if accessorial codes list contains HAZ and/or if any commodity line item's hazardous flag is set to true.\n",
"properties": {
"emergencyContact": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minimum": 1,
"maximum": 100,
"example": "Manny Delgato",
"description": "Conditionally Required \n\nFull name of who should be contacted in the case of a hazardous materials-related issue.\n\n Required If commodities.lineItems [*].hazardous flag = True\n"
},
"phone": {
"type": "string",
"example": 7775558899,
"description": "Conditionally Required\n\nPhone number of who should be contacted in the case of a hazardous materials-related issue.\n\n Required If commodities.lineItems [*].hazardous flag = True \n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n"
}
}
}
}
},
"cod": {
"type": "object",
"example": null,
"description": "Not supported by Estes\n",
"properties": {
"amount": {
"type": "string",
"description": "Not supported by Estes\n"
},
"currency": {
"type": "string",
"description": "Not supported by Estes\n"
},
"terms": {
"type": "string",
"description": "Not supported by Estes\n"
},
"customerCheckAcceptable": {
"type": "boolean",
"description": "Not supported by Estes\n"
},
"remitTo": {
"type": "object",
"description": "Not supported by Estes\n",
"properties": {
"name": {
"type": "string",
"description": "Not supported by Estes\n"
},
"address1": {
"type": "string",
"description": "Not supported by Estes\n"
},
"address2": {
"type": "string",
"description": "Not supported by Estes\n"
},
"city": {
"type": "string",
"description": "Not supported by Estes\n"
},
"stateProvince": {
"type": "string",
"description": "Not supported by Estes\n"
},
"postalCode": {
"type": "string",
"description": "Not supported by Estes\n"
},
"country": {
"type": "string",
"description": "Not supported by Estes\n"
}
}
}
}
},
"sortAndSegregateDetails": {
"type": "object",
"description": "Required when accessorial code SRT is present in the accessorial.codes list.\n",
"properties": {
"pieces": {
"type": "integer",
"maximum": 99999,
"example": 25,
"description": "Conditionally Required\n\nNumber of pieces in a shipment to be sorted/segregated. Must equal total shipment pieces\n\n\nRequired when accessorial code SRT is present in the accessorial.codes list.\n"
}
}
},
"fullValueCoverageDetails": {
"type": "object",
"description": "Required when accessorial code FVC is present in the accessorial.codes list.\n",
"properties": {
"monetaryValue": {
"type": "string",
"maximum": 100000,
"description": "Conditionally Required\n\nValue of the cargo.\n\nRequired when accessorial code FVC is present in the accessorial.codes list. \n\n Valid Formats:\n* ##.## (2 decimal places only)\n",
"example": "100.00"
},
"currency": {
"type": "string",
"example": "USD",
"description": "Optionally Required\n\nThe attribute to indicate currency of monetaryValue. Defaults to USD.\n\nRequired when accessorial code FVC is present in the accessorial.codes list.\n\nValid values: USD\n"
}
}
},
"markDetails": {
"type": "object",
"description": "Required when accessorial code MARK is present in the accessorial.codes list.\n",
"properties": {
"pieces": {
"type": "integer",
"maximum": 99999,
"example": 25,
"description": "Conditionally Required\n\nNumber of pieces in a shipment requiring marking or tagging. Must equal total handling units\n\nRequired when accessorial code MARK is present in the accessorial.codes list.\n"
}
}
},
"limitedAccessType": {
"type": "object",
"description": "Required when accessorial code LTDAP or LTDAD is present in the accessorial.codes list.\n",
"properties": {
"origin": {
"type": "string",
"example": "Secure",
"description": "Optionally Required\n\nType of limited access location\n\nRequired when accessorial code LTDAD is present in the accessorial.codes list. \n\nValid Values:\n* Airport - Airport\n* Church - Church\n* Club - Country Club, Social Club\n* Construction - Construction Site\n* Fair - Fair, Carnival, Flea Market\n* Farm - Farm, Ranch, Vinyard, Orchard\n* Hotel - Hotel, Motel, Inn, Resteraunt\n* Mine - Mine, Mill\n* Other - Other\n* Park - Amusement Park, Camp, Marina\n* Port - Port\n* School - School, University, Library\n* Secure - Military, Prison, Power Plant, Utility\n* Storage - Self Storage Unit\n* Tradeshow -Tradeshow, Exhibition, Expo\n"
},
"destination": {
"type": "string",
"example": "Secure",
"description": "Optionally Required\n\nType of limited access location\n\nRequired when accessorial code LTDAD is present in the accessorial.codes list. \n\nValid Values:\n* Airport - Airport\n* Church - Church\n* Club - Country Club, Social Club\n* Construction - Construction Site\n* Fair - Fair, Carnival, Flea Market\n* Farm - Farm, Ranch, Vinyard, Orchard\n* Hotel - Hotel, Motel, Inn, Resteraunt\n* Mine - Mine, Mill\n* Other - Other\n* Park - Amusement Park, Camp, Marina\n* Port - Port\n* School - School, University, Library\n* Secure - Military, Prison, Power Plant, Utility\n* Storage - Self Storage Unit\n* Tradeshow -Tradeshow, Exhibition, Expo\n"
}
}
},
"timeCriticalDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"example": "Delivery Window",
"description": "Required for Estes Retail Guarantee or No Sooner No Later Service.\n\nReserved for Delivery on No Sooner/No Later in conjunction with a Time Critical Service.\n\nValid Value: \n* Deliver On Date - Freight can only be delivered on the specified start date.\n\n* Delivery Window - Freight can only be delivered between the specified start and end dates.\n"
},
"date": {
"type": "object",
"properties": {
"start": {
"type": "string",
"example": "2021-05-20T00:00:00.000Z",
"description": "Conditionally Required\n\nRequired when TCS is selected and No Sooner No Later or Estes Retail Guarantee Service is selected.\n\nThe start date (with or without time) the shipment is requested to be delivered.\n\nValid Formats:\n* YYYY-MM-DDTHH:mm:ss.sss (ISO 8601)\n"
},
"end": {
"type": "string",
"example": "2021-05-22T00:00:00.000Z",
"description": "Conditionally Required\n\nRequired when TCS is selected and No Sooner No Later or Estes Retail Guarantee Service is selected and Time Critical Details Type = Delivery Window.\n\nNote: If Time Critical Details Type is not Delivery Window, then any entered end date will be ignored. \n\nThe end date (with or without time) the shipment is requested to be delivered.\n"
}
}
}
}
},
"appointmentDetails": {
"type": "object",
"properties": {
"pickup": {
"type": "object",
"properties": {
"start": {
"type": "string",
"example": "2021-05-20T00:00:00.000Z",
"description": "Pick Up Appointments are not supported in the Estes BOL\n"
},
"end": {
"type": "string",
"example": "2021-05-22T00:00:00.000Z",
"description": "Pick Up Appointments are not supported in the Estes BOL\n"
}
}
},
"delivery": {
"type": "object",
"properties": {
"start": {
"type": "string",
"example": "2021-05-20T00:00:00.000Z",
"description": "Optional\n\nStarting appointment date (with or without time) for the day the shipment is requested to be delivered. Note that an appointment is not a Time Critical Guaranteed service\n\nValid Formats:\n* YYYY-MM-DDTHH:mm:ss.sss (ISO 8601)\n"
},
"end": {
"type": "string",
"example": "2021-05-22T00:00:00.000Z",
"description": "Optional\n\nEnding appointment date (with or without time) the shipment is requested to be delivered. Note that an appointment is not a Time Critical Guaranteed service\n\nValid Formats:\n* YYYY-MM-DDTHH:mm:ss.sss (ISO 8601)\n"
}
}
}
}
}
}
},
"origin": {
"type": "object",
"required": [
"name",
"address1",
"city",
"stateProvince",
"postalCode",
"country",
"contact"
],
"properties": {
"account": {
"type": "string",
"minimum": 7,
"maximum": 7,
"example": 12345,
"description": "Optional\n\nCompany’s Estes account number/id for the origin.\n"
},
"locationId": {
"type": "string",
"maximum": 25,
"example": "Store 808",
"description": "Optional\n\nCompany's location id for the origin\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Closets Closets Closets",
"description": "Required\n\nCompany name associated with the origin location.\n"
},
"address1": {
"type": "string",
"maximum": 100,
"example": "12 S. Closets Place",
"description": "Required\n\nPrimary Address line for the origin location\n"
},
"address2": {
"type": "string",
"maximum": 100,
"example": "ste 3",
"description": "Optional\n\nSecondary Address line for the origin location\n"
},
"city": {
"type": "string",
"maximum": 50,
"example": "Los Angeles",
"description": "Required\n\nCity Name for the origin location\n"
},
"stateProvince": {
"type": "string",
"example": "CA",
"maximum": 2,
"description": "Conditionally Required\n\nTwo letter state/province code for the state/province location.\n\nRequired if outer level outer level object provided\n\nValid values:\n* AL - Alabama\n* AK - Alaska\n* AZ - Arizona\n* AR - Arkansas\n* CA - California\n* CO - Colorado\n* CT - Connecticut\n* DC - District of Columbia\n* DE - Delaware\n* FL - Florida\n* GA - Georgia\n* HI - Hawaii\n* ID - Idaho\n* IL - Illinois\n* IN - Indiana\n* IA - Iowa\n* KS - Kansas\n* KY - Kentucky\n* LA - Louisiana\n* ME - Maine\n* MD - Maryland\n* MA - Massachusetts\n* MI - Michigan\n* MN - Minnesota\n* MS - Mississippi\n* MO - Missouri\n* MT - Montana\n* NE - Nebraska\n* NV - Nevada\n* NH - New Hampshire\n* NJ - New Jersey\n* NM - New Mexico\n* NY - New York\n* NC - North Carolina\n* ND - North Dakota\n* OH - Ohio\n* OK - Oklahoma\n* OR - Oregon\n* PA - Pennsylvania\n* PR - Puerto Rico\n* RI - Rhode Island\n* SC - South Carolina\n* SD - South Dakota\n* TN - Tennessee\n* TX - Texas\n* UT - Utah\n* VT - Vermont\n* VA - Virginia\n* WA - Washington\n* WV - West Virginia\n* WI - Wisconsin\n* WY - Wyoming\n* AB - Alberta\n* BC - British Columbia\n* MB - Manitoba\n* NB - New Brunswick\n* NL - Newfoundland and Labrador\n* NS - Nova Scotia\n* NT - Northwest Territories\n* NU - Nunavut\n* ON - Ontario\n* PE - Prince Edward Island\n* QC - Quebec\n* SK - Saskatchewan\n* YT - Yukon\n* CMX - Mexican Federal District \n* AGU - Aguascalientes\n* BCN - Baja California\n* BCS - Baja California Sur\n* CAM - Campeche\n* COA - Coahuila\n* COL - Colima\n* CHP - Chiapas\n* CHH - Chihuahua\n* DUR - Durango\n* GUA - Guanajuato\n* GRO - Guerrero\n* HID - Hidalgo\n* JAL - Jalisco\n* MEX - Mexico\n* MIC - Michoacan\n* MOR - Morelos\n* NAY - Nayarit\n* NLE - Nuevo Leon\n* OAX - Oaxaca\n* PUE - Puebla\n* QUE - Queretaro\n* ROO - Quintana Roo\n* SLP - San Luis Potosi\n* SIN - Sinaloa\n* SON - Sonora\n* TAB - Tabasco\n* TAM - Tamaulipas\n* TLA - Tlaxcala\n* VER - Veracruz\n* YUC - Yucatan\n* ZAC - Zacatecas\n"
},
"postalCode": {
"type": "string",
"maximum": 10,
"example": 90001,
"description": "Required \n\nThe 5-digit (or 6-characters for Canada) zip code for the origin location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n"
},
"country": {
"type": "string",
"example": "USA",
"description": "Conditionlly Required\n\nThree letter country code for the location.\n\nRequired if outer object provided\n\nValid values:\n* CAN - Canada\n* USA - United States\n* MEX - Mexico\n"
},
"contact": {
"type": "object",
"description": "Object containing contact details for the shipper.\n",
"required": [
"phone"
],
"properties": {
"phone": {
"type": "string",
"maximum": 10,
"example": 5552226666,
"description": "Required\n\nTen digit phone number, without country code and/or dashes, for the origin location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n"
},
"phoneExt": {
"type": "string",
"maximum": 10,
"example": 99,
"description": "Optional\n\nPhone extension for the origin location's contact person.\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Jay Pritchett",
"description": "Optional\n\nName of the origin location's contact person.\n"
},
"email": {
"type": "string",
"maximum": 255,
"example": "jpritchett@closets.com",
"description": "Optional\n\nEmail address of the origin location's contact person.\n"
}
}
}
}
},
"destination": {
"type": "object",
"required": [
"name",
"address1",
"city",
"stateProvince",
"postalCode",
"country",
"contact"
],
"properties": {
"account": {
"type": "string",
"minimum": 7,
"maximum": 7,
"example": 12345,
"description": "Optional\n\nCompany's Estes account number/id for the destination.\n"
},
"locationId": {
"type": "string",
"maximum": 25,
"example": "Store 808",
"description": "Optional\n\nCompany's location id for the destination\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Closets Closets Closets",
"description": "Optional\n\nCompany name associated with the destination location.\n"
},
"address1": {
"type": "string",
"maximum": 100,
"example": "12 S. Closets Place",
"description": "Required\n\nPrimary Address line for the destination location\n"
},
"address2": {
"type": "string",
"maximum": 100,
"example": "ste 3",
"description": "Optional\n\nSecondary Address line for the destination location\n"
},
"city": {
"type": "string",
"maximum": 50,
"example": "Los Angeles",
"description": "Required\n\nCity Name for the destination location\n"
},
"stateProvince": {
"type": "string",
"example": "CA",
"maximum": 2,
"description": "Conditionally Required\n\nTwo letter state/province code for the state/province location.\n\nRequired if outer level outer level object provided\n\nValid values:\n* AL - Alabama\n* AK - Alaska\n* AZ - Arizona\n* AR - Arkansas\n* CA - California\n* CO - Colorado\n* CT - Connecticut\n* DC - District of Columbia\n* DE - Delaware\n* FL - Florida\n* GA - Georgia\n* HI - Hawaii\n* ID - Idaho\n* IL - Illinois\n* IN - Indiana\n* IA - Iowa\n* KS - Kansas\n* KY - Kentucky\n* LA - Louisiana\n* ME - Maine\n* MD - Maryland\n* MA - Massachusetts\n* MI - Michigan\n* MN - Minnesota\n* MS - Mississippi\n* MO - Missouri\n* MT - Montana\n* NE - Nebraska\n* NV - Nevada\n* NH - New Hampshire\n* NJ - New Jersey\n* NM - New Mexico\n* NY - New York\n* NC - North Carolina\n* ND - North Dakota\n* OH - Ohio\n* OK - Oklahoma\n* OR - Oregon\n* PA - Pennsylvania\n* PR - Puerto Rico\n* RI - Rhode Island\n* SC - South Carolina\n* SD - South Dakota\n* TN - Tennessee\n* TX - Texas\n* UT - Utah\n* VT - Vermont\n* VA - Virginia\n* WA - Washington\n* WV - West Virginia\n* WI - Wisconsin\n* WY - Wyoming\n* AB - Alberta\n* BC - British Columbia\n* MB - Manitoba\n* NB - New Brunswick\n* NL - Newfoundland and Labrador\n* NS - Nova Scotia\n* NT - Northwest Territories\n* NU - Nunavut\n* ON - Ontario\n* PE - Prince Edward Island\n* QC - Quebec\n* SK - Saskatchewan\n* YT - Yukon\n* CMX - Mexican Federal District \n* AGU - Aguascalientes\n* BCN - Baja California\n* BCS - Baja California Sur\n* CAM - Campeche\n* COA - Coahuila\n* COL - Colima\n* CHP - Chiapas\n* CHH - Chihuahua\n* DUR - Durango\n* GUA - Guanajuato\n* GRO - Guerrero\n* HID - Hidalgo\n* JAL - Jalisco\n* MEX - Mexico\n* MIC - Michoacan\n* MOR - Morelos\n* NAY - Nayarit\n* NLE - Nuevo Leon\n* OAX - Oaxaca\n* PUE - Puebla\n* QUE - Queretaro\n* ROO - Quintana Roo\n* SLP - San Luis Potosi\n* SIN - Sinaloa\n* SON - Sonora\n* TAB - Tabasco\n* TAM - Tamaulipas\n* TLA - Tlaxcala\n* VER - Veracruz\n* YUC - Yucatan\n* ZAC - Zacatecas\n"
},
"postalCode": {
"type": "string",
"maximum": 10,
"example": 90001,
"description": "Optional\n\nThe 5-digit (or 6-characters for Canada) zip code for the destination location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n"
},
"country": {
"type": "string",
"example": "USA",
"description": "Conditionlly Required\n\nThree letter country code for the location.\n\nRequired if outer object provided\n\nValid values:\n* CAN - Canada\n* USA - United States\n* MEX - Mexico\n"
},
"contact": {
"type": "object",
"description": "Object containing contact details for the destination.\n",
"required": [
"phone"
],
"properties": {
"phone": {
"type": "string",
"maximum": 10,
"example": 5552226666,
"description": "Required\n\nTen digit phone number, without country code and/or dashes, for the destination location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n"
},
"phoneExt": {
"type": "string",
"maximum": 10,
"example": 99,
"description": "Optional\n\nPhone extension for the destination location's contact person.\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Jay Pritchett",
"description": "Optional\n\nName of the destination location's contact person.\n"
},
"email": {
"type": "string",
"maximum": 255,
"example": "jpritchett@closets.com",
"description": "Optional\n\nEmail address of the destination location's contact person.\n"
}
}
}
}
},
"billTo": {
"type": "object",
"required": [
"name",
"address1",
"city",
"stateProvince",
"postalCode",
"country",
"contact"
],
"properties": {
"account": {
"type": "string",
"minimum": 7,
"maximum": 7,
"example": 1234567,
"description": "Optional\n\nCompany's account number/id for the billTo.\n"
},
"locationId": {
"type": "string",
"maximum": 25,
"example": 808,
"description": "Optional\n\nCompany's location id for the billTo.\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Closets Closets Closets",
"description": "Required\n\nCompany name associated with the billTo location\n"
},
"address1": {
"type": "string",
"maximum": 100,
"example": "12 S. Closets Place",
"description": "Optional\n\nPrimary Address line for the billTo location\n"
},
"address2": {
"type": "string",
"maximum": 100,
"example": "ste 3",
"description": "Optional\n\nSecondary Address line for the billTo location\n"
},
"city": {
"type": "string",
"maximum": 50,
"example": "Los Angeles",
"description": "Required\n\nCity Name for the billTo location\n"
},
"stateProvince": {
"type": "string",
"example": "CA",
"maximum": 2,
"description": "Conditionally Required\n\nTwo letter state/province code for the state/province location.\n\nRequired if outer level outer level object provided\n\nValid values:\n* AL - Alabama\n* AK - Alaska\n* AZ - Arizona\n* AR - Arkansas\n* CA - California\n* CO - Colorado\n* CT - Connecticut\n* DC - District of Columbia\n* DE - Delaware\n* FL - Florida\n* GA - Georgia\n* HI - Hawaii\n* ID - Idaho\n* IL - Illinois\n* IN - Indiana\n* IA - Iowa\n* KS - Kansas\n* KY - Kentucky\n* LA - Louisiana\n* ME - Maine\n* MD - Maryland\n* MA - Massachusetts\n* MI - Michigan\n* MN - Minnesota\n* MS - Mississippi\n* MO - Missouri\n* MT - Montana\n* NE - Nebraska\n* NV - Nevada\n* NH - New Hampshire\n* NJ - New Jersey\n* NM - New Mexico\n* NY - New York\n* NC - North Carolina\n* ND - North Dakota\n* OH - Ohio\n* OK - Oklahoma\n* OR - Oregon\n* PA - Pennsylvania\n* PR - Puerto Rico\n* RI - Rhode Island\n* SC - South Carolina\n* SD - South Dakota\n* TN - Tennessee\n* TX - Texas\n* UT - Utah\n* VT - Vermont\n* VA - Virginia\n* WA - Washington\n* WV - West Virginia\n* WI - Wisconsin\n* WY - Wyoming\n* AB - Alberta\n* BC - British Columbia\n* MB - Manitoba\n* NB - New Brunswick\n* NL - Newfoundland and Labrador\n* NS - Nova Scotia\n* NT - Northwest Territories\n* NU - Nunavut\n* ON - Ontario\n* PE - Prince Edward Island\n* QC - Quebec\n* SK - Saskatchewan\n* YT - Yukon\n* CMX - Mexican Federal District \n* AGU - Aguascalientes\n* BCN - Baja California\n* BCS - Baja California Sur\n* CAM - Campeche\n* COA - Coahuila\n* COL - Colima\n* CHP - Chiapas\n* CHH - Chihuahua\n* DUR - Durango\n* GUA - Guanajuato\n* GRO - Guerrero\n* HID - Hidalgo\n* JAL - Jalisco\n* MEX - Mexico\n* MIC - Michoacan\n* MOR - Morelos\n* NAY - Nayarit\n* NLE - Nuevo Leon\n* OAX - Oaxaca\n* PUE - Puebla\n* QUE - Queretaro\n* ROO - Quintana Roo\n* SLP - San Luis Potosi\n* SIN - Sinaloa\n* SON - Sonora\n* TAB - Tabasco\n* TAM - Tamaulipas\n* TLA - Tlaxcala\n* VER - Veracruz\n* YUC - Yucatan\n* ZAC - Zacatecas\n"
},
"postalCode": {
"type": "string",
"maximum": 10,
"example": 90001,
"description": "Required\n\nThe 5-digit (or 6-characters for Canada) zip code for the billTo location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n"
},
"country": {
"type": "string",
"example": "USA",
"description": "Conditionlly Required\n\nThree letter country code for the location.\n\nRequired if outer object provided\n\nValid values:\n* CAN - Canada\n* USA - United States\n* MEX - Mexico\n"
},
"contact": {
"type": "object",
"description": "Object containing contact details for the billTo.\n",
"required": [
"phone"
],
"properties": {
"phone": {
"type": "string",
"maximum": 10,
"example": 5552226666,
"description": "Optional \n\nTen digit phone number, without country code and/or dashes, for the billTo location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n"
},
"phoneExt": {
"type": "string",
"maximum": 10,
"example": 99,
"description": "Optional\n\nPhone extension for the billTo location's contact person.\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Jay Pritchett",
"description": "Optional\n\nName of the billTo location's contact person.\n"
},
"email": {
"type": "string",
"maximum": 255,
"example": "jpritchett@closets.com",
"description": "Optional\nEmail address of the billTo location's contact person."
}
}
}
}
},
"customsBroker": {
"type": "object",
"properties": {
"type": {
"type": "string",
"example": "Import",
"description": "Optional\n\nUsed to identify a customs broker that is involved in a cross-border freight move.\n\nValid Values: Import or Export\n * Import: customs broker handling the destination-side of the cross-border freight move\n * Export: customs broker handling the origin-side of the cross-border freight move\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Closets Closets Closets",
"description": "Optional\n\nCompany name associated with the customsBroker location.\n"
},
"address1": {
"type": "string",
"maximum": 100,
"example": "12 S. Closets Place",
"description": "Optional\n\nPrimary Address line for the customsBroker location\n"
},
"address2": {
"type": "string",
"maximum": 100,
"example": "ste 3",
"description": "Optional\n\nSecondary Address line for the customsBroker location\n"
},
"city": {
"type": "string",
"maximum": 50,
"example": "Los Angeles",
"description": "Optional\n\nCity Name for the customsBroker location\n"
},
"stateProvince": {
"type": "string",
"example": "CA",
"maximum": 2,
"description": "Optional\n\nTwo letter state/province code for the state/province location.\n\nValid values:\n* AL - Alabama\n* AK - Alaska\n* AZ - Arizona\n* AR - Arkansas\n* CA - California\n* CO - Colorado\n* CT - Connecticut\n* DC - District of Columbia\n* DE - Delaware\n* FL - Florida\n* GA - Georgia\n* HI - Hawaii\n* ID - Idaho\n* IL - Illinois\n* IN - Indiana\n* IA - Iowa\n* KS - Kansas\n* KY - Kentucky\n* LA - Louisiana\n* ME - Maine\n* MD - Maryland\n* MA - Massachusetts\n* MI - Michigan\n* MN - Minnesota\n* MS - Mississippi\n* MO - Missouri\n* MT - Montana\n* NE - Nebraska\n* NV - Nevada\n* NH - New Hampshire\n* NJ - New Jersey\n* NM - New Mexico\n* NY - New York\n* NC - North Carolina\n* ND - North Dakota\n* OH - Ohio\n* OK - Oklahoma\n* OR - Oregon\n* PA - Pennsylvania\n* PR - Puerto Rico\n* RI - Rhode Island\n* SC - South Carolina\n* SD - South Dakota\n* TN - Tennessee\n* TX - Texas\n* UT - Utah\n* VT - Vermont\n* VA - Virginia\n* WA - Washington\n* WV - West Virginia\n* WI - Wisconsin\n* WY - Wyoming\n* AB - Alberta\n* BC - British Columbia\n* MB - Manitoba\n* NB - New Brunswick\n* NL - Newfoundland and Labrador\n* NS - Nova Scotia\n* NT - Northwest Territories\n* NU - Nunavut\n* ON - Ontario\n* PE - Prince Edward Island\n* QC - Quebec\n* SK - Saskatchewan\n* YT - Yukon\n* CMX - Mexican Federal District \n* AGU - Aguascalientes\n* BCN - Baja California\n* BCS - Baja California Sur\n* CAM - Campeche\n* COA - Coahuila\n* COL - Colima\n* CHP - Chiapas\n* CHH - Chihuahua\n* DUR - Durango\n* GUA - Guanajuato\n* GRO - Guerrero\n* HID - Hidalgo\n* JAL - Jalisco\n* MEX - Mexico\n* MIC - Michoacan\n* MOR - Morelos\n* NAY - Nayarit\n* NLE - Nuevo Leon\n* OAX - Oaxaca\n* PUE - Puebla\n* QUE - Queretaro\n* ROO - Quintana Roo\n* SLP - San Luis Potosi\n* SIN - Sinaloa\n* SON - Sonora\n* TAB - Tabasco\n* TAM - Tamaulipas\n* TLA - Tlaxcala\n* VER - Veracruz\n* YUC - Yucatan\n* ZAC - Zacatecas\n"
},
"postalCode": {
"type": "string",
"maximum": 10,
"example": 90001,
"description": "Optional\n\nThe 5-digit (or 6-characters for Canada) zip code ofor the customsBroker location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n"
},
"country": {
"type": "string",
"example": "USA",
"description": "Optional\n\nThree letter country code for the location.\n\nValid values:\n* CAN - Canada\n* USA - United States\n* MEX - Mexico\n"
},
"contact": {
"type": "object",
"description": "Object containing contact details for the customsBroker.\n",
"properties": {
"phone": {
"type": "string",
"maximum": 10,
"example": 5552226666,
"description": "Optional\n\nTen digit phone number, without country code and/or dashes, for the customsBroker location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n"
},
"phoneExt": {
"type": "string",
"maximum": 10,
"example": 99,
"description": "Optional\n\nPhone extension for the customsBroker location's contact person.\n"
},
"name": {
"type": "string",
"maximum": 50,
"example": "Jay Pritchett",
"description": "Optional\n\nName of the customsBroker location's contact person.\n"
},
"email": {
"type": "string",
"maximum": 255,
"example": "jpritchett@closets.com",
"description": "Optional \n\nEmail address of the customsBroker location's contact person.\n"
}
}
}
}
}
}
}
}
}
Responses
Code | Description |
---|---|
201 | Successful Creation |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"version": {
"type": "string",
"example": "v2.0.1",
"description": "Indicates which version of the Digital LTL Council Bill of Lading spec was returned\n"
},
"transactionDate": {
"type": "string",
"example": "2022-11-20T00:00:00.000Z",
"description": "The date associated with this electronic bill of lading transaction.\n"
},
"referenceNumbers": {
"type": "object",
"properties": {
"pro": {
"type": "string",
"example": "PRO1234",
"description": "Shipper's pre-assigned PRO number for the requested carrier. If one was not provided in the request, one will be auto assigned by the carrier.\n"
},
"shipmentConfirmationNumber": {
"type": "string",
"example": "SCN1234",
"description": "Number provided by the carrier to acknowledge they accepted the BOL.\n"
}
}
},
"images": {
"type": "object",
"properties": {
"bol": {
"type": "string",
"description": "Base 64 encoded PDF of the populated Bill Of Lading\n",
"example": "JVBERi0xLjcKCjQgMCBvYmoKPDwKL0JpdHNQZXJDb21wb25lbnQgOAovQ29sb3JTcGFjZSAvRGV2a......"
},
"shippingLabels": {
"type": "string",
"description": "Base 64 encoded PDF of the populated shipping labels\n",
"example": "JVBERi0xLjcKCjQgMCBvYmoKPDwKL0JpdHNQZXJDb21wb25lbnQgOAovQ29sb3JTcGFjZSAvRGV2a......"
}
}
},
"messageStatus": {
"type": "object",
"description": "Object containing message status details.\n",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the request. <br><br>\nPASS - Request is successful with no exceptions.<br>\nFAIL - Request is unsuccessful due to some exception.<br>\nWARNING - Request is successful with some exception.\n",
"example": "PASS"
},
"code": {
"type": "string",
"description": "Indicates response detail code.\n",
"example": "10000000"
},
"message": {
"type": "string",
"description": "Provides information pertaining to the response code.\n",
"example": "Transaction was successful."
},
"resolution": {
"type": "string",
"description": "Provides guidance pertaining to the response code.\n",
"example": "See message list"
},
"information": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "EBG0002"
},
"type": {
"type": "string",
"example": "W"
},
"message": {
"type": "string",
"example": "Invalid characters were removed."
}
}
}
}
}
}
}
}
}
}
Code | Description |
---|---|
400 | Missing or Invalid body params. |
Code | Description |
---|---|
401 | Not Authenticated. |
Code | Description |
---|---|
415 | Unsupported Media Type. Required Type: APPLICATION/JSON |
Code | Description |
---|---|
500 | Internal Server Error. |
Pickup
POST /v1/pickup-requests
TEST SERVER: https://uat-cloudapi.estes-express.com
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Create a new pickup request. The request should include an Authorization header with a valid bearer token corresponding to the user associated with the pickup request.
Request
Complete details to create a new pickup request.
Request Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"shipper": {
"properties": {
"shipperName": {
"type": "string"
},
"accountCode": {
"type": "string"
},
"shipperAddress": {
"required": [
"addressInfo"
],
"properties": {
"addressInfo": {
"properties": {
"addressLine1": {
"type": "string"
},
"addressLine2": {
"type": "string"
},
"city": {
"type": "string"
},
"stateProvince": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"postalCode4": {
"type": "string"
},
"countryAbbrev": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"shipperContacts": {
"properties": {
"shipperContact": {
"type": "array",
"items": {
"type": "object",
"properties": {
"contactInfo": {
"properties": {
"name": {
"properties": {
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"type": "object"
},
"email": {
"type": "string"
},
"phone": {
"properties": {
"areaCode": {
"type": "number"
},
"number": {
"type": "number"
},
"extension": {
"type": "number"
}
},
"type": "object"
},
"fax": {
"properties": {
"areaCode": {
"type": "number"
},
"number": {
"type": "number"
}
},
"type": "object"
},
"receiveNotifications": {
"type": "string"
},
"notificationMethod": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
}
},
"type": "object"
},
"requestAction": {
"type": "string"
},
"paymentTerms": {
"type": "string"
},
"pickupDate": {
"type": "string"
},
"pickupStartTime": {
"type": "string"
},
"pickupEndTime": {
"type": "string"
},
"totalPieces": {
"type": "string"
},
"totalWeight": {
"type": "string"
},
"totalHandlingUnits": {
"type": "string"
},
"hazmatFlag": {
"type": "string"
},
"expeditedCode": {
"type": "string"
},
"whoRequested": {
"type": "string"
},
"trailer": {
"type": "array",
"items": {
"type": "object",
"properties": {
"trailerInfo": {
"properties": {
"id": {
"type": "string"
},
"length": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"referenceNumbers": {
"properties": {
"referenceNumber": {
"type": "array",
"example": [
{
"referenceInfo": {
"type": "PRO",
"value": "0062020915",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "PON",
"value": "API31082020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "BOL",
"value": "API08312020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "EUI",
"value": "APIE10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "LDN",
"value": "APIL10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "SNO",
"value": "APIS10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
}
],
"items": {
"type": "object",
"properties": {
"referenceInfo": {
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"required": {
"type": "string"
},
"totalPieces": {
"type": "number"
},
"totalWeight": {
"type": "number"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"commodities": {
"properties": {
"commodity": {
"type": "array",
"items": {
"type": "object",
"properties": {
"commodityInfo": {
"properties": {
"code": {
"type": "string"
},
"packageCode": {
"type": "string"
},
"description": {
"type": "string"
},
"hazmat": {
"required": [
"hazmatCode",
"hazmatFlag"
],
"properties": {
"hazmatCode": {
"type": "string"
},
"hazmatFlag": {
"type": "string"
}
},
"type": "object"
},
"pieces": {
"type": "string"
},
"weight": {
"type": "string"
},
"nmfcNumber": {
"type": "string"
},
"nmfcSubNumber": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"comments": {
"properties": {
"comment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"commentInfo": {
"required": [
"type",
"commentText"
],
"properties": {
"type": {
"type": "string"
},
"commentText": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"consignee": {
"type": "object",
"properties": {
"accountCode": {
"type": "string"
},
"accountName": {
"type": "string"
}
}
},
"thirdParty": {
"type": "object",
"properties": {
"accountCode": {
"type": "string"
},
"accountName": {
"type": "string"
}
}
},
"addresses": {
"required": [
"address"
],
"properties": {
"address": {
"type": "array",
"items": {
"type": "object",
"properties": {
"addressInfo": {
"properties": {
"addressType": {
"type": "string"
},
"addressLine1": {
"type": "string"
},
"addressLine2": {
"type": "string"
},
"city": {
"type": "string"
},
"stateProvince": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"postalCode4": {
"type": "string"
},
"countryAbbrev": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"contacts": {
"required": [
"contact"
],
"properties": {
"contact": {
"type": "array",
"items": {
"type": "object",
"properties": {
"contactInfo": {
"required": [
"contactType",
"name",
"email",
"phone",
"fax",
"receiveNotifications",
"notificationMethod"
],
"properties": {
"contactType": {
"type": "string"
},
"name": {
"required": [
"firstName",
"middleName",
"lastName"
],
"properties": {
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"type": "object"
},
"email": {
"type": "string"
},
"phone": {
"required": [
"areaCode",
"number",
"extension"
],
"properties": {
"areaCode": {
"type": "string"
},
"number": {
"type": "string"
},
"extension": {
"type": "string"
}
},
"type": "object"
},
"fax": {
"required": [
"areaCode",
"number"
],
"properties": {
"areaCode": {
"type": "number"
},
"number": {
"type": "number"
}
},
"type": "object"
},
"receiveNotifications": {
"type": "string"
},
"notificationMethod": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"notifications": {
"required": [
"notification"
],
"properties": {
"notification": {
"type": "array",
"items": {
"type": "object",
"properties": {
"notificationInfo": {
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
}
}
}
}
}
Responses
Code | Description |
---|---|
201 | Data object will contain the newly created pickup request. |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"requestNumber": {
"type": "string"
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "string"
},
"validationFailures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"field": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
Code | Description |
---|---|
400 | Missing or invalid body params. Data object will be empty. |
Code | Description |
---|---|
401 | Not authenticated. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
PUT /v1/pickup-requests
TEST SERVER: https://uat-cloudapi.estes-express.com
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Update specific pickup request associated with an account. The request should include an Authorization header with a valid bearer token corresponding to the user associated with the pickup request.
Request
Details to be updated for a specific pickup request.
Request Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"requestNumber": {
"type": "string"
},
"shipper": {
"required": [
"shipperName",
"accountCode",
"shipperAddress",
"shipperContacts"
],
"properties": {
"shipperName": {
"type": "string"
},
"accountCode": {
"type": "string"
},
"shipperAddress": {
"required": [
"addressInfo"
],
"properties": {
"addressInfo": {
"required": [
"addressLine1",
"addressLine2",
"city",
"stateProvince",
"postalCode",
"postalCode4",
"countryAbbrev"
],
"properties": {
"addressLine1": {
"type": "string"
},
"addressLine2": {
"type": "string"
},
"city": {
"type": "string"
},
"stateProvince": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"postalCode4": {
"type": "string"
},
"countryAbbrev": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"shipperContacts": {
"required": [
"shipperContact"
],
"properties": {
"shipperContact": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"operation": {
"required": [
"operationType"
],
"properties": {
"operationType": {
"type": "string"
}
},
"type": "object"
},
"contactInfo": {
"required": [
"name",
"email",
"phone",
"fax",
"receiveNotifications",
"notificationMethod"
],
"properties": {
"name": {
"required": [
"firstName",
"middleName",
"lastName"
],
"properties": {
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"type": "object"
},
"email": {
"type": "string"
},
"phone": {
"required": [
"areaCode",
"number",
"extension"
],
"properties": {
"areaCode": {
"type": "number"
},
"number": {
"type": "number"
},
"extension": {
"type": "number"
}
},
"type": "object"
},
"fax": {
"required": [
"areaCode",
"number"
],
"properties": {
"areaCode": {
"type": "number"
},
"number": {
"type": "number"
}
},
"type": "object"
},
"receiveNotifications": {
"type": "string"
},
"notificationMethod": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
}
},
"type": "object"
},
"requestAction": {
"type": "string"
},
"paymentTerms": {
"type": "string"
},
"pickupDate": {
"type": "string"
},
"pickupStartTime": {
"type": "string"
},
"pickupEndTime": {
"type": "string"
},
"totalPieces": {
"type": "string"
},
"totalWeight": {
"type": "string"
},
"totalHandlingUnits": {
"type": "string"
},
"hazmatFlag": {
"type": "string"
},
"expeditedCode": {
"type": "string"
},
"whoRequested": {
"type": "string"
},
"trailer": {
"type": "array",
"items": {
"type": "object",
"properties": {
"trailerInfo": {
"properties": {
"id": {
"type": "string"
},
"length": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"referenceNumbers": {
"properties": {
"referenceNumber": {
"type": "array",
"example": [
{
"referenceInfo": {
"type": "PRO",
"value": "0062020915",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "PON",
"value": "API31082020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "BOL",
"value": "API08312020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "EUI",
"value": "APIE10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "LDN",
"value": "APIL10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "SNO",
"value": "APIS10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
}
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"operation": {
"properties": {
"operationType": {
"type": "string"
}
},
"type": "object"
},
"referenceInfo": {
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"required": {
"type": "string"
},
"totalPieces": {
"type": "number"
},
"totalWeight": {
"type": "number"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"commodities": {
"properties": {
"commodity": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"operation": {
"properties": {
"operationType": {
"type": "string"
}
},
"type": "object"
},
"commodityInfo": {
"properties": {
"code": {
"type": "string"
},
"packageCode": {
"type": "string"
},
"description": {
"type": "string"
},
"hazmat": {
"properties": {
"hazmatCode": {
"type": "string"
},
"hazmatFlag": {
"type": "string"
}
},
"type": "object"
},
"pieces": {
"type": "string"
},
"weight": {
"type": "string"
},
"nmfcNumber": {
"type": "string"
},
"nmfcSubNumber": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"comments": {
"properties": {
"comment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"operation": {
"properties": {
"operationType": {
"type": "string"
}
},
"type": "object"
},
"commentInfo": {
"properties": {
"type": {
"type": "string"
},
"commentText": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"consignee": {
"type": "object",
"properties": {
"accountCode": {
"type": "string"
},
"accountName": {
"type": "string"
}
}
},
"thirdParty": {
"type": "object",
"properties": {
"accountCode": {
"type": "string"
},
"accountName": {
"type": "string"
}
}
},
"addresses": {
"properties": {
"address": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"operation": {
"properties": {
"operationType": {
"type": "string"
}
},
"type": "object"
},
"addressInfo": {
"properties": {
"addressType": {
"type": "string"
},
"addressLine1": {
"type": "string"
},
"addressLine2": {
"type": "string"
},
"city": {
"type": "string"
},
"stateProvince": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"postalCode4": {
"type": "string"
},
"countryAbbrev": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"contacts": {
"properties": {
"contact": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"operation": {
"properties": {
"operationType": {
"type": "string"
}
},
"type": "object"
},
"contactInfo": {
"properties": {
"contactType": {
"type": "string"
},
"name": {
"properties": {
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"type": "object"
},
"email": {
"type": "string"
},
"phone": {
"properties": {
"areaCode": {
"type": "string"
},
"number": {
"type": "string"
},
"extension": {
"type": "string"
}
},
"type": "object"
},
"fax": {
"properties": {
"areaCode": {
"type": "number"
},
"number": {
"type": "number"
}
},
"type": "object"
},
"receiveNotifications": {
"type": "string"
},
"notificationMethod": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
},
"notifications": {
"properties": {
"notification": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"operation": {
"properties": {
"operationType": {
"type": "string"
}
},
"type": "object"
},
"notificationInfo": {
"properties": {
"type": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"type": "object"
}
}
}
}
}
Responses
Code | Description |
---|---|
200 | Data object will contain the updated pickup request. |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"requestNumber": {
"type": "string"
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "string"
},
"validationFailures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"field": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
Code | Description |
---|---|
400 | Missing or invalid path or/and body params. Data object will be empty. |
Code | Description |
---|---|
401 | Not authenticated. Data object will be empty. |
Code | Description |
---|---|
404 | No pickup request found. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
GET /v1/pickup-requests/{requestNumber}
TEST SERVER: https://uat-cloudapi.estes-express.com
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Returns details of pickup request associated with a specific request number. The request should include an Authorization header with a valid bearer token corresponding to the user associated with the pickup request.
Parameters
Parameter | Passed | Type | Max | Min | Required | Description |
---|---|---|---|---|---|---|
requestNumber | path | string | true | The pickup request number |
Responses
Code | Description |
---|---|
200 | Data object will contain the pickup request details for that specific request number. |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"requestNumber": {
"type": "string"
},
"reconciledPros": {
"type": "array",
"items": {
"type": "string"
}
},
"allProsPickedUpAtStop": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "object",
"properties": {
"conciseStatus": {
"type": "string"
},
"expandedStatus": {
"type": "string"
},
"referenceDate": {
"type": "string"
},
"referenceTime": {
"type": "string"
},
"reasonCode": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"statusHistory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"conciseStatus": {
"type": "string"
},
"expandedStatus": {
"type": "string"
},
"referenceDate": {
"type": "string"
},
"referenceTime": {
"type": "string"
},
"reasonCode": {
"type": "string"
},
"reason": {
"type": "string"
}
}
}
},
"shipper": {
"properties": {
"name": {
"type": "string"
},
"accountCode": {
"type": "string"
},
"address": {
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
},
"type": "object"
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"fax": {
"type": "string"
},
"receiveNotifications": {
"type": "string"
},
"notificationMethod": {
"type": "string"
}
}
}
}
},
"type": "object"
},
"requestAction": {
"type": "string"
},
"paymentTerms": {
"type": "string"
},
"totalPieces": {
"type": "number"
},
"totalWeight": {
"type": "number"
},
"totalHandlingUnits": {
"type": "number"
},
"hazmatFlag": {
"type": "string"
},
"expeditedCode": {
"type": "string"
},
"whoRequested": {
"type": "string"
},
"userName": {
"type": "string"
},
"userAccount": {
"type": "string"
},
"thirdPartyName": {
"type": "string"
},
"thirdPartyAccountCode": {
"type": "string"
},
"consigneeName": {
"type": "string"
},
"consigneeAccountCode": {
"type": "string"
},
"appointment": {
"type": "object",
"properties": {
"rescheduleReasonCode": {
"type": "string"
},
"rescheduleReasonDescription": {
"type": "string"
},
"requestedPickupDate": {
"type": "string"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
}
},
"appointmentHistory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rescheduleReasonCode": {
"type": "string"
},
"rescheduleReasonDescription": {
"type": "string"
},
"requestedPickupDate": {
"type": "string"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"createdDate": {
"type": "string"
},
"createdTime": {
"type": "string"
}
}
}
},
"transportEvent": {
"properties": {
"driver": {
"type": "string"
},
"driverCoordinates": {
"type": "array",
"items": {
"type": "string"
}
},
"estimatedPickupDate": {
"type": "string"
},
"estimatedPickupTime": {
"type": "string"
},
"stopsAway": {
"type": "string"
},
"lastUpdatedDate": {
"type": "string"
},
"lastUpdatedTime": {
"type": "string"
}
},
"type": "object"
},
"trailers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"length": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
},
"referenceNumbers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"commodities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"packageCode": {
"type": "string"
},
"description": {
"type": "string"
},
"hazmat": {
"properties": {
"hazmatCode": {
"type": "string"
},
"hazmatFlag": {
"type": "string"
}
},
"type": "object"
},
"pieces": {
"type": "number"
},
"weight": {
"type": "number"
},
"nmfcNumber": {
"type": "string"
},
"nmfcSubNumber": {
"type": "string"
}
}
}
},
"addresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
}
}
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"fax": {
"type": "string"
},
"receiveNotifications": {
"type": "string"
},
"notificationMethod": {
"type": "string"
}
}
}
},
"notifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
}
}
},
"originTerminal": {
"properties": {
"number": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
},
"type": "object"
},
"telephone": {
"type": "string"
},
"fax": {
"type": "string"
},
"email": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "string"
},
"validationFailures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"field": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
Code | Description |
---|---|
400 | Missing or invalid path parameter. Data object will be empty. |
Code | Description |
---|---|
401 | Not authenticated. Data object will be empty. |
Code | Description |
---|---|
403 | Not authorized. Data object will be empty. |
Code | Description |
---|---|
404 | No pickup request found. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
DELETE /v1/pickup-requests/{requestNumber}
TEST SERVER: https://uat-cloudapi.estes-express.com
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Delete pickup request associated with an account. The request should include an Authorization header with a valid bearer token corresponding to the user associated with the pickup request.
Parameters
Parameter | Passed | Type | Max | Min | Required | Description |
---|---|---|---|---|---|---|
requestNumber | path | string | true | The pickup request number used to delete a specific pickup request. |
Request
Contains comment to be saved
Request Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"comment": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
}
}
}
}
Responses
Code | Description |
---|---|
200 | Data object will contain request number of the specific pickup request. |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"requestNumber": {
"type": "string"
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "string"
},
"validationFailures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"field": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
Code | Description |
---|---|
400 | Missing or invalid path parameter. Data object will be empty. |
Code | Description |
---|---|
401 | Not authenticated. Data object will be empty. |
Code | Description |
---|---|
404 | No pickup request found. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
Shipment Tracking
GET /v1/shipments/history
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Returns details of shipment tracking history based on PRO or Reference Number.
Either a PRO or Reference Number (PO, BOL, LDN, PUR, EXL, or interline-pro) is required.
If not a payer on the shipment, financial charge information will be excluded from the response.
If not authorized for the shipment, a redacted payload will be returned.
Requires a valid bearer token in the Authorization header of the request.
Parameters
Parameter | Passed | Type | Max | Min | Required | Description |
---|---|---|---|---|---|---|
pro | query | number | 10 | 10 | N/A | PRO tracking number |
po | query | string | 15 | 1 | N/A | Purchase Order number |
bol | query | string | 25 | 1 | N/A | Bill Of Lading number |
pur | query | string | 10 | 1 | N/A | Pickup Request number |
ldn | query | string | 25 | 1 | N/A | Load number |
exl | query | string | 25 | 1 | N/A | EXLA-ID number |
interline-pro | query | string | 15 | 1 | N/A | Interline PRO (From/To) |
party-to | query | boolean | false | For PO, BOL, LDN, PUR, EXL, or Interline-pro lookups, determines whether to only see results which your account is party to, or all results for the reference number |
Responses
Code | Description |
---|---|
200 | Returns details of shipment history based on PRO |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pro": {
"type": "string"
},
"documentReference": {
"type": "array",
"description": "The document reference contains additional BOL & PO numbers, and other document references",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"documentType": {
"type": "string"
}
}
}
},
"pickupRequestNumber": {
"type": "string"
},
"pickupDate": {
"type": "string"
},
"pickupTime": {
"type": "string"
},
"expeditedCode": {
"type": "string"
},
"expeditedDescription": {
"type": "string"
},
"expeditedDueDate": {
"type": "string"
},
"isResidential": {
"type": "boolean"
},
"isTruckload": {
"type": "boolean"
},
"status": {
"type": "object",
"properties": {
"conciseStatus": {
"type": "string"
},
"expandedStatus": {
"type": "string"
},
"referenceDate": {
"type": "string"
},
"referenceTime": {
"type": "string"
},
"reasonCode": {
"type": "string"
},
"reason": {
"type": "string"
},
"quantity": {
"type": "string"
},
"packageType": {
"type": "string"
},
"packageDescription": {
"type": "string"
},
"isException": {
"type": "boolean"
}
}
},
"deliveryDate": {
"type": "string"
},
"deliveryTime": {
"type": "string"
},
"receivedBy": {
"type": "string"
},
"estimatedDelivery": {
"type": "object",
"properties": {
"startDate": {
"type": "string"
},
"startTime": {
"type": "string"
},
"endDate": {
"type": "string"
},
"endTime": {
"type": "string"
}
}
},
"transitDays": {
"type": "string"
},
"driverInfo": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"geoCoordinates": {
"type": "array",
"items": {
"type": "string"
}
},
"stopsAway": {
"type": "string"
}
}
},
"appointment": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"startDate": {
"type": "string"
},
"startTime": {
"type": "string"
},
"endDate": {
"type": "string"
},
"endTime": {
"type": "string"
}
}
},
"appointmentHistory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"startDate": {
"type": "string"
},
"startTime": {
"type": "string"
},
"endDate": {
"type": "string"
},
"endTime": {
"type": "string"
},
"createdDate": {
"type": "string"
},
"createdTime": {
"type": "string"
}
}
}
},
"piecesCount": {
"type": "string"
},
"totalWeight": {
"type": "string"
},
"cube": {
"type": "string"
},
"ratedCube": {
"type": "string"
},
"freightCharges": {
"type": "string"
},
"terms": {
"type": "string"
},
"consigneeParty": {
"type": "object",
"properties": {
"accountNumber": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
}
},
"geoCoordinates": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"shipperParty": {
"type": "object",
"properties": {
"accountNumber": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
}
},
"geoCoordinates": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"thirdParty": {
"type": "object",
"properties": {
"accountNumber": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
}
}
}
},
"destinationTerminal": {
"type": "object",
"properties": {
"number": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
}
},
"geoCoordinates": {
"type": "array",
"items": {
"type": "string"
}
},
"telephone": {
"type": "string"
},
"fax": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"originTerminal": {
"type": "object",
"properties": {
"number": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
}
},
"geoCoordinates": {
"type": "array",
"items": {
"type": "string"
}
},
"telephone": {
"type": "string"
},
"fax": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"interlineFrom": {
"type": "object",
"properties": {
"pro": {
"type": "string"
},
"scacCode": {
"type": "string"
}
}
},
"interlineTo": {
"type": "object",
"properties": {
"pro": {
"type": "string"
},
"scacCode": {
"type": "string"
}
}
},
"disclaimers": {
"type": "array",
"items": {
"type": "string"
}
},
"movementHistory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"description": {
"type": "string"
},
"location": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"code": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"type": "string"
}
}
},
"geoCoordinates": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"contact": {
"type": "object",
"properties": {
"telephone": {
"type": "string"
},
"fax": {
"type": "string"
}
}
},
"transportEventTypeCode": {
"type": "string"
},
"statusHistory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"conciseStatus": {
"type": "string"
},
"expandedStatus": {
"type": "string"
},
"referenceDate": {
"type": "string"
},
"referenceTime": {
"type": "string"
},
"reasonCode": {
"type": "string"
},
"reason": {
"type": "string"
},
"quantity": {
"type": "string"
},
"packageType": {
"type": "string"
},
"packageDescription": {
"type": "string"
},
"isException": {
"type": "boolean"
}
}
}
}
}
}
}
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "string"
}
}
}
}
}
}
}
Code | Description |
---|---|
403 | Not authorized. Data object will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
Images
GET /v1/search/images/{document-type}
PRODUCTION SERVER: https://cloudapi.estes-express.com
Description
Returns the images of the requested Document Type associated with a particular PRO. This by default includes URLs to all versions of the image. Base64 data of the image and latest version only are also available via parameters.
PRO is required.
Requires a valid bearer token in the Authorization header of the request.
Parameters
Parameter | Passed | Type | Max | Min | Required | Description |
---|---|---|---|---|---|---|
document-type | path | string | true |
The table below defines the Document Types that this API may return. Document Type is not case sensitive.
Document Type | Description | Authorization Required |
---|---|---|
aptcnf |
Appointment Confirmation | party to |
b7512 |
US Customs Bond 7512 | payer |
BOL |
Bill of Lading | party to |
bolsup |
Bill of Lading Supplemental | party to |
camoth |
California Moth Certificate | party to |
cci |
Canadian Customs Invoice | payer |
delimg |
Delivery Image | party to |
dr |
Delivery Receipt | party to |
LOA |
Letter of Authorization | party to |
lumper |
Lumper Receipt | payer |
puimg |
Pickup Image | party to |
tcsupp |
Time Critical Supplement | payer |
wnr |
Weight & Research Inspection Certificate | party to |
wr |
Weight & Research Image | party to |
Parameter | Passed | Type | Max | Min | Required | Description |
---|---|---|---|---|---|---|
pro | query | string | 10 | 10 | true | PRO tracking number |
include-image | query | boolean | N/A | Set to true to retrieve the base64 data of the image. | ||
all-versions | query | boolean | N/A | Set to true to get all versions of the image, or false for only the latest. |
Responses
Code | Description |
---|---|
200 | Data object will contain one or more document image URLs in the array, and potentialy base64 image data if requested. |
Response Schema
{
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "https://estes-express.com/image",
"description": "The document image URL which can be referenced to display the image file."
},
"documentType": {
"type": "string",
"example": "BOL",
"description": "Document Type. Values can include: b7512, BOL, BOLSUP, CAMOTH, CCI, DELIMG, DR, LOA, LUMPER, PUIMG, TCSUPP, WNR, WR, etc.\n"
},
"contentType": {
"type": "string",
"example": "image/tiff",
"description": "The returned type of image file, usually this is image/tiff."
},
"data": {
"type": "string",
"example": "SUkqAP4+AQD////+UwD7x///Jqv///yAoq/v////v//////v1//v///////+/////////3//...",
"description": "The base64 encoded value of the image file."
},
"createdDate": {
"type": "string",
"example": "yyyy-mm-dd",
"description": "Marked for deprecation. The date that the image file record was created."
},
"createdTime": {
"type": "string",
"example": "hh:mm:ss",
"description": "Marked for deprecation. The timestamp that the image file record was created."
},
"createdDateTime": {
"type": "string",
"format": "date-time",
"example": "2023-05-23T14:56:39-0400",
"description": "The date-timestamp that the image file record was created"
}
}
}
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "The code for the specific error."
},
"message": {
"type": "string",
"description": "The error message."
},
"details": {
"type": "string",
"description": "The details regarding the error."
}
}
}
}
}
}
}
Code | Description |
---|---|
400 | Invalid or missing PRO number or Document Type parameter. Data object array will be empty. |
Code | Description |
---|---|
403 | Not authorized. Data object array will be empty. |
Code | Description |
---|---|
404 | Matching PRO or Document Type not found. Data object array will be empty. |
Code | Description |
---|---|
500 | Internal server error. Data object array will be empty. |
Code | Description |
---|---|
503 | Service unavailable. Response body will be empty. |
Components
BasicAuth
{
"type": "http",
"scheme": "basic"
}
ApiKeyAuth
{
"type": "apiKey",
"in": "header",
"name": "apikey",
"description": "Unique identifier provided to the client by Estes Express."
}
bearerAuth
{
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT",
"description": "Token returned by the authentication API for the user."
}
Examples
The examples listed here consist of a CURL (https request) statement with necessary parameters or request body followed by a response in JSON format.
Examples are for illustrative purposes only. You need a valid API key and bearer authentication token. See Accessing Our Apis for more information.
1. You want to create a pickup request.
CURL:
curl --location --request POST 'https://cloudapi.estes-express.com/v1/pickup-requests' \
--header 'apikey: apikey-here' \
--header 'Authorization: Bearer your-token-here' \
--header 'Content-Type: application/json' \
--data-raw '{
"shipper": {
"shipperName": "ACCEPTANCE TESTER",
"accountCode": "123456",
"shipperAddress": {
"addressInfo": {
"addressLine1": "30 FIREMENS WAY",
"addressLine2": "",
"city": "POUGHKEEPSIE",
"stateProvince": "NY",
"postalCode": 12603,
"postalCode4": "",
"countryAbbrev": "US"
}
},
"shipperContacts": {
"shipperContact": [
{
"contactInfo": {
"name": {
"firstName": "SARAH",
"middleName": "RANDAZZO X115",
"lastName": "INC"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 845,
"number": 4736780,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
}
]
}
},
"requestAction": "LL",
"paymentTerms": "PPD",
"pickupDate": "2020-07-24",
"pickupStartTime": 1000,
"pickupEndTime": 1600,
"totalPieces": 188,
"totalWeight": 3720,
"totalHandlingUnits": "8",
"hazmatFlag": "",
"expeditedCode": "",
"whoRequested": "3",
"trailer": [
{
"trailerInfo": {
"id": "12345",
"length": "22",
"type": ""
}
}
],
"referenceNumbers": {
"referenceNumber": [
{
"referenceInfo": {
"type": "PRO",
"value": "0062020915",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "PON",
"value": "API31082020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "BOL",
"value": "API08312020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "EUI",
"value": "APIE10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "LDN",
"value": "APIL10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "SNO",
"value": "APIS10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
}
]
},
"commodities": {
"commodity": [
{
"commodityInfo": {
"code": "50",
"packageCode": "PT",
"description": "WIPES",
"hazmat": {
"hazmatCode": "UN1030",
"hazmatFlag": "X"
},
"pieces": "2",
"weight": "200",
"nmfcNumber": "SOS050820",
"nmfcSubNumber": "2020"
}
},
{
"commodityInfo": {
"code": "50",
"packageCode": "CT",
"description": "CHIPS",
"pieces": "2",
"weight": "200",
"nmfcNumber": "28032020",
"nmfcSubNumber": "2803"
}
}
]
},
"comments": {
"comment": [
{
"commentInfo": {
"type": "",
"commentText": "SOME TEXT"
}
}
]
},
"consignee": {
"accountCode": "",
"accountName": ""
},
"thirdParty": {
"accountCode": "",
"accountName": ""
},
"addresses": {
"address": [
{
"addressInfo": {
"addressType": "C",
"addressLine1": "2110 LINCOLN HWY",
"addressLine2": "",
"city": "EDISON",
"stateProvince": "NJ",
"postalCode": 12603,
"countryAbbrev": "US"
}
},
{
"addressInfo": {
"addressType": 3,
"addressLine1": "212 2nd Suite 205A",
"addressLine2": "",
"city": "Lakewood",
"stateProvince": "NJ",
"postalCode": 12603,
"countryAbbrev": "US"
}
}
]
},
"contacts": {
"contact": [
{
"contactInfo": {
"contactType": "S",
"name": {
"firstName": "SARAH",
"middleName": "RANDAZZO X115 BABYVISION",
"lastName": "INC"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 845,
"number": 4736780,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
},
{
"contactInfo": {
"contactType": "C",
"name": {
"firstName": "NEWPORT",
"lastName": "LOGISTICS"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 732,
"number": 2871440,
"extension": 225
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
},
{
"contactInfo": {
"contactType": 3,
"name": {
"firstName": "Prompt",
"lastName": "Logistics"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 732,
"number": 9058686,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
},
{
"contactInfo": {
"contactType": "A",
"name": {
"firstName": "Michelle",
"lastName": "Gutin"
},
"email": "michael@promptlogistics.com",
"phone": {
"areaCode": 732,
"number": 9058686,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
}
],
"notifications": {
"notification": [
{
"notificationInfo": {
"type": ""
}
}
]
}
}
}'
RESPONSE SCHEMA:
{
"data": {
"requestNumber": "66307782"
},
"error": {
"code": 0,
"message": "",
"details": "",
"validationFailures": null
}
}
2. You want to update a pickup request (update by the following: date, pieces, weight, contacts, reference IDs)
CURL:
curl --location --request PUT 'https://cloudapi.estes-express.com/v1/pickup-requests' \
--header 'apikey: apikey-here' \
--header 'Authorization: Bearer your-token-here' \
--header 'Content-Type: application/json' \
--data-raw '{
"requestNumber": "66263321",
"shipper": {
"shipperName": "ACCEPTANCE TESTER",
"accountCode": "123456",
"shipperAddress": {
"addressInfo": {
"addressLine1": "30 FIREMENS WAY",
"addressLine2": "",
"city": "POUGHKEEPSIE",
"stateProvince": "NY",
"postalCode": 12603,
"postalCode4": "",
"countryAbbrev": "US"
}
},
"shipperContacts": {
"shipperContact": [
{
"contactInfo": {
"name": {
"firstName": "SARAH",
"middleName": "RANDAZZO X115",
"lastName": "INC"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 845,
"number": 4736780,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
}
]
}
},
"requestAction": "LL",
"paymentTerms": "PPD",
"pickupDate": "2020-07-24",
"pickupStartTime": 1000,
"pickupEndTime": 1600,
"totalPieces": 188,
"totalWeight": 3720,
"totalHandlingUnits": "8",
"hazmatFlag": "",
"expeditedCode": "",
"whoRequested": "3",
"trailer": [
{
"trailerInfo": {
"id": "12345",
"length": "22",
"type": ""
}
}
],
"referenceNumbers": {
"referenceNumber": [
{
"referenceInfo": {
"type": "PRO",
"value": "0062020915",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "PON",
"value": "API31082020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "BOL",
"value": "API08312020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "EUI",
"value": "APIE10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "LDN",
"value": "APIL10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
},
{
"referenceInfo": {
"type": "SNO",
"value": "APIS10022020",
"required": "N",
"totalPieces": 0,
"totalWeight": 0
}
}
]
},
"commodities": {
"commodity": [
{
"commodityInfo": {
"code": "100",
"packageCode": "PT",
"description": "NOVELTIES",
"hazmat": {
"hazmatCode": "",
"hazmatFlag": ""
},
"pieces": 188,
"weight": 3720,
"nmfcNumber": "",
"nmfcSubNumber": ""
}
}
]
},
"comments": {
"comment": [
{
"commentInfo": {
"type": "",
"commentText": "SOME TEXT"
}
}
]
},
"consignee": {
"accountCode": "",
"accountName": ""
},
"thirdParty": {
"accountCode": "",
"accountName": ""
},
"addresses": {
"address": [
{
"addressInfo": {
"addressType": "C",
"addressLine1": "2110 LINCOLN HWY",
"addressLine2": "",
"city": "EDISON",
"stateProvince": "NJ",
"postalCode": 12603,
"countryAbbrev": "US"
}
},
{
"addressInfo": {
"addressType": 3,
"addressLine1": "212 2nd Suite 205A",
"addressLine2": "",
"city": "Lakewood",
"stateProvince": "NJ",
"postalCode": 12603,
"countryAbbrev": "US"
}
}
]
},
"contacts": {
"contact": [
{
"contactInfo": {
"contactType": "S",
"name": {
"firstName": "SARAH",
"middleName": "RANDAZZO X115 BABYVISION",
"lastName": "INC"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 845,
"number": 4736780,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
},
{
"contactInfo": {
"contactType": "C",
"name": {
"firstName": "NEWPORT",
"lastName": "LOGISTICS"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 732,
"number": 2871440,
"extension": 225
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
},
{
"contactInfo": {
"contactType": 3,
"name": {
"firstName": "Prompt",
"lastName": "Logistics"
},
"email": "info@promptlogistics.com",
"phone": {
"areaCode": 732,
"number": 9058686,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
},
{
"contactInfo": {
"contactType": "A",
"name": {
"firstName": "Michelle",
"lastName": "Gutin"
},
"email": "michael@promptlogistics.com",
"phone": {
"areaCode": 732,
"number": 9058686,
"extension": 1234
},
"receiveNotifications": "Y",
"notificationMethod": "E"
}
}
],
"notifications": {
"notification": [
{
"notificationInfo": {
"type": ""
}
}
]
}
}
}'
RESPONSE SCHEMA:
{
"data": {
"requestNumber": "66307782"
},
"error": {
"code": 0,
"message": "",
"details": "",
"validationFailures": null
}
}
3. You want to cancel a pickup request
Pass the pickup request number in the call.
CURL:
curl --location --request DELETE 'https://cloudapi.estes-express.com/v1/pickup-requests/66263321' \
--header 'apikey: apikey-here' \
--header 'Authorization: Bearer your-token-here' \
--header 'Content-Type: application/json' \
--data-raw '{
"requestNumber": "66307782",
"comment": {
"type": "ABC",
"text": "Sample text for comment"
}
}'
RESPONSE SCHEMA:
{
"data": {
"requestNumber": "66307782"
},
"error": {
"code": 0,
"message": "",
"details": "",
"validationFailures": null
}
}
4. You want to get Pickup Status information
Pass the pickup request number in the call.
CURL:
curl --location --request GET 'https://cloudapi.estes-express.com/v1/pickup-requests/66263321' \
--header 'apikey: apikey-here' \
--header 'Authorization: Bearer your-token-here'
RESPONSE SCHEMA:
{
"data": [
{
"requestNumber": "64245876",
"reconciledPros": [
"0000000000",
"1111111111",
"2222222222"
],
"allProsPickedUpAtStop": [
"0058091375",
"0058091376",
"0058091377",
"0058091378",
"0058091379"
],
"status": {
"conciseStatus": "Milestone/Concise Status",
"expandedStatus": "Friendly Status/Expanded Status",
"referenceDate": "2020-04-22",
"referenceTime": "16:19:55-04:00",
"reasonCode": "XYZ",
"reason": "StatusReason"
},
"shipper": {
"name": "OMEGA CHEMICAL",
"accountCode": "2895833",
"address": {
"line": [
"600 W 41ST ST"
],
"city": "CHICAGO",
"state": "IL",
"postalCode": "60609",
"country": "USA"
},
"contacts": [
{
"type": "S",
"name": "Dispatch",
"email": "custsrv@estes-express.com",
"phone": "(908) 226-1166",
"fax": "19082261155",
"receiveNotifications": "NotifCode",
"notificationMethod": "MethodCode"
}
]
},
"requestAction": "LL",
"paymentTerms": "PPD",
"totalPieces": 5,
"totalWeight": 500,
"totalHandlingUnits": 2,
"hazmatFlag": "Y",
"expeditedCode": "E",
"whoRequested": "S",
"userName": "OMEGA1",
"userAccount": "2895833",
"thirdPartyName": "OMEGA CHEMICAL PRODUCTS",
"thirdPartyAccountCode": "5019812",
"consigneeName": "REBTEX INC",
"consigneeAccountCode": "2673640",
"appointment": {
"rescheduleReasonCode": "Reschedule Code",
"rescheduleReasonDescription": "Reschedule Reason",
"requestedPickupDate": "2020-04-21",
"startTime": "07:15:00-05:00",
"endTime": "23:15:00-05:00"
},
"appointmentHistory": [
{
"rescheduleReasonCode": "Reschedule Code",
"rescheduleReasonDescription": "Reschedule Reason",
"requestedPickupDate": "2020-06-09",
"startTime": "10:30:00-05:00",
"endTime": "23:30:00-05:00",
"createdDate": "2020-06-09",
"createdTime": "06:00:05+0000"
}
],
"transportEvent": {
"driver": "HAROLD",
"driverCoordinates": [
"-77.6097281",
"37.6597617"
],
"estimatedPickupDate": "2020-04-21",
"estimatedPickupTime": "00:00:00-05:00",
"stopsAway": "1",
"lastUpdatedDate": "2020-04-22",
"lastUpdatedTime": "09:16:41-05:00"
},
"trailers": [
{
"id": "520645",
"length": "53.00",
"type": "TrailerType"
}
],
"referenceNumbers": [
{
"type": "PON",
"value": "SOS220420201"
},
{
"type": "BOL",
"value": "SOS042220201"
}
],
"commodities": [
{
"code": "50",
"packageCode": "",
"description": "UN1030, REFRIGERANT GAS R 152A, 2.1,,{TESTING Flammable Gas}",
"hazmat": {
"hazmatCode": "UN1030",
"hazmatFlag": "X"
},
"pieces": 5,
"weight": 500,
"nmfcNumber": "SOS2204201",
"nmfcSubNumber": "22042"
},
{
"code": "FSC",
"packageCode": "",
"description": "Fuel Surcharge added at 21.10%",
"hazmat": {
"hazmatCode": "",
"hazmatFlag": ""
},
"pieces": 0,
"weight": 0,
"nmfcNumber": "",
"nmfcSubNumber": ""
}
],
"comments": [
{
"text": "PICKUP CREATED FOR SOS TESTING"
},
{
"text": "INTEGRATION TESTING PICKUP"
}
],
"addresses": [
{
"type": "A",
"line": [
"322 MITCHELL BLVD"
],
"city": "WEATHERFORD",
"state": "TX",
"postalCode": "76087",
"country": "USA"
},
{
"type": "C",
"line": [
"40 INDUSTRIAL PKWY"
],
"city": "SOMERVILLE",
"state": "NJ",
"postalCode": "08807",
"country": "USA"
},
{
"type": "3",
"line": [
"322 MITCHELL BLVD"
],
"city": "WEATHERFORD",
"state": "TX",
"postalCode": "76087",
"country": "USA"
}
],
"contacts": [
{
"type": "A",
"name": "Dispatch",
"email": "custsrv@estes-express.com",
"phone": "(908) 226-1166",
"fax": "19082261155",
"receiveNotifications": "NotifCode",
"notificationMethod": "MethodCode"
},
{
"type": "C",
"name": "Dispatch",
"email": "custsrv@estes-express.com",
"phone": "(908) 226-1166",
"fax": "19082261155",
"receiveNotifications": "NotifCode",
"notificationMethod": "MethodCode"
},
{
"type": "3",
"name": "Dispatch",
"email": "custsrv@estes-express.com",
"phone": "(908) 226-1166",
"fax": "19082261155",
"receiveNotifications": "NotifCode",
"notificationMethod": "MethodCode"
}
],
"notifications": [
{
"type": "RCV"
},
{
"type": "ACC"
}
],
"originTerminal": {
"number": "028",
"name": "CHICAGO",
"address": {
"line": [
"8700 Joliet Road"
],
"city": "McCook",
"state": "IL",
"postalCode": "60525",
"country": "USA"
},
"telephone": "(708) 443-5087",
"fax": "17084477314",
"email": "custsrv@estes-express.com"
}
}
],
"error": {
"code": 0,
"message": "",
"details": "",
"validationFailures": null
}
}
5. You want to get shipment tracking with full movement history
Returns details of shipment history based on PRO or Reference Number.
Either a PRO or Reference Number (PO, BOL, PUR, LDN, EXL or interline-pro) is required.
Available Parameters
Parameter | Passed | Type | Max | Min | Required | Description |
---|---|---|---|---|---|---|
pro | query | string | N/A | PRO-tracking number | ||
po | query | string | N/A | Purchase Order number | ||
bol | query | string | N/A | Bill Of Lading number | ||
pur | query | string | N/A | Pickup Request number | ||
ldn | query | string | N/A | Load number for shipment tracking | ||
exl | query | string | N/A | EXL-ID number | ||
interline-pro | query | string | N/A | Interline pro for shipment tracking |
CURL:
curl --location --request GET 'https://cloudapi.estes-express.com/v1/shipments/history?pro=1710510386' \
--header 'apikey: apikey-here' \
--header 'Authorization: Bearer your-token-here'
RESPONSE SCHEMA:
{
"data": [
{
"pro": "0378062552",
"documentReference": [
{
"ID": "0070434506",
"documentType": "PUR"
},
{
"ID": "POAPIPARAMETERS",
"documentType": "PON"
},
{
"ID": "BOL123",
"documentType": "BOL"
},
{
"ID": "LDN123",
"documentType": "LDN"
}
],
"pickupRequestNumber": "70434506",
"pickupDate": "2021-03-24",
"pickupTime": "",
"expeditedCode": "",
"expeditedDescription": "",
"isResidential": true,
"isTruckload": true,
"status": {
"conciseStatus": "Driver Check-In",
"expandedStatus": "Awaiting Delivery - Freight Given to Interline Partner",
"referenceDate": "2021-03-25",
"referenceTime": "12:56:47-05:00",
"reasonCode": "DI",
"reason": "Awaiting Delivery - Freight Given to Interline Partner",
"packageType": "Type A",
"packageDescription": "Description of package"
},
"deliveryDate": "2021-03-25",
"deliveryTime": "11:00:00-05:00",
"receivedBy": "EXAMPLE API",
"estimatedDelivery": {
"startDate": "2021-03-27",
"startTime": "10:00:00-05:00",
"endDate": "2021-03-27",
"endTime": "15:30:00-05:00"
},
"transitDays": "",
"driverInfo": {
"name": "Jim Bob",
"geoCoordinates": [
"-80.838269",
"35.345886"
],
"stopsAway": "10"
},
"appointment": {
"status": "Customer requested appointment",
"startDate": "2021-03-27",
"startTime": "10:00:00-05:00",
"endDate": "2021-03-27",
"endTime": "15:30:00-05:00"
},
"appointmentHistory": [
{
"status": "Customer requested appointment",
"startDate": "2021-03-27",
"startTime": "10:00:00-05:00",
"endDate": "2021-03-27",
"endTime": "15:30:00-05:00",
"createdDate": "2021-03-24",
"createdTime": "22:19:46+0000"
}
],
"piecesCount": "15",
"totalWeight": "1500",
"freightCharges": "",
"terms": "",
"consigneeParty": {
"accountNumber": "2485132",
"name": "ACME PRINTING",
"address": {
"line": [
"971 GREENLICK CT"
],
"city": "COLUMBIA",
"state": "TN",
"postalCode": "38401",
"country": "US"
},
"geoCoordinates": [
""
]
},
"shipperParty": {
"accountNumber": "3797434",
"name": "SHIP LESS",
"address": {
"line": [
"302 RUTHERFORD LN"
],
"city": "COLUMBIA",
"state": "TN",
"postalCode": "38401",
"country": "US"
},
"geoCoordinates": [
""
]
},
"thirdParty": {
"accountNumber": "3797434",
"name": "SHIP LESS",
"address": {
"line": [
"302 RUTHERFORD LN"
],
"city": "COLUMBIA",
"state": "TN",
"postalCode": "38401",
"country": "US"
}
},
"destinationTerminal": {
"number": "037",
"name": "NASHVILLE",
"address": {
"line": [
"123 Threet Industrial Rd"
],
"city": "Smyrna",
"state": "TN",
"postalCode": "37167",
"country": "US"
},
"telephone": "(615) 220-2112",
"fax": "16152209263",
"email": "custsrv@estes-express.com"
},
"originTerminal": {
"number": "001",
"name": "NEW YORK",
"address": {
"line": [
"1616 Fleet Street"
],
"city": "Long Island City",
"state": "NY",
"postalCode": "11722",
"country": "US"
},
"geoCoordinates": [
""
],
"telephone": "(202) 111-2112",
"fax": "2020393894",
"email": "custsrv@estes-express.com"
},
"interlineFrom": {
"pro": "ILFROM378062552",
"scacCode": "ALMX"
},
"interlineTo": {
"pro": "ILTO03252021037",
"scacCode": "FRID"
},
"disclaimers": [
"string"
],
"movementHistory": [
{
"id": "Pickup",
"description": "Actual Pickup",
"location": {
"id": "010",
"name": "Charlotte",
"code": "CHA",
"address": {
"line": [
"10815 Reames Road"
],
"city": "Charlotte",
"state": "NC",
"postalCode": "28269",
"country": "US"
},
"geoCoordinates": [
"-80.838269",
"35.345886"
]
},
"contact": {
"telephone": "",
"fax": ""
},
"transportEventTypeCode": "Actual Pickup",
"statusHistory": [
{
"conciseStatus": "Pickup Completed - ODS",
"expandedStatus": "Pickup Completed - ODS",
"referenceDate": "2021-03-24",
"referenceTime": "17:19:45-05:00",
"reasonCode": "DI",
"reason": "Awaiting Delivery - Freight Given to Interline Partner",
"quantity": "10",
"packageType": "",
"packageDescription": ""
}
]
}
]
}
],
"error": {
"code": 0,
"message": "",
"details": ""
}
}
Data Definitions
Definitions for data fields passed through APIs are listed here by their API object.
Some data fields are classes – they contain other fields within their JSON objects.
Additional fields within classes are followed by the row contains.
Pickup Fields
Field | Description | ||
---|---|---|---|
requestNumber | A reference number given to the customer by the time-critical team when they request a time-critical shipment. The number is used to identify the request in the system throughout the shipping process. | ||
reconciledPros | PRO Number is a pre-assigned, 10-digit freight bill number given to each shipment to serve as a tracking number. PRO is an acronym for Progressive Rotating Order. reconcilePros indicates the pro or array of pros linked to the specific pickup request. Note: the absence of reconcilePros does not necessarily mean the freight has not been picked up, nor moving towards its destination – this means Estes has not yet been able to link any pros to the pickup request. It may take additional time for reconciliation at which time the field will be populated. | ||
allProsPickedUpAtStop | Every PROs picked up at a stop which could belong to other pickup requests and other customer requests. See reconciledPros for more information. | ||
status | A class to describe the condition or position of an object. | ||
contains | conciseStatus | consists of milestone status explaining the current position of the freight or Pro in question. | |
• Pickup Accepted | |||
• Driver Enroute | |||
• Driver Arrived | |||
• Departed Pickup Location | |||
• Pickup Complete | |||
expandedStatus | A detailed description expanding on the current position of the freight or Pro in question | ||
• Pickup Request Accepted | |||
• Dispatcher Reject Reason – see table | |||
• Driver En Route to Pickup Location | |||
• Driver Arrived at Pickup Location | |||
• Loading at Pickup Location | |||
• Pickup Stop Completed | |||
• Driver Pickup No Service Reason – see table | |||
• Tracking Number Has Been Assigned | |||
referenceDate | Date the most recent status was applied | ||
referenceTime | Time the most recent status was applied | ||
reasonCode | The reason for this status condition or position, expressed as a code. See the following: | ||
• See Dispatcher Reject Reason | |||
• See Driver Pickup No Service Reason | |||
reason | The reason for this status condition or position, expressed as text. See the following. | ||
• See Dispatcher Reject Reason | |||
• See Driver Pickup No Service Reason | |||
shipper | This is the address of the pickup location. Although it’s optional, either it or the accountCode must be indicated. If an accountCode is provided, the shipper address (pickup location) is pulled from the Estes account master by the account code. If an address is provided in addition to the account code, the address associated with the account code will override the information provided in the shipperAddress element. NOTE: Shipper contains several classes including name, address and contacts. | ||
contains | name | The name of this branch or division of an organization. | |
accountCode | |||
address | A class to define common information related to an address. | ||
contains | line | An unstructured address line. | |
city | The name of a city, town, or village. | ||
state | A territorial division of a country, such as a county or state, expressed as text. | ||
postalCode | The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code. | ||
country | The country in which this address is situated. | ||
contacts | A class that contains contact information | ||
contains | type | The type of this contract, expressed as text, such as “Cost plus award fee” and “Cost plus fixed fee” from UNCEFACT Contract Type code list. | |
name | The name of this contact. It is recommended that this be used for a functional name and not a personal name. | ||
The primary email address of this contact. | |||
phone | The primary telephone number of this contact. | ||
fax | The primary fax number of this contact. | ||
receiveNotifications | Boolean | ||
notificationMethod | This code indicates the method of notification if the receiveNotifications element is enabled for the contact (Y). Valid values are listed below: | ||
• E — Email | |||
• F — Fax (NOTE Fax-based notifications are unavailable at this time.) | |||
requestAction | This is the pickup action to perform. If the request is for Estes to pick up a full trailer, choose HE (to indicate empty) or HL (to indicate loaded). If you need Estes to drop off an empty trailer, choose SE. If the request is for a pickup of freight from your dock that is not a trailer-load, then pass LL (or don’t pass this element, and it will default to LL). If Estes must call to set up an appointment before arriving, then pass AP. Valid values are listed below: | ||
• AP — Appointment required | |||
• HE — LTL hook empty | |||
• HL — LTL hook loaded | |||
• LL — LTL live load [default] | |||
• SE — LTL spot/drop empty | |||
paymentTerms | These are the requested payment terms to apply to any resulting shipments picked up. Valid values include: | ||
• COL — Collect | |||
• PPD — Prepaid | |||
totalPieces | |||
totalWeight | The total declared weight of the goods in this consignment, including packaging but excluding the carrier’s equipment. | ||
totalHandlingUnits | |||
hazmatFlag | Use this to indicate the requirement to pick up hazardous materials. Cite additional details and specify the identity and type of hazardous materials in the request’s commodity elements area. | ||
expeditedCode | This is an optional code indicating the priority of the resulting shipment after successful pickup. Valid values are listed below: | ||
• (BLANK) — normal [default] | |||
• E — Estes Forwarding | |||
• G — Guaranteed | |||
• H — Hot | |||
whoRequested | This optional code indicates the party that requested the pickup. The following are the valid values: | ||
• (BLANK) — Unknown | |||
• C — Consignee | |||
• S — Shipper | |||
• 3 — 3rd party | |||
• 4 — 4th party | |||
userName | |||
userAccount | |||
thirdPartyName | Name of Third Party Payer of Invoice – aka Bill To Name | ||
thirdPartyAccountCode | Account Code of Third Party Payer of Invoice – aka Bill To Account | ||
consigneeName | Name of Customer receiving the freight | ||
consigneeAccountCode | Account Code of Customer receiving the freight | ||
appointment | class | ||
contains | rescheduleReasonCode | The code entered is assigned a reason for the reschedule – see table | |
rescheduleReasonDescription | A detailed description for the rescheduled Pickup request – see table | ||
requestedPickupDate | The date customer is requesting the pickup to occur | ||
startTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the start of the time-window when the client expects Estes to execute the pickup. | ||
endTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the end of the time-window when the client expects Estes to execute the pickup. | ||
appointmentHistory | class | ||
contains | |||
rescheduleReasonCode | The code entered to identify the reason for the reschedule – see table | ||
rescheduleReasonDescription | A detailed description for the rescheduled Pickup request. – see table | ||
requestedPickupDate | The date on which this period begins. | ||
startTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the start of the time-window when the client expects Estes to execute the pickup. | ||
endTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the end of the time-window when the client expects Estes to execute the pickup. | ||
createdDate | The date when the Pickup request was submitted | ||
createdTime | The time when the Pickup request was submitted | ||
transportEvent | An event associated with this Transportation Status report. | ||
contains | driver | Describes a person responsible for driving the transport means. | |
driverCoordinates | |||
estimatedPickupDate | |||
estimatedPickupTime | |||
stopsAway | |||
lastUpdatedDate | |||
lastUpdatedTime | |||
trailers | The part of the rig used to haul goods. A trailer is hooked to an engine-powered tractor. | ||
contains | id | ||
length | Use this optional code if the request directs Estes to hook or drop off a trailer at the pickup location. The following are the valid values: | ||
• (BLANK) — Trailer length not specified | |||
• 20 — 20 feet | |||
• 28 — 28 feet | |||
• 40 — 40 feet | |||
• 45 — 45 feet | |||
• 48 — 48 feet | |||
• 53 — 53 feet | |||
type | This optional code indicates the trailer type if the request requires Estes to hook up or drop off a trailer at the pickup location. The following are the valid values: | ||
• (BLANK) — Trailer type not specified | |||
• CT — Straight Container | |||
• LG — Lift Gate | |||
• RD — Roll Door | |||
• SD — Side Door | |||
• ST — Swing Door Truck | |||
referenceNumbers | class | ||
contains | type | Identifies the document the reference number is associated with when the pickup request was created. Example: The reference number is from a BOL. See examples of in Pickup Request. | |
value | Used in each referenceNumber element of the optional unbounded referenceNumbers element, this code defines the type of reference number passed in that element. Below are the valid values: | ||
AID - Appointment ID | |||
ARN - Amazon Reference Number | |||
AUT - Authorization Number | |||
BOL - Shipper Bill of Lading Number | |||
DOC - Dock Door Number | |||
DPT - Consignee Department Number | |||
EXL - Estes Unique ID EUID# or CUID# | |||
HO - Homeowner Name | |||
LDN - Load Number ID | |||
NUM - Shipper Reference Numbers | |||
PKG - Sipper Package ID | |||
PON - Purchase Order Number | |||
PRO - Estes PRO# | |||
PU# - Pickup Number from the Customer | |||
RAU - Shipper Return Authorization | |||
SID - Ship ID# | |||
SNO - Shipper Numbers | |||
commodities | class | ||
contains | code | Used in each commodity element of the optional unbounded commodities element, this unique commodity code defines the type of commodity being passed. It supports custom commodity code values or you may leave it blank (an empty string) and it will default to “MISC” (without quotes). If you are unsure what to pass, use MISC. | |
packageCode | Used in each commodity element of the optional unbounded commodities element, this is a unit of measure for the commodity. Valid values are listed below : | ||
• BD — Bundles | |||
• BG — Bags | |||
• BK — Buckets | |||
• BL — Bales | |||
• BR — Barrels | |||
• BX — Boxes | |||
• CN — Cans | |||
• CR — Crates | |||
• CS — Cases | |||
• CT — Cartons | |||
• CY — Cylinders | |||
• DR — Drums | |||
• JC — Jerrican | |||
• KT — Kits | |||
• PC — Pieces | |||
• PK — Packages | |||
• PL — Pails | |||
• PT — Pallets | |||
• RE — Reels | |||
• RL — Rolls | |||
• SK — Skids | |||
• TL — Truckload | |||
• TO — Totes | |||
description | |||
hazmat | Hazardous Materials: The Transportation Safety Act of 1974 defines hazardous material as “a substance or material in quantity and form which may pose an unreasonable risk to health and safety or property when transported in commerce.” Consists of hazmatCode and hazmatFlag. | ||
contains | hazmatCode | The hazmat element is optional. If the commodity is not hazardous, omit this element from the commodity being passed to prevent validations from requiring its child elements. Used in each commodity element of the optional unbounded commodities element, this is required if the adjacent hazmat flag has a value. It must start with one of the two values listed here to be a valid industry standard hazardous material code. | |
• NA | |||
• UN | |||
hazmatFlag | Used in each commodity element of the optional unbounded commodities element, the hazmat code here represents the type of hazmat commodity. Valid values are listed below: | ||
• (BLANK) | |||
• C — Corrosive | |||
• D — Dangerous | |||
• E — Explosives | |||
• F — Flammable | |||
• G — Flammable gas | |||
• H — Hazardous | |||
• L — Chlorine | |||
• M — Combustible | |||
• N — Nonflammable gas | |||
• P — Poison | |||
• R — Radioactive | |||
• S — Flammable solid | |||
• X — Oxidizer | |||
pieces | The number of pieces of transport handling equipment (pallets, boxes, cases, etc.) in this consignment. | ||
weight | The total declared weight of the goods in this consignment, including packaging but excluding the carrier’s equipment. | ||
nmfcNumber | |||
nmfcSubNumber | |||
comments | Used in each comment element of the optional unbounded comments element, the type code here indicates the type of comment. Valid values are listed below: | ||
• CCM — Consignee Comment | |||
• CSI — Consignee Special Instruction | |||
• SCM — Shipper/Stop Comment | |||
• SSI — Shipper/Stop Special Instruction | |||
• 3CM — 3rd Party Comment | |||
• 3SI — 3rd Party Special Instruction | |||
• 4CM — 4th Party Comment | |||
• 4SI — 4th Party Special Instruction | |||
• 5CM — 5th Party Comment | |||
• 5SI — 5th Party Special Instruction | |||
• 6CM — 6th Party Comment | |||
• 6SI — 6th Party Special Instruction | |||
addresses | A class to define common information related to an address. | ||
contains | type | Used in each address element of the optional unbounded addresses element, the type code here indicates the type of address being passed. Valid values are listed below: | |
• C — Consignee Address | |||
• 3 — 3rd Party Address | |||
• 4 — 4th Party Address | |||
• 5 — 5th Party Address | |||
• 6 — 6th Party Address | |||
line | An unstructured address line. | ||
city | The name of a city, town, or village. | ||
state | A territorial division of a country, such as a county or state, expressed as text. | ||
postalCode | The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code. | ||
country | The country in which this address is situated. | ||
contacts | Used in each contact element of the optional unbounded contacts element, the type code here indicates the type of contact being passed. Valid values are listed below: | ||
contains | • A — Actual Submitter | ||
• C — Consignee Contact | |||
• R — Requested Response Contact | |||
• S — Shipper Contact | |||
• 3 — Third Party Contact | |||
• 4 — Fourth Party Contact | |||
• 5 — Fifth Party Contact | |||
• 6 — Sixth Party Contact | |||
name | The name of this contact. It is recommended that this be used for a functional name and not a personal name. | ||
The primary email address of this contact. | |||
phone | The primary telephone number of this contact. | ||
fax | The primary fax number of this contact. | ||
receiveNotifications | Boolean | ||
notificationMethod | This code indicates the method of notification if the receiveNotifications element is enabled for the contact (Y). Valid values are listed below: | ||
• E — Email | |||
• F — Fax (NOTE Fax-based notifications are unavailable at this time.) | |||
notifications | You can subscribe to automatic notification emails, which are sent at key events throughout the pickup lifecycle. This code indicates the type of event to subscribe to for automatic notifications. (Valid values are listed below.) It’s also possible to pass multiple notification elements with a different type on each to receive notifications when more than one of the following events occur. The notifications will be sent to all contacts passed with the receiveNotifications element set to Y via a valid associated email address. | ||
• ACC — Terminal accepted pickup | |||
• BGN — Work has begun | |||
• RCV — Pickup request received | |||
• RJT — Pickup request rejected | |||
• WRK — Pickup request worked (Estes has the freight.) | |||
originTerminal | class | The terminal at which freight is received from the shipper. | |
contains | number | ||
name | |||
address | A class to define common information related to an address. | ||
contains | |||
line | An unstructured address line. | ||
city | The name of a city, town, or village. | ||
state | A territorial division of a country, such as a county or state, expressed as text. | ||
postalCode | The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code. | ||
country | The country in which this address is situated. | ||
telephone | The primary telephone number of this contact. | ||
fax | The primary fax number of this contact. | ||
The primary email address of this contact. |
Dispatcher Reject Reasons
Milestone Grouping | Pickup Reject Reason Code | FRIENDLY VERBIAGE |
---|---|---|
Pickup Completed | CC | Pickup Request Canceled by Customer |
Pickup Completed | CCR | Pickup Request Canceled by Customer |
Pickup Completed | DP | Duplicate Request - Freight Being Tracked with Different Number |
Pickup Completed | NE | Pickup Request Closed - Equipment Not Available |
Pickup Completed | RS | Pickup Request Closed - Please Reschedule |
Pickup Completed | XC | Pickup Request Closed - Capacity Constraints |
Pickup Completed | IP | Pickup Request Closed - Freight Improperly Packaged |
Pickup Completed | NF | Pickup Request Closed - No Freight Available |
Pickup Completed | NH | Pickup Request Closed - Prohibited or Restricted Freight |
Pickup Completed | NR | Pickup Request Closed - Freight Not Ready |
Pickup Completed | ST | Pickup Request Closed - Shipper Location on Strike |
Pickup Completed | TC | Pickup Request Closed - Freight Released to Alternate Carrier By Shipper |
Pickup Completed | UC | Pickup Request Closed - Unable to Contact Shipper to Make Appointment for Pickup |
Pickup Completed | UK | Pickup Request Closed - Shipper Has No Knowledge of Freight |
Pickup Completed | UL | Pickup Request Closed - Unable to Locate Pickup Location |
Pickup Completed | WHEN {Pickup Reject Reason Code} does not map into one of these codes and TRANSPORT EVENT is “Rejected the Request”: | Pickup Request Canceled |
Pickup Completed | WHEN {Pickup Reject Reason Code} does not map into one of these codes and TRANSPORT EVENT is “No freight received”: | Pickup Request Canceled |
Driver Pickup No Service Reasons
Milestone Grouping | FRIENDLY VERBIAGE |
---|---|
Departed Pickup Location | Pickup Exception - Will Attempt Next Business Day |
Departed Pickup Location | Pickup Attempted - Freight Picked Up Under Different Pickup Request |
Departed Pickup Location | Pickup Exception - Will Attempt Next Business Day |
Departed Pickup Location | Pickup Attempted - Shipper Holiday - Will Attempt Next Business Day |
Departed Pickup Location | Pickup Attempted - Freight Improperly Packaged - Reschedule Required |
Departed Pickup Location | Pickup Attempted - Shipper Unavailable - Will Return Later Today |
Departed Pickup Location | Pickup Attempted - Shipper Unavailable - Will Return Later Today |
Departed Pickup Location | Pickup Attempted - No Freight Available - Reschedule Required |
Departed Pickup Location | Pickup Attempted - Shipper Unavailable - Will Return Later Today |
Departed Pickup Location | Pickup Attempted - Shipper Location on Strike - Reschedule Required |
Departed Pickup Location | Pickup Attempted - Prohibited or Restricted Freight |
Departed Pickup Location | Pickup Exception - Will Attempt Next Business Day |
Departed Pickup Location | Pickup Attempted - Will Return Later Today |
Departed Pickup Location | Pickup Attempted - Freight Released to Alternate Carrier By Shipper |
Departed Pickup Location | Pickup Attempted - Shipper Had No Knowledge of Freight - Reschedule Required |
Departed Pickup Location | Pickup Attempted - Freight Released to Alternate Carrier By Shipper |
Departed Pickup Location | Pickup Attempted - Unable to Locate Pickup Location - Reschedule Required |
Reschedule Reason Codes
Pickup Appointment Date Change Reason Code | FRIENDLY PICKUP STATUS VERBIAGE |
---|---|
BK | Pickup Rescheduled - Equipment Not Available |
CC | Pickup Rescheduled - Shipper Unavailable |
CO | Pickup Rescheduled - Daily Route Constraint |
CR | Pickup Rescheduled - Customer Request |
DE | Pickup Rescheduled - Dispatcher Planning |
HO | Pickup Rescheduled - Shipper Holiday |
NF | Pickup Rescheduled - Freight Not Available |
NS | Pickup Rescheduled - Area Not Serviced Today |
OR | Pickup Rescheduled - Origin Capacity Constraint |
RL | Pickup Rescheduled - Received Request Too Late |
SK | Pickup Rescheduled - Shipper Has No Knowledge of Freight |
WE | Pickup Rescheduled - Inclement Weather |
Shipment History
Field | Description | |
---|---|---|
pro | PRO-tracking number | |
documentReference | The document reference contains additional BOL & PO numbers, and other document references. References are data type strings. Example: “BOL” | |
contains | ID | |
documentType | Document type code | |
pickupRequestNumber | ||
pickupDate | The actual pickup date. | |
pickupTime | The actual pickup time. | |
expeditedCode | This is an optional code indicating the priority of the resulting shipment after successful pickup. See expeditedDescription for list of codes. | |
expeditedDescription | Valid expeditedCode with expeditedDescription: | |
• CGM1 - LTL Guaranteed 5 PM | ||
• CGM2 - LTL Guaranteed 12 PM | ||
• CGM3 - LTL Guaranteed 10 AM | ||
• GMR1 - Estes Retail Guaranteed 5 PM | ||
• GMS1 - LTL Guaranteed 5 PM | ||
• GMS2 - LTL Guaranteed 12 PM | ||
• GMS3 - LTL Guaranteed 10 AM | ||
• GMSX - Guaranteed Exclusive Use | ||
• GMV1 - Volume LTL Guaranteed | ||
• GMV2 - Volume LTL Guaranteed Economy | ||
isResidential | Boolean value | |
isTruckload | Boolean value | |
status | A class to describe the condition or position of an object. | |
contains | conciseStatus | consists of milestone status explaining the current position of the freight or Pro in question |
• Departed Pickup Location | ||
• In Transit | ||
• Out for Delivery | ||
• Delivered | ||
expandedStatus | A detailed description expanding on the current position of the freight or Pro in question. See the following: | |
• Shipment picked up | ||
• Loaded at Estes facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Trailer Closed at Estes facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Departed Estes facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Departed Estes facility at {last Terminal Name not equal to 900 series}, {Terminal State} ({Terminal Number}) | ||
• En route to Estes facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Departed Estes facility at {last Terminal Name not equal to 900 series}, {Terminal State} ({Terminal Number}) | ||
• Arrived at Estes facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Departed Estes facility at {last Terminal Name not equal to 900 series}, {Terminal State} ({Terminal Number}) | ||
• Loaded at Estes facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Departed Estes facility at {last Terminal Name not equal to 900 series}, {Terminal State} ({Terminal Number}) | ||
• Trailer Closed at Estes facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Departed Estes facility at {last Terminal Name not equal to 900 series}, {Terminal State} ({Terminal Number}) | ||
• En route to delivery facility at {Terminal Name}, {Terminal State} ({Terminal Number}) | ||
• Arrived at {Terminal Name}, {Terminal State} ({Terminal Number}) delivery facility | ||
• Arrived at {Terminal Name}, {Terminal State} ({Terminal Number}) delivery facility | ||
• Arrived at {Terminal Name}, {Terminal State} ({Terminal Number}) delivery facility | ||
• Loaded for delivery at {Terminal Name}, {Terminal State} ( {Terminal Number}) delivery facility | ||
• Trailer Closed for delivery at {Terminal Name}, {Terminal State} ( {Terminal Number}) delivery facility | ||
• Assigned to Driver at {Terminal Name}, {Terminal State} ( {Terminal Number}) delivery facility | ||
• Out for delivery | ||
• Arrived at delivery location | ||
• Unloaded at delivery location | ||
• Driver Delivery No Service Reason – see table | ||
• Dispatcher Bring Back Reason – see table | ||
referenceDate | Date the most recent status was applied | |
referenceTime | Time the most recent status was applied | |
reasonCode | The reason for this status condition or position, expressed as a code. See the following: | |
• See Driver Delivery No Service Reason | ||
• See Dispatcher Bring Back Reason | ||
reason | The reason for this status condition or position, expressed as text. See the following: | |
• See Driver Delivery No Service Reason | ||
• See Dispatcher Bring Back Reason | ||
packageType | ||
packageDescription | ||
isException | A Boolean field where “True” indicates the shipment is experiencing an exception status as listed in Exception Status Table. | |
deliveryDate | The actual date of delivery. | |
deliveryTime | The actual time of delivery. | |
receivedBy | ||
estimatedDelivery | Object - The period estimated for delivery. | |
contains | startDate | The date on which this period begins. |
startTime | The time at which this period begins. | |
endDate | The date on which this period ends. | |
endTime | The time at which this period ends. | |
transitDays | ||
driverInfo | class | |
contains | name | |
geoCoordinates | ||
stopsAway | ||
appointment | ||
contains | status | |
startDate | ||
startTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the start of the time-window when the client expects Estes to execute the pickup. | |
endDate | ||
endTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the end of the time-window when the client expects Estes to execute the pickup. | |
appointmentHistory | Object | |
contains | status | |
startDate | ||
startTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the start of the time-window when the client expects Estes to execute the pickup. | |
endDate | ||
endTime | This is a 4-digit time with a 2-digit hour and 2-digit minute that indicates the end of the time-window when the client expects Estes to execute the pickup. | |
createdDate | The date when the Pickup request is submitted | |
createdTime | The time when the Pickup request is submitted | |
piecesCount | ||
totalWeight | ||
cube | The total cubic volume of the shipment based on the BOL or actual dimension scans. | |
ratedCube | The cubic volume used to rate the shipment. This can vary from “cube” due to pricing contract rules or adjustments. | |
freightCharges | ||
terms | ||
consigneeParty | Object - The designated recipient (customer) of a shipment as indicated on the Bill of Lading. | |
contains | accountNumber | Used in each referenceNumber element of the optional unbounded referenceNumbers element, this code defines the type of reference number passed in that element. Below are the valid values: |
AID - Appointment ID | ||
ARN - Amazon Reference Number | ||
AUT - Authorization Number | ||
BOL - Shipper Bill of Lading Number | ||
DOC - Dock Door Number | ||
DPT - Consignee Department Number | ||
EXL - Estes Unique ID EUID# or CUID# | ||
HO - Homeowner Name | ||
LDN - Load Number ID | ||
NUM - Shipper Reference Numbers | ||
PKG - Sipper Package ID | ||
PON - Purchase Order Number | ||
PRO - Estes PRO# | ||
PU# - Pickup Number from the Customer | ||
RAU - Shipper Return Authorization | ||
SID - Ship ID# | ||
SNO - Shipper Numbers | ||
name | The name of this branch or division of an organization. | |
address | class | |
line (items) | An unstructured address line. | |
city | The name of a city, town, or village. | |
state | the state abbreviation | |
postalCode | The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code. | |
country | The country in which this address is situated. | |
geoCoordinates | ||
shipperParty | Object - The designated shipper as indicated on the Bill of Lading. | |
contains | accountNumber | Used in each referenceNumber element of the optional unbounded referenceNumbers element, this code defines the type of reference number passed in that element. Below are the valid values: |
AID - Appointment ID | ||
ARN - Amazon Reference Number | ||
AUT - Authorization Number | ||
BOL - Shipper Bill of Lading Number | ||
DOC - Dock Door Number | ||
DPT - Consignee Department Number | ||
EXL - Estes Unique ID EUID# or CUID# | ||
HO - Homeowner Name | ||
LDN - Load Number ID | ||
NUM - Shipper Reference Numbers | ||
PKG - Sipper Package ID | ||
PON - Purchase Order Number | ||
PRO - Estes PRO# | ||
PU# - Pickup Number from the Customer | ||
RAU - Shipper Return Authorization | ||
SID - Ship ID# | ||
SNO - Shipper Numbers | ||
name | The name of this branch or division of an organization. | |
address | class | |
line (items) | An unstructured address line. | |
city | The name of a city, town, or village. | |
state | the state abbreviation | |
postalCode | The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code. | |
country | The country in which this address is situated. | |
geoCoordinates | ||
thirdParty | Object - The designated third party of a shipment as indicated on the Bill of Lading. | |
contains | accountNumber | Used in each referenceNumber element of the optional unbounded referenceNumbers element, this code defines the type of reference number passed in that element. Below are the valid values: |
AID - Appointment ID | ||
ARN - Amazon Reference Number | ||
AUT - Authorization Number | ||
BOL - Shipper Bill of Lading Number | ||
DOC - Dock Door Number | ||
DPT - Consignee Department Number | ||
EXL - Estes Unique ID EUID# or CUID# | ||
HO - Homeowner Name | ||
LDN - Load Number ID | ||
NUM - Shipper Reference Numbers | ||
PKG - Sipper Package ID | ||
PON - Purchase Order Number | ||
PRO - Estes PRO# | ||
PU# - Pickup Number from the Customer | ||
RAU - Shipper Return Authorization | ||
SID - Ship ID# | ||
SNO - Shipper Numbers | ||
name | The name of this branch or division of an organization. | |
address | class | |
line (items) | An unstructured address line. | |
city | The name of a city, town, or village. | |
state | the state abbreviation | |
postalCode | The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code. | |
country | The country in which this address is situated. | |
destinationTerminal | Object - The terminal that will deliver the shipment within the geographical area that the terminal serves. | |
contains: | number | |
name | The name of this branch or division of an organization. | |
address | references consigneeParty/address - A class to define common information related to an address. | |
geoCoordinates | ||
telephone | The primary telephone number of this contact. | |
fax | The primary fax number of this contact. | |
The primary email address of this contact. | ||
originTerminal | Object - The terminal where the delivery originates within the geographical area that the terminal serves. | |
contains: | number | |
name | The name of this branch or division of an organization. | |
address | references consigneeParty/address - A class to define common information related to an address. | |
geoCoordinates | ||
telephone | The primary telephone number of this contact. | |
fax | The primary fax number of this contact. | |
The primary email address of this contact. | ||
interlineFrom | class | |
contains | pro | Interline pro for shipment tracking |
scacCode | ||
interlineTo | class | |
contains | pro | Interline pro for shipment tracking |
scacCode | ||
disclaimers | ||
movementHistory | Object (this section includes current history and the running history of the movement of freight) | |
contains | id | |
description | ||
location | contains | |
id | ||
name | ||
code | ||
address | contains | |
line | ||
city | ||
state | ||
postalCode | ||
country | ||
geoCoordinates | ||
contact | contains | |
telephone | ||
fax | ||
transportEventTypeCode | ||
statusHistory | contains | |
conciseStatus | ||
expandedStatus | ||
referenceDate | ||
referenceTime | ||
reasonCode | ||
reason | ||
quantity | ||
packageType | ||
packageDescription |
Driver Delivery No Service Codes
Milestone Grouping | PEGA No Service and Exception Code | Friendly Verbiage |
---|---|---|
Delivered | BBC | Delivery Completed - OK |
Out for Delivery | CutOffResolved | Unable to Deliver - Will Reattempt Tomorrow |
Delivered | DD | Delivery Completed - Damage Noted |
Out for Delivery | Departed | Departed Delivery Location |
Delivered | DO | Delivery Completed - Overage Noted |
Delivered | DS | Delivery Completed - Shortage Noted |
Delivered | DSW | Delivery Completed - Shortage Noted, Shrink Wrap Intact |
Out for Delivery | EndofDayResolved | Unable to Deliver - Will Attempt Tomorrow |
Out for Delivery | HL | Delivery Attempted - Customer Holiday |
Out for Delivery | LT | Out for Delivery |
Delivered | NB | Delivery Completed - Delivery Receipt Unavailable |
Delivered | NF | Delivery Attempted - Freight Unavailable |
Out for Delivery | NR | Delivery Attempted - No Receiving Personnel |
Delivered | PL | Delivery Completed - Shortage Noted |
Delivered | PR | Delivery Completed - Partially Refused |
Delivered | RD | Delivery Attempted - Damage Noted, Freight Refused |
Delivered | RF | Delivery Attempted - Freight Refused |
Delivered | RS | Delivery Attempted - Shortage Noted, Freight Refused |
Delivered | SND | Delivery in Progress – Freight Given to Consignee for Unloading |
Out for Delivery | ST | Delivery Attempted - Customer on Strike |
Out for Delivery | UL | Delivery Attempted - Unable to Locate Customer |
Out for Delivery | UP | Delivery Attempted - Awaiting Payment |
Dispatcher Bring Back Reason Codes
Milestone Grouping | Delivery status | Bring Back Code | Friendly Reason Code Description |
---|---|---|---|
In Transit | N | AGT | Awaiting Delivery - Freight Given to Final Delivery Agent |
Out for Delivery | N | BK | Delivery Attempted - Breakdown |
Out for Delivery | N | BRK | Delivery in Progress - Documents Submitted to Broker |
Delivered | Y | CLO | Delivery Completed - Closed Out |
Out for Delivery | N | CO | Unable to Deliver - Will Attempt Tomorrow |
Out for Delivery | N | CT | Delivery Attempted - CT |
Delivered | Y | CTI | Delivery Completed - Delivered to Interline Partner |
Delivered | * | DB | Undelivered - Duplicate Billing |
Out for Delivery | N | DCA | Undelivered - Declaration Accepted |
Delivered | Y | DD | Delivery Completed - Damage Noted |
Delivered | Y | DDI | Delivery Completed - Delivered to Interline with Damage Noted |
In Transit | Y | DI | Awaiting Delivery - Freight Given to Interline Partner |
Delivered | Y | DM | Delivery Completed - Delivered to Broker at Border |
Delivered | Y | DMP | Delivery Completed - Refused and Estes Handling Disposal |
Delivered | Y | DO | Delivery Completed - Overage Noted |
Delivered | Y | DOI | Delivery Completed - Delivered to Interline Partner |
Delivered | Y | DPR | Delivery Completed - Partially Refused |
Delivered | Y | DPU | Delivery Completed - Freight Picked up from Dock |
Delivered | * | DRC | Undelivered - Reconsigned |
Delivered | N | DRD | Delivery Attempted - Damage Noted, Freight Refused |
Delivered | N | DRF | Delivery Attempted - Freight Refused |
Delivered | N | DRS | Delivery Attempted - Shortage Noted, Freight Refused |
Delivered | Y | DS | Delivery Completed - Shortage Noted |
Delivered | Y | DSI | Delivery Completed - Delivered Short to Interline |
Delivered | Y | DSW | Delivery Completed - Shortage Noted, Shrink Wrap Intact |
Delivered | R | DTS | Undelivered - Returned to Shipper |
Out for Delivery | N | EQ | Delivery Attempted - Special Equipment Required |
Out for Delivery | N | EXL | Delivery in Progress - Freight Given to Estes LTL |
Out for Delivery | N | HF | Delivery Attempted - Held Freight(Hazard/Poison/Freeze) |
Out for Delivery | N | HL | Delivery Attempted - Customer Holiday |
Out for Delivery | N | INB | Delivery in Progress - Freight In Bond |
Out for Delivery | N | L2L | Awaiting Delivery - Freight Given to Final Delivery Agent |
Out for Delivery | N | LT | Out for Delivery |
Delivered | N | NB | Delivery Completed - Delivery Receipt Unavailable |
Delivered | N | NF | Delivery Attempted - Freight Unavailable |
Delivered | Y | NFT | Delivery Completed - No Freight Over 30 Days |
Out for Delivery | N | NR | Delivery Attempted - No Receiving Personnel |
Out for Delivery | N | OH | Delivery Attempted - On Hand |
Delivered | Y | OK | Delivery Completed - OK |
Delivered | Y | OP | Delivery Completed - Container(s) Open |
Out for Delivery | N | OV | Delivery Attempted - Overage |
Delivered | Y | PL | Delivery Completed - Shortage Noted |
Delivered | Y | PR | Delivery Completed - Partially Refused |
Out for Delivery | N | PUD | Out for Delivery |
Out for Delivery | N | PW | Delivery Attempted - Poor Weather Conditions |
Out for Delivery | N | RCC | Awaiting Delivery - Customs Released |
Delivered | * | RCN | Undelivered - Reconsigned |
Delivered | N | RD | Delivery Attempted - Damage Noted, Freight Refused |
Out for Delivery | N | RDD | Awaiting Delivery - Freight Given to Final Delivery Agent |
Delivered | N | RF | Delivery Attempted - Freight Refused |
Delivered | N | RS | Delivery Attempted - Shortage Noted, Freight Refused |
Delivered | I | RTI | Undelivered - Returned to Interline |
Delivered | * | RTS | Undelivered - Returned to Shipper |
Delivered | N | SND | Delivery in Progress - Freight Given to Consignee for Unloading |
Delivered | * | SSR | Undelivered - No Freight Shipper Load and Count |
Out for Delivery | N | ST | Delivery Attempted - Customer on Strike |
Out for Delivery | N | UL | Delivery Attempted - Unable to Locate Consignee |
Out for Delivery | N | UNL | Delivery Attempted - UNL |
Out for Delivery | N | UP | Delivery Attempted - Awaiting Payment |
Out for Delivery | N | WDL | Delivery Attempted - Weather Delay |
Exception Status Table
Status Reason | Exception? T/F | Expanded Status (Friendly Delivery Status) |
---|---|---|
AGT | F | Awaiting Delivery - Freight Given to Final Delivery Agent |
BK | T | Delivery Attempted - Breakdown |
BRK | F | Delivery in Progress - Documents Submitted to Broker |
CLO | F | Delivery Completed - Closed Out |
CO | T | Unable to Deliver - Will Attempt Tomorrow |
CT | T | Delivery Attempted - CT |
CTI | F | Delivery Completed - Delivered to Interline Partner |
DB | T | Undelivered - Duplicate Billing |
DCA | T | Undelivered - Declaration Accepted |
DD | T | Delivery Completed - Damage Noted |
DDI | T | Delivery Completed - Delivered to Interline with Damage Noted |
DI | F | Awaiting Delivery - Freight Given to Interline Partner |
DM | F | Delivery Completed - Delivered to Broker at Border |
DMP | T | Delivery Completed - Refused and Estes Handling Disposal |
DO | T | Delivery Completed - Overage Noted |
DOI | F | Delivery Completed - Delivered to Interline Partner |
DPR | T | Delivery Completed - Partially Refused |
DPU | F | Delivery Completed - Freight Picked up from Dock |
DRC | T | Undelivered - Reconsigned |
DRD | T | Delivery Attempted - Damage Noted, Freight Refused |
DRF | T | Delivery Attempted - Freight Refused |
DRS | T | Delivery Attempted - Shortage Noted, Freight Refused |
DS | T | Delivery Completed - Shortage Noted |
DSI | T | Delivery Completed - Delivered Short to Interline |
DSW | T | Delivery Completed - Shortage Noted, Shrink Wrap Intact |
DTS | T | Undelivered - Returned to Shipper |
EQ | T | Delivery Attempted - Special Equipment Required |
EXL | F | Delivery in Progress - Freight Given to Estes LTL |
HF | T | Delivery Attempted - Held Freight(Hazard/Poison/Freeze) |
HL | T | Delivery Attempted - Customer Holiday |
INB | F | Delivery in Progress - Freight In Bond |
L2L | F | Awaiting Delivery - Freight Given to Final Delivery Agent |
LT | F | Out for Delivery |
NB | T | Delivery Completed - Delivery Receipt Unavailable |
NF | T | Delivery Attempted - Freight Unavailable |
NFT | T | Delivery Completed - No Freight Over 30 Days |
NR | T | Delivery Attempted - No Receiving Personnel |
OH | T | Delivery Attempted - On Hand |
OK | F | Delivery Completed - OK |
OP | T | Delivery Completed - Container(s) Open |
OV | T | Delivery Attempted - Overage |
PL | T | Delivery Completed - Shortage Noted |
PR | T | Delivery Completed - Partially Refused |
PUD | F | Out for Delivery |
PW | T | Delivery Attempted - Poor Weather Conditions |
RCC | F | Awaiting Delivery - Customs Released |
RCN | T | Undelivered - Reconsigned |
RD | T | Delivery Attempted - Damage Noted, Freight Refused |
RDD | F | Awaiting Delivery - Freight Given to Final Delivery Agent |
RF | T | Delivery Attempted - Freight Refused |
RS | T | Delivery Attempted - Shortage Noted, Freight Refused |
RTI | T | Undelivered - Returned to Interline |
RTS | T | Undelivered - Returned to Shipper |
SND | F | Delivery in Progress - Freight Given to Consignee for Unloading |
SSR | T | Undelivered - No Freight Shipper Load and Count |
ST | T | Delivery Attempted - Customer on Strike |
UL | T | Delivery Attempted - Unable to Locate Consignee |
UNL | T | Delivery Attempted - UNL |
UP | T | Delivery Attempted - Awaiting Payment |
WDL | T | Delivery Attempted - Weather Delay |
Geo Location
Geo Location (GPS) data represents the physical location of freight at key points while in transit. The timing and availability of geo location information is dependent on the stage of the transit lifecycle. For example, there are more triggering events when freight is Out for Delivery than when moving through the Line Haul network. Data is collected through Driver Hand Held (HH) devices and the Line Haul Central Dispatch network. Be aware that GPS data may not be available during transit depending on certain conditions.
The following table indicates the availability of geo location data returned by the Tracking API:
Freight Movement (Location) | Geo Location Data Availability |
---|---|
Origin Terminal for Pickup | Yes at time of terminal departure |
Stops Away From Pickup | Yes at each stop |
Pick Up | Yes at location arrival |
Return to Origin Terminal | Yes but updated only after departing terminal in Line Haul |
Hub(s) | Yes |
Line Haul Meet Point* | Yes |
Destination Terminal | Yes |
Stops Away from Delivery | Yes at each stop |
Delivery Location | Yes at location arrival |
* Certain Line Haul Meet Point locations may not be on the Central Dispatch network and may not have GPS data.
Geo Location data is presented in longitude, latitude order.
The following example is presented in this JSON fragment returned from Shipment Tracking and Pickup APIs.
"geoCoordinates": [
"-72.900644",
"41.547504"
],