Tech Blog

Working with the Task-Lists API

Alma gives staff users the ability to view lists of items that require action. Such lists are called task lists.
For example, task list of borrowing requests includes list of requests that should be reviewed by a resource sharing staff. The staff will review each borrowing request in the list, and will decide whether to fulfill it or not.
A typical task list workflow is to retrieve the task list relevant items (using filters, “find” option or facets), printing it and start working on each task in the list.

Some institutions manipulate the task list items before printing them, or use them in an external application. This can be done using the Print Slip Report option in the task list UI:

Task list’s items can be sent to a printer or to a mail address, as an Excel file or an XML data.
As part of the January release, the task-lists API has been introduced. This API can be used in order to get the task list information using an API call, instead of creating the XML in the Alma UI. In this sense, the API works exactly like the Alma ‘Print Slip Report’ option.
Currently, 2 task lists are available:
For each type of task list, 2 HTTP actions are available:
  • GET – in order to retrieve the list of items in the task list. This action supports various filters, according to the business of the task list. It also have a “printed Y/N” filter.
  • POST – In order to retrieve the list of items in the task list, as well as marking each item in the task list as “printed“.

The common workflow is to retrieve task list of items which were not printed before, assuming that printed items were already under someone responsibility (the one who printed them). Then, marking each item in the task list as printed. for example, for the Requested Resources API:

POST /almaws/v1/task-lists/requested-resources?printed=N&library=MAIN_LIB&circ_desk=MAIN_CIRC

This way, the task list’s items will be marked as reported and will not show up again. The retrieved XML/JSON information should then be used by the calling application, for example for printing out slips.
Note that reprinting needs to be handled outside of Alma, in the calling application. It is of course also possible to call the API in a GET mode, so that requests will not be updated with a ‘reported’ status. This of course runs the risk of new requests being added into the system by the time the processing is done and the subsequent POST call is made.

Leave a Reply