Table of Contents
This document describe the requirements to write a XINS compliant API.
XINS is a framework for invoking functions remotely using HTTP.
HTTP GET must be supported
HTTP POST must be supported
The query must have a
which is not empty and which contains the name of the function
invoked. If this parameter is missing, or has an invalid value, or
the value is not a name of a defined function, a
404 code must be returned.
If a parameter is sent without value, it should be considered as missing.
XINS returns an XML document as output.
The root element of the returned XML must be
If a result code is returned, the result element must have a
If the result element doesn't have any attributes, the result is considered as successful.
Returned parameters should be returned with sub-elements
The returned XML may contain a
If some parameters are missing or the value of a parameter
does not match the type, an
code should be returned.
If a generic error is generated in the implementation of the
_InternalError error code should be
XINS includes standard error codes for common errors.
This error code is returned when the implementation of the function has thrown an error.
This error code is returned when the given parameters do not
comply with the specification of the input. The cases where this
could happen is when a required parameter is missing, the value of a
parameter does not match the type or the combination of a
param-combo set in the specification.
This error code is returned when the returned parameters do not comply with the specification of the output.
This error code is returned when a function has been disabled.
You can only have this error code if the framework has implemented
_EnableFunction) meta function.
For more information about what the elements should contain when a standard error code is returned, look at the examples.
Result codes, function names and parameters starting with an underscore are reserved for XINS.
Result codes are written with the hungarian convention and starting with an uppercase (e.g. DisabledAccount).
Function names uses the hungarian convention and starting with an uppercase (e.g. CheckMIP15, GetSessionDetails).
Parameters for the request are in lowercase (e.g. zipcode).
Returned elements and attributes are in lowercase. e.g.
<?xml version="1.0" encoding="UTF-8"?> <result> <param name="csr">anne8</param> <param name="loggedIn">false</param> <data> <property name="upgrade" value="true" /> </data> </result>
Returned parameter names use the hungarian convention starting with a lowercase (e.g. loggedIn, mainAccount, accountID).
The values of the parameters or of the attribute values for the data elements can be anything you want.