One thing that can make the API confusing is its inconsistencies. Take for example the task of referencing the constituent object’s system id from another data object. The constituent system ID is used uniformally throughout to connect a constituent to its child objects such as, gifts, actions, aliases, solicit codes, etc. The naming convention however is not uniform. The objects have fields which are referenced in the following format:
so that an action references the constituent that is tied to it by the following:
This general format works well in most cases. However for some objects lowercase is used and in other examples such as participants both singular and plural forms are used, e.g. Participant_fld_GuestName and Participants_fld_AddedByID.
However references to the constituent system id are perhaps the most inconsistent. Here are a selection:
Top Level Objects
Education rel RECORD_ID
Financial rel CONSTIT_ID
Individual rel CONSTIT_ID
Organization rel CONSTIT_ID
Non top level
Constituent Code CONSTIT_ID
Solicit Codes RECORDSID
That gives six different ways to reference the constituent system id:
Most of the time this is solved by “intellisense” in Visual Studio. The dropdown shows you what is available and you just pick the most suitable value. This doesn’t always help. Just look at what is available for individual relationship in the CIndividual object:
Its not always so obvious!