Luminate Online records can be quite large: the constituent record for an organization can have hundreds of fields depending on configuration, and only small subset may be needed for any particular sync or query.
In the schema for Luminate Online Web Services, all fields are defined as optional (minOccurs="0"). This allows requests and responses to contain partial records (only a subset of the full record) and still be considered valid.
Likewise, by default, Query operations typically return a commonly-used subset of the fields for any given object. A request for a ConsName object returns only the most frequently used fields: FirstName and LastName. These two fields are "wildcard" fields for the ConsName object. You can find out which fields are included in wildcards by using the DescribeRecordType operation, which includes an 'IsWildcard' flag for each field.
For Query and GetIncrementalInserts, GetIncrementalUpdates, and GetIncrementalDeletes operations, nested fields are specified using dot notation, i.e. to return the constituent's middle name, specify 'ConsName.MiddleName' as a Field argument.
Update operations follow a similar convention. Only fields specified in an Update request which contain values, or which specify the attribute xsi:nil="true" are updated. Fields missing from the request, or not containing a value, are not changed.
To delete the value of a given field on Update, you must specify the field in the Update request and explicitly set it null.
For example:
SOAP Request | Result |
---|---|
<MiddleName xsi:nil="true"/> | middle_name set to null |
<MiddleName /> | middle_name unchanged |
<MiddleName>John</MiddleName> | middle_name changed to "John" |