API for Users Custom Field Pagination Repeats Users
For anyone that utilizes the Users custom fields list by base role(s), please be aware that the User ID is repeated.
https://developer.sky.blackbaud.com/api#api=school&operation=V1UsersCustomfieldsGet
I noticed that the list user_id listed when I executed the first call is AFTER the marker user_id that is included in the response body. This means that the API isn't providing a unique response as you page through the data.
@Stephen Boyle I put a support ticket in 020648377.
Answers
-
Unless I am misunderstanding, I think that's by design and how other similar endpoints work (e.g., Users extended by role(s)). The endpoint documentation page says, "Results will start with the next user in the result set."
I've seen 4 different marker types with the SKY API so you need to code for the specific one the endpoint uses. In this case, it would be "LAST_USER_ID" for the MarkerType. There are a number of inconsistencies like this, unfortunately. Another one is how error messages are returned.
# Value: NEXT_RECORD_NUMBER - Use the record number as the marker value to return the next set of results. For example: marker=101 will return the second set of results.
# Value: OFFSET - The record to start the next collection on.
# Value: LAST_USER_ID - Use the last user's ID as the marker value to return the next set of results.
# Value: NEXT_PAGE - Use the page number as the marker value to return the next set of results. For example: page=2 will return the second set of results.0 -
@Michael Panagos thanks for the response. I'll give it a shot and see if I can get the desired results. However, if the API is going to provide a "next link" in the JSON body, then I think the default expectation would be that IT IS in the next user not provided in the current JSON body result. Otherwise, what's the point of providing a next_link for developers to use? The documentation at a minimum is not accurate as it states the "marker" should be:
The user's id to start at to return the next batch of data. Results will start with the next user in the result set.0 -
Adjusting should work. It is annoying there are so many types of pagination to the api. The marker in next_link (/v1/users/customfields?base_role_ids=14&marker=xxxxxx) is the last user from the last page you already received. "Next" in this case refers to the next query, not the record.
0 -
@Michael Panagos thanks for pointing that out. IMO, this is just bad coding and output from the API. I have the ticket in to support hopefully they at least update the documentation to make it more clear or (fingers crossed) actually make the next link the next user :)
0
Categories
- All Categories
- 6 Blackbaud Community Help
- 213 bbcon®
- 1.4K Blackbaud Altru®
- 403 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 15 donorCentrics®
- 360 Blackbaud eTapestry®
- 2.6K Blackbaud Financial Edge NXT®
- 656 Blackbaud Grantmaking™
- 576 Blackbaud Education Management Solutions for Higher Education
- 3.2K Blackbaud Education Management Solutions for K-12 Schools
- 939 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 84 JustGiving® from Blackbaud®
- 6.6K Blackbaud Raiser's Edge NXT®
- 3.7K SKY Developer
- 248 ResearchPoint™
- 119 Blackbaud Tuition Management™
- 165 Organizational Best Practices
- 241 Member Lounge (Just for Fun)
- 34 Blackbaud Community Challenges
- 34 PowerUp Challenges
- 3 (Open) PowerUp Challenge: Chat for Blackbaud AI
- 3 (Closed) PowerUp Challenge: Data Health
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Product Update Briefing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports+
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Email Marketing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Event Management
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Query
- 793 Community News
- 2.9K Jobs Board
- 54 Blackbaud SKY® Reporting Announcements
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)