© 2024 Clarivate
PUT /api/.../holds/{id}?action=fillnow
Fill a local hold request for a patron with a specific item barcode.
CR_HoldRequests_Modify: modify hold requests
Name | Type | Required | Description |
---|---|---|---|
id | Integer | Yes | ID of local hold request |
The process of filling a hold request now is "conversational" in nature. Multiple API requests may have to be made as the user may need to acknowledge, bypass, or otherwise answer questions. As such, along with the actual item barcode value, additional procedural state information will be passed back and forth.
The body of the REQUEST calls to the API will follow this general pattern:
application/json, text/json
{
ItemBarcode: '010002345',
ProcedureStep: 1,
Answer: 1,
}
The body of the RETURNED calls will follow this general pattern:
application/json, text/json
{
ProcedureStep: null,
Answer: null,
ItemBarcode: '010002345',
PAPIProcedure: 0,
PAPIProcedureStep: 2,
PAPIAction: 2,
PAPIActionProcedure: 0,
PAPIPromptType: 4,
PAPIStopType: 0,
PAPIReturnCode: -4008,
Success: false,
Message: "Item record not found"
}
The initial API request should have a ProcedureStep value of 1 (Start). Check the returned values for the Success attribute as an indication if fulfilling the hold request was successful. If Success is true, the ItemRecordID will be a valid item record ID.
For cases where Success is false, check the other PAPI* attributes for what is required next in order to resubmit the API request. The PAPIProcedureStep may contain any of the following values if the Success attribute is false:
For ProcedureStep 30, the following error messages may be returned (they cannot be bypassed):
For ProcedureStep 31 (item needs to be transferred to another branch), the user can OK or continue.
Code | Description |
---|---|
200 | OK. Success |
400 | FAILURE. |
409 | CONFLICT. Patron record is secured. |
Permission IDs found here.
HoldRequests_Modify (based on the pickup branch ID)