0.01
No commit activity in last 3 years
No release in over 3 years
DHL eCommerce API Wrapper for Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.3
>= 0
>= 0
>= 0

Runtime

 Project Readme

DHL eCommerce API Wrapper for Ruby

Gem Version Build Status

Installation

Installation is as simple at adding the following to your Gemfile.

gem "dhl-ecommerce"

Configuration

The only configuration necessary is your client_id and either a username and password or an access_token.

# DHL e-Commerce configuration.
DHL::Ecommerce.configure do |config|
  config.username = "meowbox"
  config.password = "password"
  config.client_id = 6369

  # Label format can be either :png or :zpl.
  config.label_format = :png
end

Usage

Accounts

# Find all accounts.
accounts = DHL::Ecommerce::Account.all

# Find a particular account.
account = DHL::Ecommerce::Account.find 6369

Locations

# Find all locations.
locations = DHL::Ecommerce::Location.all

# Find a particular location.
location = DHL::Ecommerce::Location.find 6369

It's also possible to obtain a list of locations from an account by calling the locations method.

Labels

# Create the consignee's address.
consignee_address = DHL::Ecommerce::StandardAddress.new firm: "meowbox Inc.",
                                                        address_1: "816 PEACE PORTAL DR",
                                                        address_2: "STE 103",
                                                        city: "BLAINE",
                                                        postal_code: "98230",
                                                        state: "WA",
                                                        country: "US"

# Create a single label.
label = DHL::Ecommerce::Label.create consignee_address: consignee_address,
                                     facility: :auburn,
                                     location_id: 6369,
                                     product_id: 83,
                                     weight: 1

The file method of any valid label object will return a StringIO object containing either the PNG or ZPL representation of the label depending on your configuration.

It's also possible to create multiple labels at once by passing an array of attributes to the create method.

# Create multiple labels.
labels = DHL::Ecommerce::Label.create [ label_attributes_1, label_attributes_2 ]

Manifests

Unlike other models, the create method will always return an array of Manifest objects – that's because the DHL e-Commerce API will return a manifest for each location and/or facility.

# Create manifests
manifests = DHL::Ecommerce::Manifest.create labels

Tracking

# Find events for a particular label.
events = DHL::Ecommerce::Label.find("420000000000000001").events

Other models

A few supporting models are also available.

  • Event
  • Imbp
  • Product
  • StandardAddress