Use case
This pattern's purpose is to need to keep a third party system’s data consistent with SpotMe registrant data - typically for CRM and marketing automation systems, but also other event management platforms.
In this pattern, the registrants data is pulled from SpotMe and pushed into the third party system for the process of tracking customer data (with potential reconciliation) or for creating new leads.
Integration prerequisites
The customer will be required to host a continuously running “integration process” that can be scheduled to execute at specified time intervals.
This integration will need to be able to:
- Access the credentials (via a SpotMe API token) for each relevant SpotMe organization.
- Make API calls against SpotMe’s REST API and the third party system’s API.
- Keep track of the last sync timestamp for each event.
- Store a field-level registrant data mapping between the two systems.
Pattern steps
See below a breakdown of the steps involved in the pattern.
1 - Get the list of the current events
The API consumer will use the GET /orgs/{orgid}/workspaces API endpoint to retrieve the relevant workspaces (events) under a particular SpotMe organization.
Data fields such as "start date", “is active” flag, “is test” flag and "category" should be used to filter the results.
2 - Get the list of modified attendee records
For each event (workspace) obtained in Step 1, use the
POST /workspace/{eid}/global/docs/person/changes/since to retrieve the list of updated (or new) records since the last sync timestamp - this information should be passed on via the “since” parameter (request body).
Note: The current timestamp will need to be stored so that it is used on the next scheduled job run.
3 - Create or update record on the third party system
With the dataset obtained in Step 2, the integration process can now process the records in a loop or batched, depending on the third party API’s capabilities, and according to the defined data mapping or any other business rules.
For instance, all new registrations could be inserted as “leads” in the third party system, or matched to existing contacts on the CRM.
4 - (Optional) Store the third party system’s lead/contact record ID
In order to keep track of changes and associate records between SpotMe and the third party CRM platform, reference IDs should be stored in at least one of the systems.
If possible, it is recommended to store the SpotMe ID on the CRM system records in step 3 of the process, therefore removing the need for this additional step.
Alternatively, the CRM lead/contact record ID could be stored in SpotMe instead - if so, a new metadata field needs to be created in SpotMe Backstage for the event. The field can then be pushed into SpotMe using the POST /workspace/{eid}/global/docs/person API endpoint.
Comments
0 comments
Please sign in to leave a comment.