usps-web-tools-node-sdk

Node.js SDK for USPS Web Tools APIs

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
usps-web-tools-node-sdk
1840.6.14 years ago8 years agoMinified + gzip package size for usps-web-tools-node-sdk in KB

Readme

USPS Web Tools Node.js SDK
A simple Node.js software developer's kit for the USPS Web Tools APIs.

Installing

npm install usps-web-tools-node-sdk
Note: you might want to add the --save or --save-dev flag to add it to your package.json dependencies or devDependencies.

Using

Before you can use this SDK you'll need to get access to the USPS Web Tools via their registration process. Once complete you will receive an e-mail with your username and password and access to the:
  • Address APIs,
  • Tracking & Delivery Information APIs,
  • Price Calculator APIs, and
  • Service Standards & Commitments APIs.

If you require access to the Shipping Label and Package Pickup APIs you'll need to request additional permissions as per the e-mail (see the II. Request Additional API Permissions section).
// require the module
var usps = require('usps-web-tools-node-sdk');

// tell it to use your username from the e-mail
usps.configure({ userID: 'YOUR_USERNAME' });

// invoke the API you need with...
usps.addressInformation.cityStateLookup(
  // a data object with the required fields
  { zipCode: ['90210'] },
  // and a callback
  function (error, response) {
    if (error) {
      // if there's a problem, the error object won't be null
      console.log(error);
    } else {
      // otherwise, you'll get a response object
      console.log(JSON.stringify(response));
    }
  }
);

Testing

To run the tests:
npm install
npm test

Contributing

If you'd like to help just fork and pull.

TODO

The following still needs to get done:
  • Implement Shipping Label and Package Pickup APIs
  • Documentation
  • GitHub Pages
  • More tests (I ran in to a few instances where the Technical Documentation was wrong with regards to tag names, so tests that hit all the tags are needed)