usps-web-tools-node-sdk-modified
Version:
Node.js SDK for USPS Web Tools APIs
62 lines (43 loc) • 2.15 kB
Markdown
# USPS Web Tools Node.js SDK
A simple Node.js software developer's kit for the [USPS Web Tools APIs](https://www.usps.com/business/web-tools-apis/technical-documentation.htm).
## 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](https://registration.shippingapis.com/). 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](https://www.usps.com/business/web-tools-apis/technical-documentation.htm) was wrong with regards to tag names, so tests that hit all the tags are needed)