NAME

WebService::ILS - Standardised library discovery/circulation services

SYNOPSIS

use WebService::ILS::<Provider Subclass>;
my $ils = WebService::ILS::<Provider Subclass>->new({
    client_id => $client_id,
    client_secret => $client_secret
});
my %search_params = (
    query => "Some keyword",
    sort => "rating",
);
my $result = $ils->search(\%search_params);
foreach (@{ $result->{items} }) {
    ...
}
foreach (2..$result->{pages}) {
    $search_params{page} = $_;
    my $next_results = $ils->search(\%search_params);
    ...
}

or

my $native_result = $ils->native_search(\%native_search_params);

DESCRIPTION

WebService::ILS is an attempt to create a standardised interface for online library services providers.

In addition, native API interface is provided.

Here we will describe constructor parameters and methods common to all service providers. Diversions and native interfaces are documented in corresponding modules.

Supported service providers

TESTING ENVIRONMENT

Testing WebService::ILS modules is extremely difficult. It requires test accounts with vendors, sometimes special setup for handling redirect URLs.

In that respect for building purposes, all tests are skipped by default. If you want to run tests for vendor specific modules during the build, you need to set the corresponding WEBSERVICE_ILS_TEST_* env vars to true, and supply values in vendor specific env vars. Those vendor specific vars correspond to CONSTRUCTOR params.

TESTING OverDrive API

OverDrive account vars

TESTING OneClickDigital API

OneClickDigital account vars

Only one of ONECLICKDIGITAL_TEST_USER_EMAIL (preferred) and ONECLICKDIGITAL_TEST_USER_BARCODE needs to be supplied.

POD ERRORS

Hey! The above document had some coding errors, which are explained below: