NAME

WebService::Lob

VERSION

version 0.0107

SYNOPSIS

    use WebService::Lob;

    my $lob = WebService::Lob->new( api_key => 'abc123' );

    $lob->get_countries();

DESCRIPTION

This module provides bindings for the Lob API.

METHODS

new

Instantiates a new WebService::Lob client object.

    my $lob = WebService::Lob->new(
        api_key  => $api_key,
        base_url => $domain,     # optional
        timeout  => $retries,    # optional
        retries  => $retries,    # optional
    );

Parameters

- api_key

Required 

A valid Lob api key for your account.

- base_url

Optional 

The Lob base url to make API calls against. Defaults to https://api.lob.com.

- timeout

Optional 

The number of seconds to wait per request until timing out. Defaults to 10.

- retries

Optional 

The number of times to retry requests in cases when Lob returns a 5xx response. Defaults to 0.

get_states

Returns a list of all US states.

Request:

    get_states();

Response:

    [{
        name       => 'Alabama',
        short_name => 'AL',
        object     => 'state',
    },
    {
        name       => 'Alaska',
        short_name => 'AK',
        object     => 'state',
    },
    ...
    {
        name       => 'Wisconsin',
        short_name => 'WI',
        object     => 'state',
    },
    {
        name       => 'Wyoming',
        short_name => 'WY',
        object     => 'state',
    }]

get_countries

Returns a list of all currently supported countries.

Request:

    get_countries();

Response:

    [{
        name       => 'United States',
        short_name => 'US',
        object     => 'country',
    },
    {
        name       => 'Afghanistan',
        short_name => 'AF',
        object     => 'country',
    },
    ...
    {
        name       => 'Zambia',
        short_name => 'ZM',
        object     => 'country',
    },
    {
        name       => 'Zimbabwe',
        short_name => 'ZW',
        object     => 'country',
    }]

verify_address

Validates an address given.

Request:

    verify_address(
        address_line1   => '370 Townsend St',
        address_city    => 'San Francisco',
        address_state   => 'CA',
        address_zip     => '94107',
        address_country => 'US',
    );

Response:

    {
        object          => 'address',
        address_line1   => '370 TOWNSEND ST',
        address_line2   => '',
        address_city    => 'SAN FRANCISCO',
        address_state   => 'CA',
        address_zip     => '94107-1607',
        address_country => 'US',
    }

Exceptions:

- WebService::Lob::Exception::AddressNotFound

Address Not Found.

- WebService::Lob::Exception::AddressMissingInformation

The address you entered was found but more information is needed to match to a specific address.

BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/aanari/WebService-Lob/issues

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

Ali Anari <ali@anari.me>

CONTRIBUTOR

Naveed Massjouni <naveedm9@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Ali Anari.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.