An open API service indexing awesome lists of open source software.

https://github.com/anvk/northern911-api

A Node.js wrapper around Northern911 SOAP api.
https://github.com/anvk/northern911-api

api api-client api-server express nodejs northern npm-module

Last synced: about 1 month ago
JSON representation

A Node.js wrapper around Northern911 SOAP api.

Awesome Lists containing this project

README

        

# northern911-api [![Build Status](https://travis-ci.org/anvk/northern911-api.svg?branch=master)](https://travis-ci.org/anvk/northern911-api)

> A Node.js wrapper around Northern911 SOAP api. For more information about this API please read [Northern911 SOAP API Overview](https://addressinfo.northern911.com/soapapidocs/)

## Install

```
$ npm install northern911-api --save
```

## API

#### Northern911API(options)

> constructor to initialize the module

> `vendorCode` - vendor code given by Northern
> `password` - password given by Northern
> `sandbox` - (default: false) module will use Northern sandbox SOAP url if true

#### connect(callback)

> function to establish connection with Northern SOAP API

> `callback` - function(error) callback upon connection. All module functions have to be executed within

#### queryCustomer(phoneNumber, callback)

> Returns current data for the requested record. https://addressinfo.northern911.com/soapapidocs/#Query

> `phoneNumber` - Customer phone number.
> `callback` - function(error, result, body). error contains error, result contains JSON result object and body contains full XML body result

#### getVendorDumpURL(callback)

> Get a URL to download the entire vendor database as CSV. https://addressinfo.northern911.com/soapapidocs/#VendorDump

> `callback` - function(error, result, body). error contains error, result contains JSON result object and body contains full XML body result

#### addOrUpdateCustomer(options, callback)

> Add new or update existing client record. https://addressinfo.northern911.com/soapapidocs/#AddUpdate

> `options.phoneNumber` - Customer phone number. Must be 10 digits
> `options.lastName` - Last name or company name
> `options.firstName` - First name
> `options.lastDateTimeModified` - Last date modified
> `options.lastDateTimeModifiedUnixTime` - Last date modified in Unix time
> `options.streetNumber` - Street number
> `options.suiteApt` - Suite or apartment number
> `options.streetName` - Street name
> `options.city` - City
> `options.provinceState` - Two letter province or state code
> `options.postalCodeZip` - Canadian postal code or USA zip code
> `options.otherAddressInfo` - Other information
> `options.enhancedCapable` - Yes or No. Must be 'Y' or 'N'.
> `callback` - function(error, result, body). error contains error, result contains JSON result object and body contains full XML body result

#### verifyCustomer(options, callback)

> This does not modify customer details and only verifies whether or not the data passed to AddorUpdateCustomer would succeed. https://addressinfo.northern911.com/soapapidocs/#Verify

> `options.phoneNumber` - Customer phone number. Must be 10 digits
> `options.lastName` - Last name or company name
> `options.firstName` - First name
> `options.lastDateTimeModified` - Last date modified
> `options.lastDateTimeModifiedUnixTime` - Last date modified in Unix time
> `options.streetNumber` - Street number
> `options.suiteApt` - Suite or apartment number
> `options.streetName` - Street name
> `options.city` - City
> `options.provinceState` - Two letter province or state code
> `options.postalCodeZip` - Canadian postal code or USA zip code
> `options.otherAddressInfo` - Other information
> `options.enhancedCapable` - Yes or No. Must be 'Y' or 'N'.
> `callback` - function(error, result, body). error contains error, result contains JSON result object and body contains full XML body result

#### deleteCustomer(phoneNumber, callback)

> Delete an existing client record. https://addressinfo.northern911.com/soapapidocs/#Delete

> `phoneNumber` - Customer phone number.
> `callback` - function(error, result, body). error contains error, result contains JSON result object and body contains full XML body result

#### url

> property which contains production or sandbox url this module will be connecting to

#### hash

> property which contains current hash which will be sent to Northern for authorization for every request

## Usage

```javascript
var Northern911API = require('northern911-api');

var northern911API = new Northern911API({
vendorCode: '', // put your vendor code here
password: '', // put your vendor password here
sandbox: true
});

northern911API.connect(function(error) {
if (error) {
return console.error(error);
}

northern911API.queryCustomer('6470001234', function(error, result, body) {
console.log(body);
console.log();
console.log(result);

if (error) {
console.error(error);
}
});
});
```

For more examples check `example.js`

## Example

```
node example.js
```

## License

MIT license; see [LICENSE](./LICENSE).

(c) 2015 by Alexey Novak