null
OASIS REAL TIME ACQUISITIONS API
OVERVIEW
This document will help ProQuest OASIS customers prepare their Alma system for use with the Real Time Acquisitions (or Ordering) API to allow communication between OASIS and the customer’s Alma system to insert purchase order lines as items are ordered in OASIS.
The setup process will involve configuration on both the Alma and OASIS systems. Information will need to be obtained from the ExLibris developer’s website and information will need to be sent to ProQuest.
The API will create the order line in the Purchase Order as well as create a brief bibliographic record which may be used in the OPAC or discovery systems. That record is
very brief. We highly recommend that you be set up to do a nightly load of “brief” MARC records from ProQuest OASIS to overlay those records to provide better access.
ExLibris calls this process RTO or Real Time Acquisitions and has also has documentation at
https://developers.exlibrisgroup.com/blog/Real-time-Acquisitions.
INTRODUCTION
The OASIS Real Time Acquisitions API is a web service that can be used to order any title in the OASIS catalog via a programmatic script.
- All requests to the ordering API require an API key. This key ensures the identity of the request and is used to track API usage.
- Some of the parameters that need to be sent in the OASIS Real Time Acquisitions API may or may not be required depending on your account setup at OASIS.
- JSON-encoded values will be returned after the authentication and ordering REST calls are made. REST calls can be invoked via a GET operation. The return values contain status codes, both of which are suitable for storing in your database system for future retrieval.
- Before invoking this process make sure the account set up process has been discussed with ProQuest customer service and set up internally.
- All requests to the OASIS Real Time Acquisitions API are required to be made over a secure connection. If the incoming connection is not secure, then the API will return an error.
- The OASIS Real Time Acquisitions API exists in two environments: test and live. The live URL is oasis-services.proquest.com and the testing URL is oasis-services-alpha.proquest.com.
Note: a software developer with basic-to-intermediate skill level may be required to write the code to invoke the OASIS Real Time Acquisitions API.
API Key
All requests to the OASIS Real Time Acquisitions API require an API key. This key is unique per customer and should not be shared or distributed to anyone outside of your organization.
To obtain this key, the system administrator must contact OASIS customer service to request the OASIS Real Time Acquisitions API key:
Ordering
The OASIS Real Time Acquisitions API requires the API key and a series of parameters as defined in your account setup at ProQuest.
The OASIS Real Time Acquisitions API is invoked via a REST call, whereby the parameters are defined as key-value pairs.
Required Parameters
API Key | The apiKey value as supplied by ProQuest. This value to follow in a separate email and is a unique identifier. |
ISBN | ISBN of the title being ordered in ISBN10 or ISBN13 format |
Quantity | Total order quantity |
Optional Parameters
Field Name | API Key Name | Data Type | Description |
Order Type | OrderType | String | 2 applicable values:
- RatificationOrder – request is created in OASIS on specific ratification list awaiting authorization
- CouttsOrder – order is created directly.
|
Field Name | API Key Name | Data Type | Description |
Customer Purchase Order No | CustPONo | String | Customer supplied purchase order Number for this order |
Budget/Fund Code | Budget | String | Customer supplied Fund or Budget number for this order |
Site / Location | Site | String | Customer supplied Site/Location code for this order |
Loan Type/Stock | Loantype | String | Customer supplied Loan Type or Stock category for this order |
Collection | Collecti | String | Customer supplied Collection code |
Order Email Admin | Oemadm | String | Order administration email address for notification |
Order Email End User | Oemend | String | Order end-user email address for notification |
Duplication Override | Dupeover | Boolean | Customer acknowledges that the order is a duplicate and if set then in OASIS will ignore the duplication checks: Yes/No |
Phone Rush | PhoneRush | Boolean | Phone rush flag |
Internal Note | IntNotes | String | Customer Internal notes |
Notes to Coutts | CouNotes | String | Notes to Coutts customer services (Vendor notes) |
Additional Copy | Addcopy | Boolean | Treat this order as additional copy |
Binding | Binding | String | Binding of the ISBN on order |
Branch Code | Branchcd | String | Branch code |
Classification | Cclassno | String | Customer supplied Classification |
Field Name | API Key Name | Data Type | Description |
Faculty Member | Facmemb | String | Customer end user identification |
Patron ID | patronid | String | Customer patron ID |
Holding Code | holding | String | Customer holding code |
Interdisc. Subject | intrdisc | String | Interdisc. Subject |
Item Type | itemtype | String | Item Type |
Material Type | mattype | String | Material Type |
Barcode | nbarcode | Boolean | OASIS to apply Barcode to item |
Processing | nproc | Boolean | OASIS to process item |
MARC Record Req | nreqmr | Boolean | MARC Record cataloguing required |
Spine Label Req | nreqspl | Boolean | spine label required |
Order Category | ordcat | String | Customer order category |
Receiving Action | recact | String | Action required at customer receipt |
Readers Interest Category | ric | String | Reader Interest Category |
Rotation Code | rotcode | String | Public Library rotation code |
Sequence Code | seqcode | String | Customer sequence code |
Shelfmark | shelfmk | String | Shelfmark |
Size Code | sizecode | String | Indicates oversized material |
Rest Call
Parameters are passed to the ordering API via a REST call. The call would appear as follows:
Production Environment
https://0-oasis--services-proquest-com.library.cairn.edu/order?
apiKey=<value>&
ISBN=<value>&
Quantity=<value>&
OrderType=<value>&<API Key Name #1>=<value #1>& <API Key Name #2>=<value #2>& <API Key Name #3>=<value #3>…& <API Key Name #x>=<value #x>
Test Environment
https://0-oasis--services--alpha-proquest-com.library.cairn.edu/order?
apiKey=<value>&
ISBN=<value>&
Quantity=<value>&
OrderType=<value>&<API Key Name #1>=<value #1>& <API Key Name #2>=<value #2>& <API Key Name #3>=<value #3>…& <API Key Name #x>=<value #x>
Sample API
https://0-oasis--services-proquest-com.library.cairn.edu/order?
apiKey= 68f27cb2-1bc5-4ddd-96d9-f01581115501&
ISBN=9781234567890&
Quantity=1&
OrderType=CouttsOrder&
CustPONo=CN38383&
Intnotes=description%20of%20internal%20notes&
Oemadm=abc@couttsinfo.com
Successful
If successful, the returned value will look like:
{"Code":100,"Message":"Success"}
Unsuccessful
If an error is encountered, the returned value will look like:
Condition | Error Code | Example Return Value |
Missing Parameter | 200 | {"Code":200,"Message":"<error text>"} |
Error | 400 | {"Code":400,"Message":"<error text>"} |
The field "error text" can be inspected and logged to determine the extent of the problem.