ILL per Title

General Purpose

The resource may be accessed with a GET method to retrieve a specific patron’s ILL request information for a given title.

The ILL request information includes the information that the patron may include in the ILL request, such as the allowed pickup locations, the allowed requested medias, the allowed requested level of service, and so forth.

The resource may be accessed with a PUT method to create an ILL request for a specific patron and on a given title, or to create a blank ILL request for which the patron fills in the requested bibliographic information.

Note that in version 18 old ILL and web ILL are not supported.

Product Version Compatibility

Versions 18, 20.1 and later

Interface Type

RESTful API

Hierarchy

ILL per Title

Input Parameters

REST Resource IDs:

Patron ID: The Aleph patron system identifier.

Record ID: The Aleph BIB record identifier. The identifier is composed of the BIB library code + the system number. For example, USM01000050362

Input URI

<Base URL>:/patron/<patron ID>/record/<record ID>/ill

For example:

To retrieve the ILL request information for the patron ID 00000036 and BIB record 000050362, use:

http://server.name:1892/rest-dlf/patron/00000036/record/USM01000009549/ill

Retrieving blank ILL request information is done by substituting the record ID with MN for a monograph request, or SE for a serial request. For example:

http://server.name:1892/rest-dlf/patron/00000036/record/MN/ill

http://server.name:1892/rest-dlf/patron/00000036/record/SE/ill

Input XML

To create a new ILL request, use the same URL with a PUT method of HTTP.

The request “Body” of the “PUT” method must contain input XML with the ILL request details.

The PUT XML must have the following structure:

post_xml=<ill-parameters><ill-unit>ILL_LAW</ill-unit><last-interest-date>20091231</last-interest-date><pickup-location>LAW</pickup-location><media>L-PRINTED</media><sub-author>Additional Author Information</sub-author><sub-title>Additional Title Information</sub-title><volume>Volume Information</volume><level-of-service>]</level-of-service><willing-to-pay>Y or N</willing-to-pay><language>ENG</language><send-directly>Y or N</send-directly><delivery-method>E</delivery-method><copyright>Y or N</copyright><pages>12</pages><note>Note Information</note><year>1999</year><month>12</month><day>31</day><issue>issue</issue><!-- The elements from here down are used only in blank ILL requests, i.e. the record ID is MN or SE --><author>Author</author><title>title</title><edition>edition</edition><place-of-publication>place</place-of-publication><publisher>publisher</publisher><year-of-publication>year</year-of-publication><isbn>isbn</isbn><series>series</series><source>source</source<issn>issn</issn><!-- The closing element is always required--></ill-parameters>

Note that:

    • The date information must be in YYYYMMDD format.
    • The following elements must be supplied as code and be one of the values that were retrieved in the GET action:
      • ILL Unit
      • Pickup Location
      • Media
      • Level Of Service
      • Language
      • Delivery Method
    • All elements that have been reported in the GET action with a usage attribute of “Mandatory” must be included in the PUT XML.
    • Note the “post_xml=” on start.

Output XML Format

The returned XML includes the ILL request information.

For example:

