mg-api-node

Nodejs client for the MyGeotab API

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
mg-api-node
1001.3.12 years ago9 years agoMinified + gzip package size for mg-api-node in KB

Readme

This project has been deprecated. Please use mg-api-js.
mg-api-node #
Unofficial nodejs client for the MyGeotab API

Getting Started ###

$ npm install mg-api-node --save

Usage ###

var api = new API(userName, password, database);

api.authenticate(function(err, data) {

  if(err){
    console.log('Error', err);
    return;
  }

  api.call('Get', {
    typeName: 'User',
    search: {
      name: data.userName
    }
  }, function(err, data) {

    if(err){
      console.log('Error', err);
      return;
    }

    console.log('User', data);

  });

});

HTTP Timeout ####

If you need to handle potential slow HTTP requests, you can access request.setTimeout by passing an optional timeout (ms) and timeoutCallback to api.call() and api.multicall():
var api = new API(userName, password, database, server, {ssl: false}, sessionId);

// Timeout (ms) and TimeoutCallback
api.call('Get', {
  typeName: 'User',
  resultsLimit: 1
}, function(err, data) {
  if(err){
    console.log('Error', err);
    return;
  }
  console.log('User', data);
}, 10000, function(){
    console.log('Timeout');
});

// Just Timeout
api.call('Get', {
  typeName: 'User',
  resultsLimit: 1
}, function(err, data) {
  if(err){
    console.log('Error', err);
    return;
  }
  console.log('User', data);
}, 10000);

Session ID ####

It's also possible to supply session ID and direct server to re-use a session ID. This avoids costly authentication.
var api = new API(userName, password, database, server, options, sessionId);

api.call('Get', {
  typeName: 'User',
  resultsLimit: 1
}, function(err, data) {

  if(err){
    console.log('Error', err);
    return;
  }

  console.log('User', data);

});

Running Tests ###

$ npm install -g mocha
$ npm install
$ mocha