Uploaded image for project: 'mod-circulation'
  1. mod-circulation
  2. CIRC-1546

POST /circulation/requests requires more fields than before

    XMLWordPrintable

Details

    • EPAM-Veg Sprint 142
    • 5
    • Vega
    • Lotus (R1 2022) Hot Fix #2
    • Yes
    • Cornell
    • Third party component integration

    Description

      Overview: Starting with the Lotus release, the /circulation/requests POST endpoint seems to require more fields than it used to, which breaks some pre-existing API integrations (e.g. VuFind). Previously, you could omit "requestLevel" and provide just an "itemId" value, and the request would be placed. Now, "requestLevel", "holdingsRecordId" and "instanceId" are mandatory. Can't the holdings and instance IDs be inferred from the item ID? Can't requestLevel default to "Item" if omitted?

      Steps to Reproduce:

      If I try to place a hold in VuFind 8.0 against FOLIO Lotus, I get the error:

      requestLevel must be one of the following: "Item"

      If I modify the code to add requestLevel = Item, I get the error:

      Cannot create a request with no instance ID

      If I add the instance ID, I next get the error:

      Cannot create a request with item ID but no holdings record ID

      If I add the holdings ID, everything works... but are all these extra values really necessary?

      Additional Information:
      See this VuFind pull request, which works around the problem – I'm happy to merge this if it is actually necessary, but if this is indeed a FOLIO bug, it would be helpful to know that: https://github.com/vufind-org/vufind/pull/2464

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                OleksandrVidinieiev Oleksandr Vidinieiev
                demiankatz Demian Katz
                Votes:
                0 Vote for this issue
                Watchers:
                15 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases