TODO(sarietta): Regenerate this

DDPError Codes

Every request can, at any time, return an error as a response. Error responses always "complete" the request in the sense that no other responses will be sent after an error response has been sent.

As noted in the DDPError definition, each DDPError contains exactly two fields:

  1. error_code
  2. error_message

Error messages are human-readable messages that can help you to understand exactly what's causing the error, but are likely to be too specific and technical for you to show to users of your system. Instead, you should map error_codes to messages that make sense in your context.

Error code hierarchy

Error codes adhere to a simple hierarchical structure. There are categories and subcategories. The categories are exactly the same as the top-level categories in the API Documentation (e.g. Payment, Hardware, etc). subcategories are groups of error codes within a category that relate to the same class of errors. For instance, Hardware errors contain both errors related to networking hardware that connects the DotDashPay platform to the Internet and errors related to payment peripherals. These are subcategories.

Each category using the 1000's place and each subcategory uses the 100's place to provide for future error codes to be added without having to break backwards compatibility.

Error code list

0000's: Platform Internal Errors

1000's: Payment Errors

1000-1099: Processing Errors

2000's: Hardware Errors

2000-2099: Network Errors

2100-2199: Peripheral Errors