Srdjan Janković
and 1 contributors

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>