My Community
YourCause®
Impact Edge™
All-Star Lounge
Member Lounge (Just for Fun)
Community News
Community Manager
Groups
Browse Products
Members
Community All-Stars
Monthly Challenges
Member Search
Jobs Board
Help
Using the Blackbaud Community
Blackbaud Support
Knowledgebase
Blackbaud University
Discussions
Categories
Groups
Home
SKY Developer
SKY Developer General Discussions
Blackbaud Raiser's Edge NXT® APIs
Errors from Prospect Status API
Adam Wilhelm
When I hit the Prospect Status API, I get 500 responses
https://api.sky.blackbaud.com/constituent/v1/constituents/xxxxxx/prospectstatus
:
500 no implicit conversion of String into Integer
Anyone else experience this or know a work-around? The only parameter is the constituent ID that is passed in the URL
Find more posts tagged with
Comments
Adam Wilhelm
Is anybody watching this forum?
Ben Lambert
Hi Adam,
Make sure you are specifying the constituent
system record ID
(which will be an integer), not the user-definable constituent
lookup ID
(which can be a string).
Adam Wilhelm
Thanks, Ben. I am using the system record ID. This is the field that is just labeled "id" in the JSON response to a Constituent request, right?
Adam Wilhelm
I have investigated further and here is what I have found: There is a third ID. It's not the constituent ID and it's not the lookup ID. This is what I believe Ben meant by "system record ID." The only place I have been able to find this Id is in the URL on the UI:
https://renxt.blackbaud.com/constituents/XXXXXX
where XXXXXX is the system record ID.
I don't see this ID in the Constituents API anywhere. There is an "ID" field, which is the "Constituent ID" and there is a "lookup_id" field. Where is the value I need to make the subsequent call for prospect status?
Ben Lambert
Hi Adam,
Glad to see you got this working - and apologies for the confusion in our terminology between the API and product UI itself (you're not the first to hit this, and there's a long history behind why things are named as they are).
You are (mostly) correct - the identifier value you need to use exclusively throughout the Constituent (and other) SKY APIs is that "immutable" system record identifier that you see in the address bar. That value is often confused with another unique identifier for a constituent, the "
lookup ID",
which is a value that can be set/changed by the user (whereas the identifier needed/used by the SKY API cannot be set/changed by the user). The confusion generally comes because of the way the Lookup ID field is presented in the UI (it's labeled "Constituent ID" as that is more user-friendly). So only 2 unique identifiers on the constituent entity, not 3 .
So unless explicitly stated in the API, you'll need to use the "immutable" system record ID for all API calls (and that's the value that will be returned in APIs response that have references to other related records).
Specifically for Constituents - the identifier values you provide to and receive back from the SKY API will be integer values. Note that you can use the
SearchConstituent
endpoint and provide the lookup ID value as the search_text parameter in order to get back the constituent entity and see the actual lower-level "immutable" system record ID.
Quick Links
All Categories
Recent Posts
Activity
Unanswered
Groups
Help
Best Of