0.0.5 • Published 7 years ago
tenxmlapi v0.0.5
Tenxmlapi
Execute 1010data XML API transactions via JavaScript.
For detailed information see the official documentation '1010data API Reference Manual'.
For details regarding json parsing see the 'xml2js' module.
Usage
Install with npm
npm install tenxmlapi --save-dev
XmlApi functions
####login(callback) Log into the platform.
- If successful, the encrypted session id and password will be kept and used for future calls.
####query(apiName, xml, callback) Execute a query.
- If options.autoLogin=true, calls the 'login' function if necessary.
- The input xml will automatically be wrapped with '
<in></in>
' if not present.
Returns:
- A string containing the response XML.
####queryToJson(apiName, xml, callback) Execute a query and convert the response to a javascript object (a.k.a JSON object)
- If options.autoLogin=true, calls the 'login' function if necessary.
- The input xml will automatically be wrapped with '
<in></in>
' if not present.
Returns:
- A javascript object (a.k.a JSON object)
####queryByUrl(url, xml, callback) Execute a query. Url is the full custom url to the api.
- If options.autoLogin=true, calls the 'login' function if necessary.
- The input xml will automatically be wrapped with '
<in></in>
' if not present.
Returns:
- A string containing the response XML.
####queryByUrlToJson(url, xml, callback) Execute a query and convert the response to a javascript object (a.k.a JSON object). Url is the full custom url to the api.
- If options.autoLogin=true, calls the 'login' function if necessary.
- The input xml will automatically be wrapped with '
<in></in>
' if not present.
Returns:
- A javascript object (a.k.a JSON object)
##Example
// all available options (shown with default values if not specified)
var options = {
xmlgateway: 'https://www2.1010data.com/beta-latest/gw.k',
uid: 'required',
password: 'required',
log: true, // log request and response to console
kill: 'possess', // yes, no, possess, auth
autoLogin: true, // when executing a query call login if it has not already been called
jsonOpts: { // options for the json parser (see https://www.npmjs.com/package/xml2js)
explicitArray: false
}
};
var xmlApi = require("tenxmlapi").create(options);
var inputXml = '<name>pub.doc.retail.salesdetail</name><ops><link table2="pub.doc.retail.product" col="sku" col2="sku" suffix="_sm"/><sel value="transid=1400190251"/></ops>';
xmlApi.query('query', inputXml, function logResults(err, resultXml) {
if (err) {
console.error(err);
process.exit(1);
}
console.log(resultXml);
process.exit(0);
});