Patron API: Customizing the Innovative Interfaces ILS (III) Settings

Follow

The PatronAPI settings are located in the ILLiad Customization Manager under Web Interface | Innopac. The WebAuthType key is located under Web Interface | Authentication.

InnopacPatron
APIAddress
The URL (including port number) for the PatronAPI server. Normally, the key also has a port after it of 4500. An example value would be http://123.123.123.123:4500 where 123.123.123.123 is the PatronAPI server at your site. Also, the ILLiad server needs to have access to query the PatronAPI server. Most PatronAPI servers restrict access by ip address. Example: http://patronapi.abc.edu:4500
InnopacPatron
APIExclusive
This determines if PatronAPI is used to auto-clear users or restrict access to only those who pass all criteria in the PatronAPI server. This key should be set to No if customers not in the PatronAPI server should still be allowed to register and Yes to only allow customers who pass the PatronAPI authentication to register with ILLiad. Details on this are below. Example: Yes or No
InnopacPatron
APIExpireDate
Only used if PatronAPI is exclusive. This determines if ILLiad should check the user's expiration date in PatronAPI. Set this key to Yes to have ILLiad check if a customer is expired before allowing registration or login. Example: Yes or No
InnopacPatronAPI
ExpireDateFormat
Only used if PatronAPI is exclusive and ExpireDate is set to Yes. Determines the format of the expiration date in PatronAPI. Example: mm/dd/yy
InnopacPatronAPI
ExpireDateRegExp
Only used if PatronAPI is exclusive and ExpireDate is set to Yes. This is a rarely changed field, but allows you to customize what format the date may appear in within PatronAPI. Example: 
EXP DATE\[p[0-9]+\]=([-0-9]+)
InnopacPatron
APIField
The field from Users to use for searching PatronAPI. While it can technically be any field in Users, most sites use SSN, Number or Username. This is the field that ILLiad sends to the PatronAPI server for authentication. Example: SSN, Number or Username
InnopacPatronAPI
FineAmountRegExp
Only used if PatronAPI is exclusive. This is a rarely changed field, but allows you to customize what format the fines may appear in within PatronAPI. Example: 
MONEY OWED\[p[0-9]+\]=\$([0-9.]+)
InnopacPatronAPI
FineBlock0 (or any number)
Only used if PatronAPI is exclusive. ILLiad determines the maximum amount of fines allowed for each patron type based off of the number value in this customization key. Set this key to Yes to have ILLiad check if a customer has exceeded his or her fine limit beforing allowing registration. If this is set to Yes, there needs to be a key for every Patron Code allowed to use ILLiad. There are some examples in a default installation of 0, 1, 2, etc. But for each code, there needs to be the value for number of dollars before customers can no longer register or use ILLiad. Example: 20
InnopacPatronAPI
PatronTypeRegExp
Only used if PatronAPI is exclusive. The regular expression in this customization key allows you to determine which patron types are allowed to use ILLiad. By default the [ILLiad:0-9]+ says any number value is allowed, but it could be customized to only allow certain numbers. Example: 
P TYPE\[p[0-9]+\]=([0-9]+)
WebAuthType Tells ILLiad to use PatronAPI authentication. Example: PatronAPI

PatronAPI - Exclusive versus Non-Exclusive

If PatronAPIExclusive is set to No, ILLiad only verifies that the user exists in the PatronAPI server and will auto clear that user if AutoClearPreregisteredUsers is set to Yes. Subsequent logins do not check the PatronAPI server to validate the user.

If PatronAPIExclusive is set to Yes, customers can only use the system if the value in the field set by InnopacPatronAPIField matches the number used by PatronAPI, the user is not expired, the user's patron type is allowed to use the system, and that patron types fine limit has not been exceeded. These criteria are checked both for registration and subsequent logins to ILLiad.

PatronAPIFineBlock Customization Keys

Once you determine which PType numbers are allowed to use ILLiad, you need to have a specific PatronAPIFineBlock customization key set for each of those numbers. For example, if you only allow PTypes 20-25 to use ILLiad, you would need to have a PatronAPIFineBlock20, PatronAPIFineBlock21, etc. customization key in ILLiad. You can add additional customization keys in the Customization Manager under System | Innopac by adding them directly to the Customization table.

Testing Connectivity to the PatronAPI Server

To verify that your ILLiad web server can connect to the PatronAPI server, you can type a sample PatronAPI address into the web browser on the server. The format would be: http://patronapi.abc.edu:4500/PATRONAPI/123456789/dump where 
http://patronapi.abc.edu:4500 is your InnopacPatronAPIAddress and 123456789 is a valid PatronAPI number. You can also test connectivity to your PatronAPI server using an internet browser.

If you receive a message like the following, you do not have access from the machine from which you tried to connect: 403 ForbiddenNo access permitted from 123.123.123.123.

If you receive a response with field names and data from your test patron (as shown in the Innovative User Manual Patron API section headed "Accessing the Patron Data"), you have the appropriate level of access.

For PatronAPI authentication, users who validate against the PatronAPI server can be cleared automatically by setting the AutoClearPreregisteredUsers customization key to Yes in the Customization Manager. If that key is set to Yes, those pre-cleared users can be sent a welcome email by turning on the AutoClearSendEMail key to Yes in the Customization Manager. The template for that email is autoclearcust.

For PatronAPI authentication, the WebAuthType key in the Customization Manager should be set to PatronAPI. Because customers choose their own passwords during registration, they can use the password reset feature as well.

Questions?

If this article didn’t resolve your issue, please take a moment and answer a few questions to help improve our documentation:

Feedback