Miss any of our Open RFC calls?Watch the recordings here! »

ups-shipping-api

1.0.0 • Public • Published

UPS Shipping Api

This is an unofficial node.js package that makes interacting with the UPS api easy. Uses the UPS json endpoints.

Usage

const UPS = require('ups-shipping-api');
const ups = new UPS({
    access_key : "an_access_key",
    username : "a_user_name",
    password : "a_password"
})
 
var promise_rates = ups.retreive_rates(shipment);

You can create a access_key, username, and password at the UPS Api website.

Example

var test_shipment = {
    shipper : {
        address : {
            country_code : "US",
            postal_code : 42512,
        },
    },
    ship_to : {
        address : {
            country_code : "US",
            postal_code : 42512,
        },
    },
    package : {
        weight : 21, // the weight of the package
        dimensions : {
            length : 2,
            width : 2,
            height : 2,
        }
    }
}
var rates = await ups.retreive_rates(test_shipment);

Methods

retreive_rates

    var promise_rates = ups.retreive_rates(shipment);

Objects and Properties

The api uses several objects (e.g., shipment, package, etc) throughout. Their definitions with required and optional properties are below.

Construction Options

{
    // mandatory
    access_key: STRING,
    username: STRING,
    password: STRING,
 
    // optional
    live : BOOLEAN, // defaults to false; runs requests in UPS sandbox mode
    unit_system : STRING, // select from ["imperial", "metric"]; defaults to "imperial";
}

Shipment Attributes

{
    shipper : ENDPOINT,  // the person the shipment is from
    ship_to :  ENDPOINT, // the person the shipment is for
    package: PACKAGE // the package you are sending
}

Endpoint Attributes

{
    // mandatory
    address : ADDRESS,
 
    // optional
    name : STRING, // UPS uses up to 36 char
    shipper_number : STRING, // required for negotiated rates
}

Package Attributes

{
    // mandatory
    weight: STRING/FLOAT,
    dimensions: {
        length: STRING/FLOAT,
        width: STRING/FLOAT,
        height: STRING/FLOAT,
    }
}

Address Attributes

{
    // mandatory
    country_code : STRING, // select from ["US", ...(TODO)]
    postal_code : STRING/INT,
 
    // optional
    lines : [ // a list of address lines
        STRING, ...
    ],
    city : STRING,
    state : STRING,
    province : STRING,
}

Package Attributes

{
    // mandatory
    weight : STRING/FLOAT, // the weight of the package
    dimensions : {
        length : STRING/FLOAT,
        width : STRING/FLOAT,
        height : STRING/FLOAT,
    }
}

Install

npm i ups-shipping-api

DownloadsWeekly Downloads

13

Version

1.0.0

License

ISC

Unpacked Size

48.9 kB

Total Files

20

Last publish

Collaborators

  • avatar