NAME

WebService::30Boxes::API - Perl interface to the 30boxes.com REST API

SYNOPSIS

use WebService::30Boxes::API;

# You always have to provide your api_key
my $boxes  = WebService::30Boxes::API->(api_key => 'your_api_key');

# Then you might want to lookup a user and print some info
my $result = $boxes->call('user.FindById', { id => 47 });
if($result->{'success'}) {
   my $user   = $result->reply->{'user'};

   print $user->{'firstName'}, " ",
         $user->{'lastName'}, " joined 30Boxes at ",
         $user->{'createDate'},"\n";
} else {
   print "An error occured ($result->{'error_code'}: ".
         "$result->{'error_msg'})";
}

# If authorization is needed, you need to get permission first:
my $redirect = $boxes->request_auth_url({
   applicationName    => '30Boxes cool application',
   applicationLogoUrl => 'http://wherever/your/logo/is-stored.png',
   returnUrl          => 'http://wherever/you/want/the/client_to_return/'
}); 

print CGI::redirect($redirect);

# After that, you may call the 'call' method as described above

DESCRIPTION

WebService::30Boxes::API - Perl interface to the 30boxes.com REST API

METHODS

The following methods can be used

new

new create a new WebService::30Boxes::API object

options

api_key

The API key is required and this module will croak if you do not set one here. A fresh key can be obtained at http://30boxes.com/api/api.php?method=getKeyForUser

call

With this method, you can call one of the available methods as described on http://30boxes.com/api/.

call accepts a method name followed by a hashref with the values to pass on to 30Boxes. It returns a WebService::30Boxes::API::Response object.

request_auth_url

Some API methods require authentication (permission by the user). This is done by sending the user to a specific URL where permission can be granted or denied. This method accepts a hashref with these three values:

applicationName

(Mandatory) applicationName sets the well, application name you want to show to the user.

applicationLogoUrl

(Mandatory) The URI to your logo.

returnUrl

(Optional) This is where you want the user to return too after permission is granted.

SEE ALSO

http://30boxes.com/, http://30boxes.com/api/

WebService::30Boxes::API::Response

BUGS

Please report any bugs to http://rt.cpan.org/Ticket/Create.html?Queue=WebService::30Boxes::API.

AUTHOR

M. Blom, <blom@cpan.org>, http://menno.b10m.net/perl/

COPYRIGHT

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

The full text of the license can be found in the LICENSE file included with this module.