Last updated

Appendix

FTL Shipment Event Types

Below are the available Event Types for FTL shipments and the descriptions for each Event Type.

Event TypeDescription
ARRIVAL_AT_STOPThe shipment has arrived at a stop.
DELIVERYThe shipment is being delivered to its final destination.
DEPARTURE_FROM_STOPThe vehicle transporting the shipment has left the stop.
DRIVER_DENY_TRACKINGThe driver has not allowed tracking.
IDLEThe vehicle transporting the shipment is not moving.
INFOShipment exception. See the event.description for more information on this exception. In the event of a changed stop location, you will receive an INFO event type and the event.description will be Location Changed
LOCATION_CHANGEDThe stop location has changed.
LOADThe shipment is being loaded onto a vehicle.
MISSING_EQUIPMENT_IDENTIFIERAn equipment identifier was not added during shipment creation. Update the shipment with the necessary equipment ID information.
MISSING_CARRIERThe carrier's information is missing. Update the shipment with the necessary carrier information.
TRACKING_END_BY_USERTracking of the shipment has been ended by the shipper.
TRACKING_END_DUE_TO_TIMEOUTShipment tracking has ended because the appointment window for deliv- ery has ended.
TRACKING_FAILEDTracking has failed.
TRACKING_STARTShipment tracking has started.
UNKNOWN_EQUIPMENT_IDENTIFIERUser submitted the wrong equipment identifier. Update the shipment with the correct equipment ID information.
UNLOAD_FROM_VEHICLEThe shipment is being unloaded from the vehicle at a stop.

All Event Types can sometimes return an ETA or ATA. Please connect with your project44 Customer Success Manager to identify which event types return an ETA or ATA most often for your shipments.

WARNING Event Type

The WARNING event type is returned when the shipment has been successfully created with project44 but there is an issue preventing tracking. An explanation of this issue is included in the description field for the event. Potential values for the description field include:

  • Carrier out of network
  • Duplicate subscription
  • Invalid identifier
  • Tracking initialization failed

Sample JSON response code with the WARNING event type:

{ 
   "shipment":{ 
      "id":"1a060d95-b135-4cb1-9146-2a805a2ebf50", 
      "identifiers":[ 
         { 
            "type":"CARRIER_SCAC", 
            "value":"string" 
         }, 
         { 
            "type":"BILL_OF_LADING", 
            "value":"string" 
         } 
      ], 
      "shipmentShareLink":"https://na12.voc.project44.com/portal/v2/public/ma/tracking-details?shipmentShareToken=fcfb2857-5210-4cc7-912d-e0156e189c3e", 
      "createdDateTime":"2023-01-17T17:05:46+0000" 
   }, 
   "events":[ 
      { 
         "dateTime":"2023-01-17T17:05:47+0000", 
         "receivedDateTime":"2023-01-17T17:05:47+0000", 
         "type":"WARNING", 
         "description":"FTL carrier out of network" 
      } 
   ] 
} 

FTL Shipment State Types

Below are the accepted State Type values for FTL shipments and the Event Types that trigger a State Type start or stop.

State TypeStart EventStop Event
SCHEDULEDTRACKING_STARTAny next event.
IN_TRANSITDEPARTURE_FROM_STOPARRIVAL_AT_STOP, LOAD, UNLOAD
AT_STOPARRIVAL_AT_STOP, LOAD, UNLOADDEPARTURE_FROM_STOP
COMPLETEDDELIVERY, TRACKING_END_BY_USER, TRACKING_END_DUE_TO_TIMEOUTN/A
IDLEIDLEAny next event.
ACTION_REQUIREDUNKNOWN_EQUIPMENT_IDENTIFIER, MISSING_EQUIPMENT_IDENTIFIER, MISSING_CARRIERAny next event.

FTL Shipment Stop Types

Below are the available Stop Types for FTL shipments and the descriptions for each Stop Type.

Stop TypeDetails
ORIGINWhere the truck is filled by the shipper with the goods to be transported. NOTE: Stops are merged if the stop ID or the address of the Truckload ORIGIN matches the stop ID or address of the Ocean PORT_OF_DISCHARGE. for multimodal shipments.
PICKUPWhere the empty vehicle is loaded with the shipment.
DELIVERYWhere the shipment is delivered.
TRANSFERWhere the transfer stop is.
DESTINATIONWhere the shipment is finally delivered to.

Route Segment Identifiers

This table describes the route segment identifiers for FTL shipments.

Route Segment IDDescription
LICENSE_PLATEThe license plate of the vehicle assigned to the route segment.
VEHICLE_IDThe vehicle ID of the vehicle assigned to the route segment.
SENSITECH_DEVICE_IDThe ID of the Sensitech device used in the vehicle assigned to the route segment.
TIVE_DEVICE_IDThe ID of the Tive device used in the vehicle assigned to the route segment.

Error Response Codes

This Appendix describes the schema and fields of the standard project44 API Error Response.

Below, find the API Error Response Schema:

400 Invalid Request

{
  "httpStatusCode": 400,
  "httpMessage": "Invalid request",
  "errorMessage": "string",
  "errors": [
    {
      "severity": "ERROR",
      "message": "string",
      "diagnostic": "string",
      "source": "SYSTEM"
    }
  ],
  "supportReferenceId": "string"
}

401 Invalid or missing credentials

{
  "httpStatusCode": 401,
  "httpMessage": "Invalid or missing credentials",
  "errorMessage": "string",
  "errors": [
    {
      "severity": "ERROR",
      "message": "string",
      "diagnostic": "string",
      "source": "SYSTEM"
    }
  ],
  "supportReferenceId": "string"
}

403 User not authorized to perform this operation

{
  "httpStatusCode": 403,
  "httpMessage": "User not authorized to perform this operation",
  "errorMessage": "string",
  "errors": [
    {
      "severity": "ERROR",
      "message": "string",
      "diagnostic": "string",
      "source": "SYSTEM"
    }
  ],
  "supportReferenceId": "string"
}

404 Not Found

{
  "httpStatusCode": 404,
  "httpMessage": "Not Found",
  "errorMessage": "string",
  "errors": [
    {
      "severity": "ERROR",
      "message": "string",
      "diagnostic": "string",
      "source": "SYSTEM"
    }
  ],
  "supportReferenceId": "string"
}

The table below describes each field of the API Error Response:

Error Response FieldDescription
httpStatusCodeThe value of the HTTP status code. Possible values are: 400, 401, 403, or 404
httpMessageA brief description of the HTTP status code. Possible values are: Invalid request (httpStatusCode = 400), Invalid or missing credentials (httpStatusCode = 401), User not authorized to perform this operation (httpStatusCode = 403), or Not Found (httpStatusCode = 404)
errorMessageA detailed description of the error. For example: "errorMessage": "Text '2022-03-23T18:38:00Z' could not be parsed, unparsed text found at index 19"
errorsThis array contains more details about the error
errors.severityThe severity of this message. Possible values are: ERROR, WARNING, or INFO
error.messageMore information about the error.  For example: Appointment in the Past
error.diagnosticDiagnostic information from project44 (The System) or from the Capacity Provider/Carrier. NOTE: In a Capacity Provider/Carrier integration, it would come only from project44.
error.sourceThe originator of the error message.  NOTE: In a Capacity Provider/Carrier integration, the originator will always be SYSTEM. Possible values are: SYSTEM (error from project44) or CAPACITY PROVIDER (error from the Capacity Provider or Carrier)
supportReferenceId A reference identifier used by project44 support to assist with certain error messages.