Last updated

Appendix

Rail Shipment Event Types

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

Event TypeDescription
ARRIVAL_AT_STOPThe shipment has arrived at a stop.
CONSIGNEE_NOTIFYThe consignee has been notified about the shipment's arrival at a stop.
DEPARTURE_FROM_STOPThe shipment has departed from a stop.
GATE_INAt a stop
GATE_OUTAt a stop
INFO
LOAD_ONTO_VEHICLEShipment has been loaded/ramped at a stop.
UNLOAD_FROM_VEHICLEShipment has been unloaded/deramped at a stop.
TRACKING_COMPLETETracking for the shipment is complete and the vessel has left the final stop or the container is now empty.
TRACKING_END_BY_USERTracking for the shipment has ended because the shipment was canceled.
TRACKING_END_DUE_TO_TIMEOUTTracking for the shipment has ended because the tracking window has ended.
TRACKING_INITIATETracking for the shipment has started and the shipment has been scheduled for dispatch.
TRACKING_STARTTracking for the shipment has started and its location is being acquired.
TRACKING_STOPThe shipment has arrived at its destination
UNKNOWN

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.


Rail Shipment State Types

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

State TypeStart EventStop Event
SCHEDULEDTRACKING_INITIATEAny next event.
IN_TRANSITDEPARTURE_FROM_STOPARRIVAL_AT_STOP
AT_STOPGATE_IN, ARRIVAL_AT_STOPDEPARTURE_FROM_STOP, GATE_OUT
COMPLETEDGATE_OUTN/A

Rail Shipment Stop Types

Stop TypeDetails
ORIGINWhere the empty container is filled by the shipper with the goods to be transported.
DESTINATIONWhere the container is delivered to the consignee.
TRANSFERWhere the land transfer stop is.

Route Segment Identifiers

This table describes the route segment identifiers for Rail shipments.

Route Segment IDDescription
CONTAINER_IDThe identifier for the container the shipment is in.
WAGON_IDThe identifier for the wagon the shipment is being carried by.
RAIL_WAYBILLA document from the rail carrier with information abut the shipment.

The carrier's SCAC and name are returned in the routeSegment.identifiers object in addition to the above route segment IDs.


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.