Users extended by role(s) vs. Users by role(s) - returning different data
Hello all,
I am noticing I get different # of responses based on calling users extended by role(s) vs. users by role(s). Extended is giving me 2 more students than the standard users.
Here is my Core Roles output for Student - no other roles have a base_role_id of 14:
{
"id": 60473,
"base_role_id": 14,
"hidden": false,
"name": "Student"
}
https://api.sky.blackbaud.com/school/v1/users?roles=60473 returns 744 students
https://api.sky.blackbaud.com/school/v1/users/extended?base_role_ids=14 - returns 746 students (the correct number)
The 2 missing students do not appear to be any different than the rest of the students.
Any idea what could be going on here?
Thank you!
Andrew
Comments
-
@Andrew Teets definitely a curious situation. If you could report the issue to our support team with the details you provided above along with 2 student's information that seem to be missing from the users by role call, we'll be happy to look into it.
2 -
@Todd DeSchuiteneern Thank you - will do!
Andrew1 -
@Todd DeSchuiteneer I have a similar issue with how the API was designed. Support shared with me that API places data in the blocks based on the order of entry. I share with support this is not a good design. Example I am looking to map mobile phone numbers to a field and sometimes the mobile phone is in section block 1 or block 2 or block 3. I shared with support an API should always return the same position and field names. I am using the user extended by role.
1 -
@Natasha Rodriguez Unfortunately each user may have a different order for any records depending on when the records were added. In the case of phone numbers, some users may have multiple entries, while some users have one or even none. If an API were to be designed to allow for something like “Home phone = block 1” and “Mobile phone = block 2” that would require every user to have large amounts of empty records returned for them, which slows down transmission and makes it harder to use the API to get the actual data on the receiving end.
It's because of this that most APIs supply a type parameter for many objects like phone number records. By looping through the list of phone numbers for a user and looking for the type you want to find, you will always get the data you want. The following is an example of what I mean:
foreach(var user in userExtendedRecords)
{
//loop through the user phone records
foreach(var phone in user.Phones)
{
if(phone.PhoneType == "Hone")
{
//we found a home phone!
}
if(phone.PhoneType == "Mobile")
{
//we found a mobile phone!
}
}
}I hope this helps!
0
Categories
- All Categories
- 6 Blackbaud Community Help
- 210 bbcon®
- 1.4K Blackbaud Altru®
- 395 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 15 donorCentrics®
- 360 Blackbaud eTapestry®
- 2.5K Blackbaud Financial Edge NXT®
- 649 Blackbaud Grantmaking™
- 567 Blackbaud Education Management Solutions for Higher Education
- 3.2K Blackbaud Education Management Solutions for K-12 Schools
- 937 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 84 JustGiving® from Blackbaud®
- 6.5K Blackbaud Raiser's Edge NXT®
- 3.7K SKY Developer
- 247 ResearchPoint™
- 118 Blackbaud Tuition Management™
- 165 Organizational Best Practices
- 239 The Tap (Just for Fun)
- 33 Blackbaud Community Challenges
- 31 PowerUp Challenges
- 3 (Open) 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
- 783 Community News
- 2.9K Jobs Board
- 53 Blackbaud SKY® Reporting Announcements
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)


