0.0.5 • Published 7 years ago

tenxmlapi v0.0.5

Weekly downloads
21
License
-
Repository
-
Last release
7 years ago

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);
});
0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago