Error Handling¶
Check Error Code and Message¶
If throwExceptionOnError()
is not turned on, then for all requests that are not made successful, DataService
will store the error
object.
To retrieve the error
object, call the getLastError()
method of the DataService
object:
// Make the API call
$result = $dataService->Add($theTargetObj);
$error = $dataService->getLastError();
By default, $dataService->getLastError()
returns FALSE
for a successful API call, so you can simply use an if
statement to check if the last API request was successful:
// Make the API call
$result = $dataService->Add($theTargetObj);
$error = $dataService->getLastError();
if($error) {
...
} else {
....
}
If the API request fails, use getHttpStatusCode()
and getResponseBody()
to get the status code and response message of the failed request, which provides information to help you identify the cause:
//Make the API call
$result = $dataService->Add($theTargetObj);
$error = $dataService->getLastError();
if($error) {
echo "The Status code is: " . $error->getHttpStatusCode() . "\n";
echo "The Response message is: " . $error->getResponseBody() . "\n";
} else {
....
}
Report an Error to Intuit¶
Sometimes the error returned by QuickBooks Online may not be clear, and you would like Intuit Support to help identify the cause. If so, use the following code to record the Intuit-tid from the response, and send us this value along with the Request and Response log you recorded, so we can help you diagnose the issue:
$intuit_tid = $error->getIntuitTid();