Last updated

Appendix

Air Shipment Event Types

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

Event TypeDescription
ARRIVAL_AT_STOPThe flight has arrived at the stop.
CONSIGNEE_NOTIFYThe Consignee has been notified of the arrival.
DELIVERYThe cargo has been delivered to the shipper.
DEPARTURE_FROM_STOPThe flight has departed the stop.
EXCEPTION_LATE_DEPARTUREIf the actual time of departure is after the scheduled time of departure, then this event will be generated.
EXCEPTION_MISSED_CONNECTIONIf the estimated time of arrival is after the scheduled time of departure of the next flight, this event will be generated.
FLIGHT_BOOKINGFlight booking information.
LOAD_ONTO_VEHICLECargo has been loaded onto plane.
MANIFESTConfirmation of the number of items being shipped on a flight.
RECEIVE_FROM_SHIPPERThe cargo has been received from the shipper and is being prepared for the flight.
TRACKING_COMPLETEThe shipment has completed.
TRACKING_END_BY_USERThe user has deleted the shipment.
TRACKING_END_DUE_TO_TIMEOUTThe tracking session as timed out.
TRACKING_INITIATEDThe time that the AWB was sent to p44.
TRACKING_STARTThe time p44 started tracking the AWB.
TRACKING_STOPTracking was ended via the API.
UNLOAD_FROM_VEHICLE
WARNINGThe shipment exists in the project44 system, but there is an issue that is preventing tracking. See WARNING Event Type below for more information on the meaning behind this event type and a sample JSON response. In the description field, potential messages include Carrier out of network, Duplicate subscription, Invalid identifier, or Tracking initialization failed.

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":"HOUSE_AIR_WAYBILL", 
            "value":"string" 
         } 
      ], 
      "shipmentShareLink":"string", 
      "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":"Carrier out of network" 
      } 
   ] 
} 

Air Shipment State Types

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

State TypeStart EventStop Event
SCHEDULEDTRACKING_INITIATEDAny next event.
IN_TRANSITDEPARTURE_FROM_STOPARRIVAL_AT_STOP, RECEIVED_FROM_SHIPPER
AT_STOPRECEIVED_FROM_SHIPPER, ARRIVAL_AT_STOPDEPARTURE_FROM_STOP, DELIVERY
COMPLETEDDELIVERYN/A
UNKNOWNN/AN/A

Air Shipment Stop Types

Stop TypeDetails
ORIGINWhere the shipment is loaded onto the plane by the shipper to be transported.
DESTINATIONWhere the shipment is unloaded from the plane.
UNKNOWNAn undefined stop type.
TRANSFERWhere the transfer stop is.

Route Segment Identifiers

This table describes the route segment identifiers for Ocean shipments.

Route Segment IDDescription
AIR_WAYBILLProof of receipt of carried goods to the shipper. This is issued by the carrier.
FLIGHT_NUMBERThe flight number for the carried goods.
HOUSE_AIR_WAYBILLProof of receipt of carrier goods to the shipper. This is issued by the freight forwarder

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": "string",
  "errorMessage": "string",
  "errors": [
    {
      "severity": "ERROR",
      "message": "string",
      "diagnostic": "string",
      "source": "SYSTEM"
    }
  ],
  "supportReferenceId": "string"
} 

401 Invalid or missing credentials

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

403 User not authorized to perform this operation

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

404 Not found

{
  "httpStatusCode": 404,
  "httpMessage": "string",
  "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 Shipment 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.