NAME

   WebService::Lob

VERSION

   version 0.0104

SYNOPSIS

       use WebService::Lob;

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

       $lob->get_countries();

DESCRIPTION

   This module provides bindings for the Lob <https://www.lob.com/docs>
   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.

AUTHOR

   Ali Anari <[email protected]>

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.