<?xml version="1.0" encoding="UTF-8"?>
<get-rec-ill>
  <reply-text>ok</reply-text>
  <reply-code>0000</reply-code>
  <ill-information allowed="Y">
    <allowed-media usage="Mandatory">
      <media>
        <translate-change-active-library>USM40</translate-change-active-library>
        <media-code>L-PRINTED</media-code>
        <media-text>Printed (Loan)</media-text>
      </media>
      <media>
        <translate-change-active-library>USM40</translate-change-active-library>
        <media-code>C-PRINTED</media-code>
        <media-text>Printed (Copy)</media-text>
      </media>
      <media>
        <translate-change-active-library>USM40</translate-change-active-library>
        <media-code>L-COPY</media-code>
        <media-text>Photocopy (Loan)</media-text>
      </media>
      <media>
        <translate-change-active-library>USM40</translate-change-active-library>
        <media-code>C-COPY</media-code>
        <media-text>Photocopy (Copy)</media-text>
      </media>
      <media>
        <translate-change-active-library>USM40</translate-change-active-library>
        <media-code>L-MICROFORM</media-code>
        <media-text>Microform (Loan)</media-text>
      </media>
      <media>
        <translate-change-active-library>USM40</translate-change-active-library>
        <media-code>C-MICROFORM</media-code>
        <media-text>Microform (Copy)</media-text>
      </media>
      <media>
        <translate-change-active-library>USM40</translate-change-active-library>
        <media-code>E-COPY</media-code>
        <media-text>Photocopy (Electronic)</media-text>
      </media>
    </allowed-media>
    <level-of-services usage="Optional">
      <level-of-service>
        <level-code><</level-code>
        <level-text>When convenient</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>L</level-code>
        <level-text>When convenient</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>(</level-code>
        <level-text>Normal (Local)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>{</level-code>
        <level-text>Normal (Extended)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>[</level-code>
        <level-text>Normal (Full)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>|</level-code>
        <level-text>Priority (Local)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>]</level-code>
        <level-text>Priority (Extended)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>}</level-code>
        <level-text>Rush (Local)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>)</level-code>
        <level-text>Rush (Extended)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>></level-code>
        <level-text>Express (Local)</level-text>
      </level-of-service>
      <level-of-service>
        <level-code>G</level-code>
        <level-text>Express (Local)</level-text>
      </level-of-service>
    </level-of-services>
    <languages usage="Optional">
      <language>
        <lang-code>ENG</lang-code>
        <lang-text>English</lang-text>
      </language>
      <language>
        <lang-code>GER</lang-code>
        <lang-text>German</lang-text>
      </language>
      <language>
        <lang-code>ITA</lang-code>
        <lang-text>Italian</lang-text>
      </language>
      <language>
        <lang-code>FRE</lang-code>
        <lang-text>French</lang-text>
      </language>
      <language>
        <lang-code>POR</lang-code>
        <lang-text>Portuguese</lang-text>
      </language>
      <language>
        <lang-code>SPA</lang-code>
        <lang-text>Spanish</lang-text>
      </language>
      <language>
        <lang-code>RUS</lang-code>
        <lang-text>Russian</lang-text>
      </language>
      <language>
        <lang-code>ARA</lang-code>
        <lang-text>Arabic</lang-text>
      </language>
      <language>
        <lang-code>HEB</lang-code>
        <lang-text>Hebrew</lang-text>
      </language>
    </languages>
    <delivery-methods usage="Mandatory">
      <delivery-method>
        <delivery-code>E</delivery-code>
        <delivery-text>Email</delivery-text>
      </delivery-method>
      <delivery-method>
        <delivery-code>FT</delivery-code>
        <delivery-text>Ftp</delivery-text>
      </delivery-method>
      <delivery-method>
        <delivery-code>C</delivery-code>
        <delivery-text>Courier</delivery-text>
      </delivery-method>
      <delivery-method>
        <delivery-code>AS</delivery-code>
        <delivery-text>Ariel (MIME)</delivery-text>
      </delivery-method>
      <delivery-method>
        <delivery-code>AF</delivery-code>
        <delivery-text>Ariel (FTP)</delivery-text>
      </delivery-method>
      <delivery-method>
        <delivery-code>FX</delivery-code>
        <delivery-text>Fax</delivery-text>
      </delivery-method>
      <delivery-method>
        <delivery-code>S</delivery-code>
        <delivery-text>Surface mail</delivery-text>
      </delivery-method>
      <delivery-method>
        <delivery-code>A</delivery-code>
        <delivery-text>Airmail</delivery-text>
      </delivery-method>
    </delivery-methods>
    <format>MN</format>
    <ill-unit usage="Mandatory" code="ILL_LAW">
      <ill-unit-name>Law ILL Unit</ill-unit-name>
      <pickup-locations usage="Mandatory">
        <pickup-location code="LAW">Law Library</pickup-location>
      </pickup-locations>
    </ill-unit>
    <last-interest-date usage="Mandatory"/>
    <sub-author usage="Optional" max_len="1882"/>
    <sub-title usage="Optional" max_len="1882"/>
    <volume usage="Optional" max_len="1882"/>
    <willing-to-pay usage="Optional"/>
    <send-directly usage="Optional"/>
    <copyright usage="Optional"/>
    <pages usage="Optional" max_len="1882"/>
    <note usage="Optional" max_len="300"/>
  </ill-information>
</get-rec-ill>

Note that the ill-unit element may be reported a number of times, each with its own list of allowed pickup locations, or may be reported only once, depending on the tab100  MULTI-ILL-UNIT-SELECT variable value.

If a new request was successfully created using the POST method, a reply such as the following will be reported:

<?xml version ="1.0"encoding ="UTF-8"?><put-rec-ill><reply-text>ok</reply-text><reply-code>0000</reply-code><create-ill><note type="info">Action Succeeded</note></create-ill></put-rec-ill>

Possible Error Codes

02 : The patron ID is invalid

19 : Record does not exist

25 : Failed to create request

Expand Routines

It is possible to use expand routines – by setting the “tab_expand” table of the bibliographic library (“XXX01”) tab directory, under the ILL-FORMAT expand menu (in COL 1). For example:

ILL-FORMAT expand_doc_union_ill