Appendix
Rail Shipment Event Types
Below are the available Event Types for Rail shipments and the descriptions for each Event Type.
Event Type | Description |
---|---|
ARRIVAL_AT_STOP | The shipment has arrived at a stop. |
CONSIGNEE_NOTIFY | The consignee has been notified about the shipment's arrival at a stop. |
DEPARTURE_FROM_STOP | The shipment has departed from a stop. |
GATE_IN | At a stop |
GATE_OUT | At a stop |
INFO | |
LOAD_ONTO_VEHICLE | Shipment has been loaded/ramped at a stop. |
UNLOAD_FROM_VEHICLE | Shipment has been unloaded/deramped at a stop. |
TRACKING_COMPLETE | Tracking for the shipment is complete and the vessel has left the final stop or the container is now empty. |
TRACKING_END_BY_USER | Tracking for the shipment has ended because the shipment was canceled. |
TRACKING_END_DUE_TO_TIMEOUT | Tracking for the shipment has ended because the tracking window has ended. |
TRACKING_INITIATE | Tracking for the shipment has started and the shipment has been scheduled for dispatch. |
TRACKING_START | Tracking for the shipment has started and its location is being acquired. |
TRACKING_STOP | The 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 Type | Start Event | Stop Event |
---|---|---|
SCHEDULED | TRACKING_INITIATE | Any next event. |
IN_TRANSIT | DEPARTURE_FROM_STOP | ARRIVAL_AT_STOP |
AT_STOP | GATE_IN , ARRIVAL_AT_STOP | DEPARTURE_FROM_STOP , GATE_OUT |
COMPLETED | GATE_OUT | N/A |
Rail Shipment Stop Types
Stop Type | Details |
---|---|
ORIGIN | Where the empty container is filled by the shipper with the goods to be transported. |
DESTINATION | Where the container is delivered to the consignee. |
TRANSFER | Where the land transfer stop is. |
Route Segment Identifiers
This table describes the route segment identifiers for Rail shipments.
Route Segment ID | Description |
---|---|
CONTAINER_ID | The identifier for the container the shipment is in. |
WAGON_ID | The identifier for the wagon the shipment is being carried by. |
RAIL_WAYBILL | A 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 Field | Description |
---|---|
httpStatusCode | The value of the HTTP status code. Possible values are: 400 , 401 , 403 , or 404 |
httpMessage | A 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 ) |
errorMessage | A detailed description of the error. For example: "errorMessage": "Text '2022-03-23T18:38:00Z' could not be parsed, unparsed text found at index 19" |
errors | This array contains more details about the error |
errors.severity | The severity of this message. Possible values are: ERROR , WARNING , or INFO |
error.message | More information about the error. For example: Appointment in the Past |
error.diagnostic | Diagnostic 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.source | The 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. |