4 Evergreen 2.12 supports partial integration with third-party APIs
5 provided by OverDrive and OneClickdigital. When ebook API integration
6 is enabled, bibliographic records from these vendors that appear in your
7 public catalog will include vendor holdings and availability information. Also,
8 when a user is logged in, the public catalog dashboard and My Account interface
9 will include information about that user's checkouts and holds for
12 For API integration to work, you need to request API access from the
13 vendor and configure your Evergreen system according to the instructions
14 below. You also need to configure the new `open-ils.ebook_api` service.
16 This feature assumes that you are importing MARC records supplied by the
17 vendor into your Evergreen system, using Vandelay or some other MARC
18 import method. This feature does not search the vendor's online
19 collections or automatically import vendor records into your system; it
20 merely augments records that are already in Evergreen.
22 A future Evergreen release will add the ability for users to check out
23 titles, place holds, etc., directly via the public catalog.
25 Ebook API service configuration
26 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27 This feature uses the new `open-ils.ebook_api` OpenSRF service. This
28 service must be configured in your `opensrf.xml` and `opensrf_core.xml`
29 config files for ebook API integration to work. See
30 `opensrf.xml.example` and `opensrf_core.xml.example` for guidance.
32 OverDrive API integration
33 ~~~~~~~~~~~~~~~~~~~~~~~~~
34 Before enabling OverDrive API integration, you will need to request API
35 access from OverDrive. OverDrive will provide the values to be used for
36 the following new org unit settings:
38 * *OverDrive Basic Token*: The basic token used for API client
39 authentication. To generate your basic token, combine your client
40 key and client secret provided by OverDrive into a single string
41 ("key:secret"), and then base64-encode that string. On Linux, you
42 can use the following command: `echo -n "key:secret" | base64 -`
43 * *OverDrive Account ID*: The account ID (a.k.a. library ID) for your
44 OverDrive API account.
45 * *OverDrive Website ID*: The website ID for your OverDrive API
47 * *OverDrive Authorization Name*: The authorization name (a.k.a.
48 library name) designated by OverDrive for your library. If your
49 OverDrive subscription includes multiple Evergreen libraries, you
50 will need to add a separate value for this setting for each
51 participating library.
52 * *OverDrive Password Required*: If your library's OverDrive
53 subscription requires the patron's PIN (password) to be provided
54 during patron authentication, set this setting to "true." If you do
55 not require the patron's PIN for OverDrive authentication, set this
56 setting to "false." (If set to "true," the password entered by a
57 patron when logging into the public catalog will be cached in plain text in
59 * *OverDrive Discovery API Base URI* and *OverDrive Circulation API
60 Base URI*: By default, Evergreen uses OverDrive's production API, so
61 you should not need to set a value for these settings. If you want
62 to use OverDrive's integration environment, you will need to add the
63 appropriate base URIs for the discovery and circulation APIs. See
64 OverDrive's developer documentation for details.
65 * *OverDrive Granted Authorization Redirect URI*: Evergreen does not
66 currently support granted authorization with OverDrive, so this
67 setting is not currently in use.
69 For more information, consult the
70 https://developer.overdrive.com/docs/getting-started[OverDrive API
73 To enable OverDrive API integration, adjust the following public catalog settings
76 * `ebook_api.enabled`: set to "true".
77 * `ebook_api.overdrive.enabled`: set to "true".
78 * `ebook_api.overdrive.base_uris`: list of regular expressions
79 matching OverDrive URLs found in the 856$9 field of older OverDrive
80 MARC records. As of fall 2016, OverDrive's URL format has changed,
81 and the record identifier is now found in the 037$a field of their
82 MARC records, with "OverDrive" in 037$b. Evergreen will check the
83 037 field for OverDrive record identifiers; if your system includes
84 older-style OverDrive records with the record identifier embedded in
85 the 856 URL, you need to specify URL patterns with this setting.
87 OneClickdigital API integration
88 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 Before enabling OneClickdigital API integration, you will need to
90 request API access from OneClickdigital. OneClickdigital will provide
91 the values to be used for the following new org unit settings:
93 * *OneClickdigital Library ID*: The identifier assigned to your
94 library by OneClickdigital.
95 * *OneClickdigital Basic Token*: Your client authentication token,
96 supplied by OneClickdigital when you request access to their API.
98 For more information, consult the
99 http://developer.oneclickdigital.us/[OneClickdigital API documentation].
101 To enable OneClickdigital API integration, adjust the following public catalog
102 settings in `config.tt2`:
104 * `ebook_api.enabled`: set to "true".
105 * `ebook_api.oneclickdigital.enabled`: set to "true".
106 * `ebook_api.oneclickdigital.base_uris`: list of regular expressions
107 matching OneClickdigital URLs found in the 859$9 field of your MARC
108 records. Evergreen uses the patterns specified here to extract
109 record identifiers for OneClickdigital titles.
111 Additional configuration
112 ~~~~~~~~~~~~~~~~~~~~~~~~
113 Evergreen communicates with third-party vendor APIs using the new
114 `OpenILS::Utils::HTTPClient` module. This module is configured using
115 settings in `opensrf.xml`. The default settings should work for most
116 environments by default, but you may need to specify a custom location
117 for the CA certificates installed on your server. You can also disable
118 SSL certificate verification on HTTPClient requests altogether, but
119 doing so is emphatically discouraged.