bor_info

General Purpose

This X-Service retrieves a user’s information after the user enters either a login/password or a user ID, institute and password.
This service includes the following information: institution, group, addition date, name, title, academic status, address, telephone, language, display preferences and expiration date.

Flow

  • login – Called once by the calling application with a valid /X user name and password. The session-id retrieved is passed to all other API calls.
  • Authentication (optional, either local or remote)
    • bor_auth – for local authentication of the user and to retrieve a valid borrower’s ID
    • PDS authentication – for remote authentication of the user and to obtain a pds handle
  • bor_info

Input Parameters

Option 1:  If bor_authenticate is called
1. BOR_ID – X(12)
2. VERIFICATION – X(20) (unnecessary from version 4.3.0)
3. SESSION_ID -X(50)

Option 2:
1. SOURCE_ID – X(40)
2. INSTITUTE – X(30)
3. VERIFICATION – X(20) (unnecessary from version 4.3.0)
4. SESSION_ID – X(50)

Option 3:
1. PDS_HANDLE – X(50)

Explanation of the mandatory and optional parameters:

  • Bor_Id / Identification/ ID – Internal borrower (patron) ID number for the user about whom the operator wants to get full information. Can be retrieved from the bor_auth X-Service.
  • Verification – Password of the Bor_id/ Source_id. (unnecessary from version 4.3.0)
  • Session_Id – The session ID is the login session ID.
  • Source_id – User name of the user for which the function is performed.
  • Institute – The requested user’s institution.
  • pds_handle – unique token returned by the remote authentication system

Input XML Format

Examples:
Option 1:  Enter bor_id, verification (unnecessary from version 4.3.0) and session_id

Before version 4.3.0:

<?xml version ="1.0"encoding ="UTF-8"?><x_server_request><bor_info_request><bor_id>PATRON1</bor_id><verification>david</verification><session_id>N86UCH863MNJUQTRHTQG9D11C6E1LVV5R8C3NTCRII7N89HPMK</session_id></bor_info_request></x_server_request>

After version 4.3.0:

<?xml version ="1.0"encoding ="UTF-8"?><x_server_request><bor_info_request><bor_id>PATRON1</bor_id><session_id>N86UCH863MNJUQTRHTQG9D11C6E1LVV5R8C3NTCRII7N89HPMK</session_id></bor_info_request></x_server_request>

Option 2:  Enter source_id, institution, verification and session_id

Before version 4.3.0:

<?xml version ="1.0"encoding ="UTF-8"?><x_server_request><bor_info_request><source_id>David</source_id><institute>METALIB</institute><verification>david</verification><session_id>TJPHJDLAXNQ8IPK4AKI8BKG8KC3XU1G7E65QTXXXBLTSS6A1VY</session_id></bor_info_request></x_server_request>

After version 4.3.0:

<?xml version ="1.0"encoding ="UTF-8"?><x_server_request><bor_info_request><source_id>David</source_id><institute>METALIB</institute><session_id>TJPHJDLAXNQ8IPK4AKI8BKG8KC3XU1G7E65QTXXXBLTSS6A1VY</session_id></bor_info_request></x_server_request>

Input URL Syntax

Option 1:
To retrieve user information for a user with the attributes: bor_id= PATRON1 and verification=david*, embed these attributes within the URL syntax:

http://ram47:8334/X?op=bor_info_request&bor_id=PATRON1&verification=david&session_id=M1JQ1KE1QGM7QGN3CBAY8H7TDS4V856XEB6VM17HYBYX71R8PY

Option 2:
To retrieve user information for a user with the attributes: source_id=David, verification=david*, and institute=METALIB, embed these attributes within a URL syntax :

http://ram47:8334/X?op=bor_info_request&source_id=David&Institute=METALIB&verification=david&session_id=L9UUHVLPA7LUTEQYM7YJX8GLH6FDR2V77GRG6TIQ21UIXQEXH2

* Verification is unnecessary from version 4.3.0

Output XML Format

The XML output includes the following user information for the Bor_id or Source_id, which is provided by the user: Institution, Group, Addition Date, User Name, User Title, Academic Status, User Address, User Telephone, User Display Preferences, User Default Language, User Expiry Date.

Fields that have no value are returned with empty tags.

<<x_server_response metalib_version="4.00 (20)"><bor_info_response><bor_id>PATRON1</bor_id><institute>METALIB</institute><user_group></user_group><open_date>20050102</open_date><user_name>David</user_name><user_title>MR.</user_title><user_academic_status></user_academic_status><user_address_1></user_address_1><user_address_2></user_address_2><user_address_3></user_address_3><user_address_4></user_address_4><user_address_5></user_address_5><user_zip></user_zip><user_email_address></user_email_address><user_telephone_1></user_telephone_1><user_telephone_2></user_telephone_2><user_short_no_lines>10</user_short_no_lines><user_short_format></user_short_format><user_con_lng>ENG</user_con_lng><user_expiry_date>00000000</user_expiry_date><session_id new_session="N">UEC7RC7934RRKJLPIJI15DAESVMAJBQ2DFXXQCH21RVEQU97XD</session_id></bor_info_response></x_server_response>

Possible Error Codes

1. If the session_id, provided as an input parameter, is not valid, the following error message appears in the XML output:

<error_code>0151</error_code>
<error_text>You are not authorized to use this function </error_text>

This can be caused by not using the session_id returned from the login X-Service.

2. If this X-Service was activated after the session had timed out:

<error_code>2050</error_code>
<error_text>session timeout</error_text>

3. If one of the parameters is missing or invalid:

<error_code>2038</error_code>
<error_text>Missing element from XML request - "source_id"</error_text>

4. If one of the input parameters is not correct:

<error_code>3000</error_code>
<error_text>One of the input parameters are not correct</error_text>

5. If the password entered does not match the verification: (unnecessary from version 4.3.0)

<error_code>0130</error_code>
<error_text>Your password pincode is not equal to the verification pincode - enter these fields again.</error_text>

6. If the format of the pds_handle is incorrect:

<error_code>6062</error_code>
<error_text>Invalid pds_handle format</error_text>

7. If the pds_handle is not valid:

<error_code>6061</error_code>
<error_text>Invalid pds_handle</error_text

Note:
If 6 or 7 above are returned, the request will not terminate in error. It is the responsibility of the calling application to determine how to proceed.