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. |