PRESTO - Getting Started

This section provides general information about this service. Details about specific Lookup requests are in the sections that follow.

Request format

Resources available from this service are located at http://webservices.lib.harvard.edu/. To request a particular resource, append a path to this base URL that specifies the resource.

This lookup request will retrieve bibliographic information in MODS format for HOLLIS record ID 011557057:

http://webservices.lib.harvard.edu/rest/mods/hollis/011557057

Lookup requests for HOLLIS  searches require that you append a search string using a syntax specific to each system. Here is a sample HOLLIS search request:http://webservices.lib.harvard.edu/rest/v2/hollisplus/search/dc/?q=james+weil

Remember to URL encode any reserved characters in a search string before sending the lookup request. Some of the lookup requests in this document contain reserved characters that need to be escaped.

Callbacks

Lookup requests support the optional jsonp callback parameter:

http://webservices.lib.harvard.edu/rest/marc/hollis/011557057?jsonp=ws_result

Including the callback parameter will return JSON output wrapped in a javascript function call. This parameter supports cross-domain Ajax handling of JSON data and should only be used when calling the lookup API from within a client-side application. To specify JSON output, see the next section on Response Formats.

Response formats

Supported Media TypesThe output of a lookup request will be in XML or JSON syntax, depending on what is specified in the HTTP request header’s Accept field. Lookup is expecting an Accept value of:

"application/json"; "application/xml"; or "*/*"

Usually, this header is created automatically by the browser or by whatever is generating the Ajax code. The default for browser-based requests will likely be “*/*”, which will result in XML output. To get JSON output, the header Accept value must be “application/json”. If both JSON and XML are requested, Lookup will return XML.

Record formats. These are the record format options for bibliographic information returned by a lookup request. Note that some of these options may not be available in every type of lookup request.

 

Cite: An OIS-defined format which was developed to support the now-deprecated Course iSites Reserve List tool. This format contains an abbreviated amount of data, which varies depending on whether the information is coming from HOLLIS or one of the journal sources.

 

 

Simple Dublin Core: A set of fifteen elements for use in resource description. See the Dublin Core Metadata Initiative web site for more information.

 

 

Qualified Dublin Core: Includes three additional elements (Audience, Provenance and RightsHolder), as well as a group of element refinements (also called qualifiers) that refine the semantics of the elements in ways that may be useful in resource discovery. See the Dublin Core Metadata Initiative web site for more information.

 

 

MODS: MODS (Metadata Object Description Schema) is an XML-based bibliographic description schema developed by the Library of Congress Network Development and Standards Office. MODS is a derivative of the MARC21 bibliographic format and as such includes a subset of MARC fields. The Data Lookup service will return data as MODS version 3.2 records. More information about MODS is available from the Library of Congress web site, including the MARC mappings to MODS.

 

 

MARCXML: MARCXML is the XML representation of MARC21 bibliographic data, which is the encoding used for bibliographic and holdings data in the HOLLIS Catalog.  The MARCXML schema is maintained by the Library of Congress Network Development and MARC Standards Office.

 

 

The MARCXML format is only available with HOLLIS requests, and includes holdings location data in addition to bibliographic data.

 

Error handling

Upon encountering an error, the Lookup service's response will contain the appropriate HTTP error status code in the response header, and the response content will contain the following elements:

 

The status code

 

 

An error message

 

 

The request path

 

 

A support URL (either mailto: or http: )

 

The content will be in the requested media type (currently either XML or JSON).

The currently supported error status codes are:

 

400 Bad Request

 

 

403 Forbidden

 

 

404 Not Found

 

 

500 Internal Server Error

 

 

503 Service Not Available

 

Sample XML error response

<error>
<status>404</status>
<message>No Data for mods. ID: 22222222</message>
<request>/rest/mods/hollis/222222222</request>
<support>mailto:webservices-support@hulmail.harvard.edu</support>
</error>

Sample JSON error response

{"error": {
"message": "No Data for mods. ID: 222222222",
"request": "/rest/mods/hollis/222222222",
"status": 404,
"support": "mailto:webservices-support@hulmail.harvard.edu"
}}