API: Extension Databases

From Charitylog Manual
Revision as of 11:23, 12 July 2023 by Msim (talk | contribs) (Single Record Extension Database: Writing)
Jump to: navigation, search

Go to API overview

Helpheader small.png

Making Extension Databases available to the API

You can choose which Extension Database fields are exposed to the API, by editing the field in the web application. Set "Allow collaborator API access?" to "Yes", at which point a "Name to share with collaborators" (field name) will be generated. You can then reference that extension database field in the API by the collaborator name.


Single Record Extension Database: Reading

For the API consumer, these are treated the same as the standard fields. For example, an API consumer selecting field/postcode;show_size;ethnicity does not need to know that postcode and ethinicity are standard fields, and shoe_size is an Extension Database field.

Single Record Extension Database: Writing

Because these are treated the same as the standard fields, they can be posted along with standard fields to /clients or /referrals.

To see a full list of standard and single-record Extension Database fields, use the /clients/selectable_fields for Organisation & People-linked records, and the /referrals/selectable_fields for referral-linked records. Club&Clinic-linked Extension Databases are not currently available.

Multiple Record Extension Databases: Reading

Multiple record extension databases work as their own entity. They can be accessed in the API by a combination of their name and ID. Convert the name to lowercase, and replace spaces with underscores. Then separate the name and ID with an underscore. For example, this end point that gets all records for extension database 9, called Wellcheck Notes:

[GET] https://api.dizions.co.uk/v2/extension_database/wellcheck_notes_9

To make things more efficient, you can specify which fields to select:

[GET] https://api.dizions.co.uk/v2/extension_database/wellcheck_notes_9/field/assessment_score;finances

Filters can be used in the same way as other requests. This gets all results for a particular referral:

[GET] https://api.dizions.co.uk/v2/extension_database/wellcheck_notes_9/referral/2289

Multiple Record Extension Databases: Creating

To create a new record you need to do a [PUT] request.

[PUT] https://api.dizions.co.uk/v2/extension_database/staff_disciplinary_13

Then add the body:

"referral": "2289",
"date_43": "2018-11-08",

The ID of the new record will be returned.

Multiple Record Extension Databases: Updating

To update a record you also need to supply the ID:

[POST] https://api.dizions.co.uk/v2/extension_database/wellcheck_notes_9/id/17

Then add the POST body in the same way as a PUT request.

Dictionaries

For Extension Database which are "Select From Option List" or "Radio buttons", there is a dictionary for each field, using the collaboration name displayed on each Extension Database Field:

[GET] https://api.dizions.co.uk/v2/dictionary/extension_database/INSERT_API_COLLABORATION_NAME_HERE