Catch and respond to connection errors, invalid requests, data problems, and more.
Error Type | Description |
---|---|
INTEGRATION_ERROR | Raised when the third-party integration encounters an error while processing the end-user’s request. This often results from an issue with the request or data handling that requires your attention to resolve. E.g., a ListID you provided was not found in QuickBooks Desktop, or an accounting value you supplied did not adhere to the integration’s accounting rules.Refer to error.integrationCode for the error code returned by the integration, if available. |
INTEGRATION_CONNECTION_ERROR | Raised when a connection error occurs with the third-party integration on the end-user’s side. This typically indicates an issue with the end-user’s connection or configuration, which they must resolve. In other words, you cannot take action to fix these errors. E.g., the Web Connector failed to connect to QuickBooks Desktop on the end-user’s computer. Refer to error.integrationCode for the error code returned by the integration connector, if available.❗ We recommend not triggering alerts for these errors because only the end-user can fix them. See Global error handling for an example of this. |
INVALID_REQUEST_ERROR | Raised when you make an API call with the wrong parameters, in the wrong state, or in an invalid way. |
AUTHENTICATION_ERROR | Raised when Conductor cannot authenticate you with the credentials you provided. E.g., an incorrect API key. |
ConductorPermissionError | Raised when you attempt to access a resource that is not allowed. |
ConductorConnectionError | Raised when there was a network problem between the client (on your server) and Conductor’s servers. E.g., a downed network or a bad TLS certificate. |
ConductorInternalError | Raised when something went wrong on Conductor’s end. (These are rare.) |
Error Code | Description |
---|---|
INTEGRATION_CONNECTION_NOT_SET_UP | Occurs when an API request is made for an end-user who has not completed the authentication flow. This typically happens when a user begins the QuickBooks Desktop setup process (creating an end-user) but doesn’t finish configuring their company file connection before your app attempts to make API calls. |
INTEGRATION_CONNECTION_NOT_ACTIVE | Indicates that the Web Connector connection is offline. This error occurs when Conductor hasn’t received a heartbeat from Web Connector in over two minutes, suggesting the connector isn’t running or is experiencing issues on the end-user’s machine. |
QBD_CONNECTION_ERROR | Raised when the Web Connector is online but cannot establish a connection with QuickBooks Desktop. Common causes include having the wrong company file open, QuickBooks Desktop not running, or insufficient permissions. |
QBD_REQUEST_ERROR | Indicates a QuickBooks Desktop business logic error. These errors occur when a request violates QuickBooks’ business rules - for example, attempting to create a bank account with a negative opening balance or using an invalid reference to another entity. |
QBD_REQUEST_TIMEOUT | Occurs when QuickBooks Desktop successfully connects but fails to respond within the expected timeframe. This can happen in scenarios where QuickBooks needs to be launched and load a large company file, or when processing requests involving substantial amounts of data. |
error.code
property of any
Conductor error. For integration-specific errors, you can also reference
error.integrationCode
for the raw error code from QuickBooks Desktop.error.message
: The technical error message that you should log for debugging.error.userFacingMessage
: The descriptive user-friendly error message explicitly written for the end-user that often contains instructions helping the end-user resolve the issue.error.userFacingMessage
to your end-users for
every Conductor error while logging the full error
object for your debugging
purposes.message
and userFacingMessage
in the following QBD connection error:
async
/await
:
app.use((error, ...) => { ... })
in Express. Within this handler, perform the following actions:
ConductorError
instance, display the error.userFacingMessage
property to the end-user in your app’s UI while logging the complete error object.ConductorError
instances, transmit the full error object to your error-tracking service (e.g., Sentry):
INTEGRATION_CONNECTION_ERROR
, which are not actionable by you and can only be resolved by the end-user; for example, failure to connect to QuickBooks Desktop on the end-user’s computer.ConductorError
instances, such as an invalid API key.