NAME

WebService::ILS::OverDrive - WebService::ILS module for OverDrive services

SYNOPSIS

use WebService::ILS::OverDrive::Library;
or
use WebService::ILS::OverDrive::Patron;

DESCRIPTION

WebService::ILS::OverDrive::Library - anonymous discovery services - no individual user credentials required

WebService::ILS::OverDrive::Patron - discovery and circulation services that require individual user credentials

See WebService::ILS

CONSTRUCTOR

new (%params_hash or $params_hashref)

Additional constructor params:

test => if set to true use OverDrive test API urls

DISCOVERY METHODS

search ($params_hashref)

Additional input params:

no_details => if true, no metadata calls will be made for result items;

only id, title, rating and media will be available

NATIVE METHODS

native_search ($params_hashref)

See https://developer.overdrive.com/apis/search

native_search_[next|prev|first|last] ($data_as returned_by_native_search*)

For iterating through search result pages. Each native_search_*() method accepts record returned by any native_search*() method as input.

Example:

my $res = $od->native_search({q => "Dogs"});
while ($res) {
    do_something($res);
    $res = $od->native_search_next($res);
}
or
my $res = $od->native_search({q => "Dogs"});
my $last = $od->native_search_last($res);
my $next_to_last = $od->native_search_prev($last);
my $first = $od->native_search_first($next_to_last)
# Same as $od->native_search_first($last)
# Same as $res

native_item_metadata ($item_data as returned by native_search*)

native_item_availability ($item_data as returned by native_search*)

Example:

my $res = $od->native_search({q => "Dogs"});
foreach (@{ $res->{products} }) {
    my $meta = $od->native_item_metadata($_);
    my $availability = $od->native_item_availability($_);
    ...
}

LICENSE

Copyright (C) Catalyst IT NZ Ltd Copyright (C) Bywater Solutions

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

AUTHOR

Srdjan Janković <srdjan@catalyst.net.nz>