Alternative API protocols

The following describes alternative protocols for the API. These protocol are generally easier to implement, much more efficient and only need 1/3 to 1/6 the bandwidth of XML-RPC. They aren't much of a standard though.

Alternative method calling

Rather than encoding your paramters into an XML-RPC method call envelope you can simply send them with a standard HTTP POST request (a from an HTML form) to the same URL.

You must use an additional parameter methodName to pick the method you would like to call.

Using a GET request (encoding the parameters into the URL) works, but is advised against for security reasons. After all you probably don't want your key pop up in our logs and statistics.

Note that calling a method as described above will default to Pretty Simple Tables (described in the next section) as the response format. If for some reason you want your response in XML-RPC format, add another parameter responseFormat=xml-rpc to your request.

Alternative method response format

Rather than receiving method responses in the verbose and bandwidth-heavy XML-RPC format you may request them to be sent as a Pretty Simple Table. Calling a method through a standard HTTP POST request (see above) will automatically send a Pretty Simple Table as response.

If you want to force the use of Pretty Simple Tables in the method response (even when calling the method through XML-RPC) add another parameter responseFormat=pst to your request.

Pretty Simple Table Specification

Pretty Simple Tables are pretty simple. My cat has written a parser for it.

Example
name|pocket money|pet
Mary|5|lamb
Jake|5|cat

Structure

As you see, two simple rules define the table structure:

  1. Table rows are seperated by line breaks

  2. Table cells are seperated by pipe symbols ("|")

Escape characters

Three characters are being escaped inside a table cell:

character

escaped as

backslash ("\")

\b

pipe symbol ("|")

\p

line break

\n

Handling the response

The method responses are structured exactly as their XML-RPC counterparts are described in the API documentation.

Faults

If you are using this response format, a fault will also be sent as a Pretty Simple Table with two columns: faultCode and faultString. The fault codes and messages respond to their XML-RPC counterparts.


Favorites (edit)

Small text Large text

Netalive Amp (Skin for Winamp)