Best practices: Optimization
To improve the performance of the Member Data Service, keep the following optimization considerations in mind.
Persist mapping of email Member ID in integration flow
Within the flow of your integration, maintain a map of email addresses
to
memberid
values. This saves time on checking to see if
a member exists when there is a match based on previously processed data.
Saving this lookup to the Member Data Service can greatly reduce overall
processing overhead.
Maintain information within the integration flow
Maintain sufficient information within the integration flow to identify when the source information has changed.
This is pertinent when there is a straight poll of the full current data from the source system. If the source system is providing incremental changes, then this will not be helpful or necessary.
When the source information | Then |
---|---|
Has changed | It needs to be pushed through to the Member Data Service. |
Has not changed | You will not have to look up the current values. |
GET current Member Values for several members at a time
Use a comma-separated list of Member IDs to get the latest information for several members at a time. This will improve efficiency in calling the Member Data Service, but adds complexity in the integration code.
The maximum number of members and Member Variables to request in one call will be limited by URL length restrictions and hence cannot include all members and all Member Variables.
The following example shows a request for 6 members and 3 member variables.
Example |
---|
|
POST new Member Values in batches
Build a set of Member Values and post them together in batches rather than one at a time. The recommended maximum number of Member Values to POST in one call is 500.
Example |
---|
Request URL:
Request Body:
|
Look up Member Variable Value IDs for choice variables
When the Member Variable involves a closed set of possible options
(for example,
type: "singleChoice"
or
type: "multiChoice"
) it is more efficient to
pre-create /
pre-fetch Member Variable Values and then
specify those values in the POST calls to create Member Values.
Example: Pre-fetch Member Variable Values |
---|
Request URL:
Response Content:
|
Example: Create Member Values |
---|
Request URL:
Request Body:
|