---
name: "WebService::ILS::OverDrive"
section: "3pm"
platform: "linux"
package: "libwebservice-ils-perl"
version: "0.18-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/WebService::ILS::OverDrive"
---

# WebService::ILS::OverDrive(3pm)

WebService::ILS module for OverDrive services

## 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 JankoviX \<srdjan@catalyst.net.nz\>
