Update Resource-sharing request through the ALMA API
Currently with the API, the only update option possible is shipping a resource sharing request. We request the option to perform other updates, e.g. change the status.
(Updating the resource sharing request through the corresponding user-request does not work.)
-
Allen Jones commented
Here was the rapido idea for CERV (RAENH-I-1383):
The lack of an update API for borrowing/lending requests significantly limits the ability to build intelligent middleware and workflow automation around Alma Resource Sharing. An update endpoint would enable external orchestration tools such as Library Open Workflows, vendor interoperability layers, and consortial routing services to enrich, normalize, and dynamically manage requests before submission and throughout the transaction lifecycle. Such an enhancement could also enable synchronization with OCLC WorldShare for those libraries inclined to do so.
With update functionality, libraries could automatically enhance request metadata prior to partner submission, including adding remote system identifiers (e.g., OCLC numbers, local 001 values, network-zone identifiers, or shared consortium IDs) to improve automated matching and fill rates. Middleware workflows could perform pre-flight validation, normalize citation metadata, apply local routing labels, select optimized lending partners, or dynamically alter request handling based on request type, availability, licensing, or service-level rules.
An update API would also support transaction synchronization between Alma and external resource-sharing networks. For example, external workflows could monitor partner systems for events such as “end of rota,” supplier rejection, conditional responses, or fulfillment failures, then automatically update the Alma request status to reflect the external transaction state. This would reduce manual intervention, improve request accuracy, and allow Alma to participate more effectively in cross-platform and cross-vendor resource-sharing ecosystems. While we would ideally like the vendors to work this out, these network synchronization integrations may require local customization that an API could support.
This is a strongly needed API endpoint for borrowing requests to write integrations against systems from other vendors, particularly in Library Open Workflows.
Basically, we need the following:
be able to query requests in a particular state and for a particular partner within a specific IZ
be able to create/cancel/update requests (such as adding a remote record identifier to the request, add a label, or move to another status)
be able to 'send' the request to the partner from Alma upon save.
Update metadata within requests such as remote identifier,
it would be great if we might be able to send a request such as :
GET /almaws/v1/resource-sharing-requests?status=CREATED_BORROWING_REQUEST&&partner=PARTNER_CODE&limit=100
There are create and delete/cancel actions for resource-sharing requests, but not update functions (https://developers.exlibrisgroup.com/alma/apis/users/#Requests)
A script would perform remote record ID lookups automatically before sending to a specific network/partner using their local 001 identifiers to improve fill rates. Once the request was updated, a parameter in the GET request would be included to submit the request to the partner (submit_to_partner=true) and advance the request to "request sent to partner".
Ideally, we should be able to run a separate script to see if a particular RS transaction (based on the external identifier) submitted to a partner has gone 'end of rota', then update the alma resource sharing request by changing the status to "REJECTED_BY_PARTNER".
-
Allen Jones commented
This request seems to have gotten stale. This is a strongly needed API endpoint for borrowing requests to write integrations against systems from other vendors, particularly in Library Open Workflows.
Basically, we need the following:
1) be able to query requests in a particular state and for a particular partner within a specific IZ
2) be able to create/cancel/update requests (such as adding a remote record identifier to the request, add a label, or move to another status)
3) be able to 'send' the request to the partner from Alma upon save.it would be great if we might be able to send a request such as :
GET /almaws/v1/resource-sharing-requests?status=CREATED_BORROWING_REQUEST&&partner=PARTNER_CODE&limit=100
There are create and delete/cancel actions for resource-sharing requests, but not update functions (https://developers.exlibrisgroup.com/alma/apis/users/#Requests)
A script would perform remote record ID lookups automatically before sending to a specific network/partner using their local 001 identifiers to improve fill rates. Once the request was updated, a parameter in the GET request would be included to submit the request to the partner (submit_to_partner=true) and advance the request to "request sent to partner".
Ideally, we should be able to run a separate script to see if a particular RS transaction (based on the external identifier) submitted to a partner has gone 'end of rota', then update the alma resource sharing request by changing the status to "REJECTED_BY_PARTNER".
-
Matt Black
commented
Hi Knut, does your idea refer specifically to borrowing requests or does it include enhancing the lending request API (https://developers.exlibrisgroup.com/alma/apis/partners/) to support updates? Either way I second the need for this.