mgalgs / shippo-python-client

Shipping API Python library (USPS, FedEx, UPS and more)

Home Page:https://goshippo.com/docs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#Shippo API Python wrapper PyPI version Build Status

Shippo is a shipping API that connects you with multiple shipping carriers (such as USPS, UPS, DHL, Canada Post, Australia Post, UberRUSH and many others) through one interface.

Our API provides in depth support of carrier functionality. Here are just some of the features we support for USPS, FedEx and UPS via the API.

For most major carriers (USPS, UPS, FedEx and most others) our API supports:

  • Shipping rates & labels

  • Tracking

  • For USPS, the API additionally supports:

    • US Address validation
    • Scan forms
    • Additional services: signature, certified mail, delivery confirmation, and others
  • For FedEx, the API additionally supports:

    • Signature and adult signature confirmation
    • FedEx Smartpost
  • For UPS, the API additionally supports:

    • Signature and adult signature confirmation
    • UPS Mail Innovations
    • UPS SurePost

The complete list of carrier supported features is here.

###About Shippo Connect with multiple different carriers, get discounted shipping labels, track parcels, and much more with just one integration. You can use your own carrier accounts or take advantage of our deeply discounted rates. Using Shippo makes it easy to deal with multiple carrier integrations, rate shopping, tracking and other parts of the shipping workflow. We provide the API and dashboard for all your shipping needs.

The API is free to use. You only pay when you print a live label from a carrier. Use test labels during development to avoid all fees.

You do need a Shippo account to use our API. Don't have an account? Sign up at https://goshippo.com/.

How do I get set up?

####To install from the source file:

#!shell
python setup.py install

or pip (https://pip.pypa.io/en/latest/index.html):

#!shell
sudo pip install shippo

To test:

Set your SHIPPO_API_KEY as an environment variable. e.g. on OSX:

export SHIPPO_API_KEY="<MY-API-KEY>"

Run the test with the following command:

#!shell
python setup.py test --test-suite=shippo

Dependencies:

requests & mock
#!shell
sudo easy_install requests
sudo easy_install mock

Using the API:

import shippo
shippo.api_key = "<API-KEY>"

address1 = shippo.Address.create(
    object_purpose='PURCHASE',
    name='John Smith',
    street1='6512 Greene Rd.',
    street2='',
    company='Initech',
    phone='+1 234 346 7333',
    city='Woodridge',
    state='IL',
    zip='60517',
    country='US',
    email='user@gmail.com',
    metadata='Customer ID 123456'
)

print 'Success with Address 1 : %r' % (address1, )

and you will have created an address.

Some resources are asynchronous by default. Creating these resources will return the resource object, but the object_status property will be set to QUEUED until you retrieve it again. Pass in the param async=False to these resources' methods to wait for a response.

Explore example.py for more examples on using the python wrapper.

Documentation

Please see https://goshippo.com/shipping-api/ for up-to-date documentation.

About

Shipping API Python library (USPS, FedEx, UPS and more)

https://goshippo.com/docs

License:MIT License


Languages

Language:Python 100.0%