The API sends a response after every call. The response is in XML format. If you think about integration it is very important to care about the response. It contains a useful information which indicates the result of the call.
In case of “get” methodes the positive result always contains the response to the call in XML format.
“set” methode’s response contains acknowledgement of the call and the result which can be OK, or error.
Negative result, error
The structure of the error messages is always the same. It helps you to process the errors automatically. If error occured the API operation was not do anything. Let’s be clear. If you like to set a new customer in the CRM via API and an error occured the request will be droped. No data will be saved. In this case you have to correct the error[s] and the API call need to be repeated again.
<?xml version="1.0" encoding="utf-8"?> <response> <error> <code>Error code number</code> <description><![CDATA[Error description]]></description> </error> </response>
API error codes
Authentication and general errors
1 => Missing XML
2 => XML syntax error
3 => Invalid command
4 => Missing parameter
5 => Invalid API key
6 => Invalid session key
7 => Authentication error
8 => Too many requests in the same time. Please try later!
9 => Banned IP address
10 => Your session key is expired. Please authenticate again!
11 => Your protocol of request is not HTTPS
12 => Date format error in field
13 => Integer format error in field
14 => Numeric format error in field
15 => The following field must not be 0:
16 => The following field must be 0 or bigger:
17 => The following field must be minimum 0 and maximum 100:
18 => Standard permission error
19 => The following field must contain only numbers
20 => Invalid VAT
21 => Invalid currency! The valid currencies are:
22 => Invalid e-mail address
23 => The following field must be 0 or 1
24 => Your account is under trial period.
201 => Permission problem or non-existing contact with the given id
202 => Database query error
203 => Bad “contact_owner” field! The following user not exists
204 => Invalid “contact_categories”! The correct categories are:
205 => You have reached the maximum number of contacts in your plan. Please change to a bigger plan.
206 => contact_lastname, contact_firstname or contact_firm nodes could not be empty in case of a new contact.
301 => Non-existing invoice with the given id
302 => Error in “crdr” field. The valid values are the following: received, outgoing, advance in, advance out
303 => Error in “method” field. The valid values are the following: transfer, cash, bankcard, cheque, other, c.o.d., direct debit
304 => Non-existing bank account with the given value
305 => The issue date of invoice must bigger or equal than the issue date of the last invoice.
306 => The payment date of invoice must bigger or equal than the issue date.
307 => Invalid “storno_id”! Non-existing invoice or corrective invoice with the following ID:
308 => Invalid “language”:
309 => The following invoice has already paid:
310 => The sum of the balance and amount is bigger than the total amount of the invoice. Invoice ID:
311 => Invalid currency:
401 => Non-existing product with the given id
402 => Non-existing warehouse
403 => There isn’t enough quantity in the selected warehouse to remove stock with the given product id
404 => The type of product must be 1 (normal) or 3 (voucher)
405 => Non-existing product in field “collective_product” with the given id
406 => The product id is equal to one of it’s part product id in field ‘collective_product’
407 => Invalid shipping type:
408 => Non-existing delivery with the given id
409 => Invalid product price currency:
410 => Invalid takein currency: