Appendix
Exception Codes
project44 Exception Codes
The table below lists project44’s Reason Summary and Detail Code for shipment exceptions during tracking.
reasonSummaryCode |
reasonDetailCode |
---|---|
APPOINTMENT_ISSUE |
APPOINTMENT_SET |
APPOINTMENT_ISSUE |
PERMANENT_APPOINTMENT_REQUIRED |
APPOINTMENT_ISSUE |
DELIVERY_ATTEMPTED_REAR_LOAD |
APPOINTMENT_ISSUE |
DELIVERY_ATTEMPTED_APPOINTMENT |
BILLING_ISSUE |
CREDIT_HOLD |
BILLING_ISSUE |
NO_PAYMENT_AVAILABLE_AT_DELIVERY |
DELIVERY_ISSUE |
CONSIGNEE_CLOSED |
DELIVERY_ISSUE |
DELIVERY_ATTEMPTED_NO_DOCK_SPACE |
DELIVERY_ISSUE |
LIMITED_ACCESS_LOCATIONS |
DELIVERY_ISSUE |
INCORRECT_ADDRESS_PROVIDED |
DELIVERY_ISSUE |
REFUSED_NO_RETURN_AUTHORIZATION |
DELIVERY_ISSUE |
CONSIGNEE_CANCELLED_ORDER |
DELIVERY_ISSUE |
DELIVERY_REQUIRES_SPECIAL_EQUIPMENT |
DELIVERY_ISSUE |
CONSIGNEE_DISPUTES_CHARGES |
DELIVERY_ISSUE |
CONS_CLOSED_FOR_HOLIDAY |
DELIVERY_ISSUE |
RECONSIGNED_TO_NEW_CONSIGNEE |
DELIVERY_ISSUE |
REFUSED_BY_CONS_CANNOT_RECEIVE_ON_DELIVERY_DATE |
DELIVERY_ISSUE |
CANNOT_REACH_CONSIGNEE |
DELIVERY_ISSUE |
CANNOT_FIND_CONSIGNEE_ADDRESS |
OTHER_EXCEPTION |
GENERAL_EXCEPTION |
PAPERWORK_ISSUE |
INVALID_OR_MISSING_PURCHASE_ORDER_NUMBER |
PAPERWORK_ISSUE |
MISSING_PACKING_LIST |
SHIPMENT_ISSUE |
OVERAGE |
SHIPMENT_ISSUE |
SHORTAGE |
SHIPMENT_ISSUE |
CONS_DID_NOT_ORDER_FREIGHT |
SHIPMENT_ISSUE |
WRONG_PRODUCT_SHIPPED |
SHIPMENT_ISSUE |
DUPLICATE_SHIPMENT |
SHIPMENT_ISSUE |
PROTECTIVE_SERVICE_REQUIRED |
SHIPMENT_ISSUE |
DAMAGED_ON_DELIVERY |
SHIPMENT_ISSUE |
HAZARDOUS_MATERIAL |
SHIPMENT_ISSUE |
DAMAGED |
SPOT_SHIPMENT |
SPOT_MARKET_SHIPMENT |
STAFFING_ISSUE |
WORK_STOPPAGE |
TRANSIT_ISSUE |
SHIPMENT_TENDERED_LATE |
TRANSIT_ISSUE |
WAITING_INSTRUCTIONS |
TRANSIT_ISSUE |
EMERGENCY_DELAY_IN_TRANSIT |
TRANSIT_ISSUE |
SHIPMENT_ALASKA_OR_HAWAII |
VEHICLE_ISSUE |
SHIP_WHEN_CAPACITY_AVAILABLE |
WEATHER_ISSUE |
WEATHER_DELAY_CLEARED |
WEATHER_ISSUE |
WEATHER_DELAY |
INFO_MESSAGE |
Exception Code Payload Examples
Below are examples of how to use exception codes in the POST Send Tracking Data payload.
Using project44’s exception code:
"statusCode": "OUT_FOR_DELIVERY",
"statusReason": {
"reasonSummaryCode": "APPOINTMENT_ISSUE",
"reasonDetailCode": "DELIVERY_ATTEMPTED_APPOINTMENT",
"description": "string"
}
Using project44’s exception code:
"statusCode": "DELIVERED",
"statusReason": {
"reasonSummaryCode": "SHIPMENT_ISSUE",
"reasonDetailCode": "DAMAGED_ON_DELIVERY",
"description": "string"
}
Using project44’s exception code with additional explanation in the description field:
"statusCode": "DELIVERED",
"statusReason": {
"reasonSummaryCode": "SHIPMENT_ISSUE",
"reasonDetailCode": "DAMAGED_ON_DELIVERY",
"description": "package number 002 is slightly damaged"
}
Using an exception code that does not match or cannot be mapped to one of project44’s exception codes:
"statusCode": "INFO",
"statusReason": {
"reasonSummaryCode": "INFO_MESSAGE",
"description": "string"
}
Using an exception code that does not match or cannot be mapped to one of project44’s exception codes:
"statusCode": "DELIVERED",
"statusReason": {
"reasonSummaryCode": "INFO_MESSAGE",
"description": "string"
}
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"
}
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 , or403 |
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) |
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 , 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 (project44 error) or CAPACITY PROVIDER (Capacity Provider or Carrier error). |
supportReferenceId |
A reference identifier used by project44 support to assist with certain error messages. |