All of the functions return a string, whose first field indicates if the request was successful or not.
Based on the called function, a successful execution will look like one of these return strings:
"0" "0|field 2|...|field n"
In contrast, if the execution fails the returned string will begin with a value different to "0" followed by some exception information as long as they can be provided (in a blocking call they always can).
"-1" "error code|outer error message|inner exception information"