Ready to Learn?Ex Libris products all provide open APIs

Fulfillment services

Alma offers the ability to “get” printed material or “view” electronic and digital material.
The workflow described in this article refers to material that was initiated in Alma and harvested in the discovery system. The workflow for other material is described in Services page.
 
The publishing from Alma to the discovery system contains inventory information. Based on this information, the discovery system can give an indication (in the results page) whether the title is available in print (i.e. it is possible to 'get it') or electronic (it is possible to 'view' it) version.
Once user clicks on one of the viewit/getit options, an OpenURL request should be sent to Alma in order to request the specific service.
Alma responds with HTML, representing the mashup of the requested service. The discovery system should display the returned mashup in an iFrame.
 
Example of the viewit mashup:
The viewit mashup contains links to view the requested resource online. The order of the links depends on setup.
 
Example of the getit mashup:

The getit mashup contains information about physical items, their location and their status. logged-in users can place a hold request. The 'Request' option is displayed only if the title is requestable for the user, based on the fulfillment configuration.

 

Base URL

 
If you are a multi campus institution:
<Alma delivery domain>/view/uresolver/<institution_code>/openurl-<campus code>?
Else:
<Alma delivery domain>/view/uresolver/<institution_code>/openurl?
 

Supported Parameters

 
Request for specific service can be for:
  • View it: with parameter svc_dat=viewit
  • Get it: with parameter svc_dat=getit

 

The following table describes the parameters that should be sent as part of the Request for specific service OpenURL:
 
Parameter nameDescription
svc_datviewit / getit
rfr_idinfo:sid/primo.exlibrisgroup.com
rft_dat
private data area of the OpenURL which includes the following:
language=[language_code],view=[view_code]
example: &rft_dat=language=eng,view=17
language - In order to receive viewit / getit HTML in specific language, language code should be sent.
Example: rft_dat=language=eng
view - In order to support multiple views, an institution can define multiple views in Alma, with different CSS. This is configured in Alma under Gerenal configuration - Delivery System Skins. Example: view=Myview
u.ignore_date_coverage

true
This parameter is required in order to get all services that are related to the specific mms_id or portfolio_id, regardless their coverage.

rft.mms_idThe specific MMS ID
portfolio_pidThe specific portfolio PID (relevant only for viewit, and can be used only when rft.mms_id is not included)
Force_directTo force a redirect to an electronic journal's full text include following parameter: Force_direct=true
As a response to the specific service OpenURL, Alma will return HTML, representing the mashup of the requested service. The discovery system should display the returned mashup in an iFrame.
See example in Alma's Guest sandbox.
 

SAML based SSO

Some services might be allowed only for logged-in users. SSO between the discovery system and Alma will be based on SAML:

 

 

In order to enable SSO between an external discovery system and Alma, the following parameters should be included in the request for specific service:
 
Parameter nameDescription
ssotrue
tokenUnique token for identifying the user's session in the discovery system. 
Once sent as part of the initial request, it will be saved in Alma's session. During each following request, Alma will compare it with the saved token.
The purpose is to prevent a case when one student has logged out of the Discovery (and SAML), but for some reason is still logged into Alma, and another student using the same browser will receive his Alma session.
In addition, SAML-based IDP should be configured in with Alma. see SAML for more details.
 

 

 

Examples

Get It for print materials

https://alma.com?svc_dat=getit&...

View It for online materials

https://alma.com?svc_dat=viewit&...

Use case: Giving links to E-resources in the results list

Institutions might want to display links of relevant electronic resources as part of their results list page. This can be done as following:
  • Electronic inventory should be published from Alma to the discovery system, including portfolio pid
  • In the results page, the discovery system should display a list of the electronic resources, according to the published data. Each electronic resource should link to an OpenURL viewit request, with the portfolio_pid parameter (without mms_id) and Force_direct=true. For example: https://alma.com/view/...?svc_dat=viewit&portfolio_pid=...&Force_direct=true
  • ‘viewit’ requests based on portfolio pid always return a single service. The single service is returned as a mashup.
     

 

Important Note: The OpenURL integration is intended for integrating Alma with third party discovery systems. Using it for other workflows is not supported.