level3mediaportalapi
Version:
Level 3 Communication Media Portal API Node.js Module
63 lines (54 loc) • 1.69 kB
JavaScript
var api = require('./lib/Level3MediaPortalAPI.js');
var xml2js = require('xml2js');
var util = require('util');
console.log('Level3MediaPortalAPI example');
//DIXIMEDIA
api.config.key = "260926023";
api.config.secret = "d3rGMp6Fbf7fJFg83mwP";
api.methods.usage.setParameters({
ag: 22647,
scid: "BBGD28488",
ni: null,
serviceType: 'caching',
dateFrom: '201308010000',
dateTo: '201308312359',
dateInterval: 'monthly'
});
// Internal Level 3
// api.config.key = "14680";
// api.config.secret = "ysp9Kz9pgJQ5dnDpWMPB";
// api.methods.usage.setParameters({
// ag: 202,
// scid: "BBCK36644",
// ni: null,
// serviceType: 'caching',
// dateFrom: '201308010000',
// dateTo: '201308312359',
// dateInterval: 'monthly'
// });
// api.request(api.methods.key, requestCallback);
api.request(api.methods.usage, requestCallback);
function requestCallback(err, response) {
if (err) throw err;
// console.log('API responded...');
// console.log(response.body);
getObjectFromXml(response.body, function(err, result){
if(err) throw err;
// console.log('Result:', JSON.stringify(result, null, '\t'));
// console.log('Result:', util.format('%j', result));
console.log('Volume:', result.accessGroup.services[0].service[0].summaryData[0].volume);
});
};
function getObjectFromXml(data, cb) {
var parser = new xml2js.Parser();
var parseSuccess = true;
parser.addListener('error', function(err) {
console.error(err, 'Parsing file %s', filepath);
parseSuccess = false;
cb(err, null);
});
parser.addListener('end', function(result) {
if (parseSuccess) cb(null, result);
});
parser.parseString(data);
}