Although obviously simplified, the preceding section gives you an idea about what ProfileSync does. But exactly how does ProfileSync do all of this? The basic process is outlined below:
- A new user profile is created, or an existing user profile is modified or deleted. These changes are recorded in a Janrain user profile database.
- Janrain uses a webhook to notify ProfileSync that a user profile has been created, modified, or deleted. See Appendix B for more information about the webhook notification.
- ProfileSync verifies compliance information for the target platform. For example, if you want to add the new email address to your marketing database, ProfileSync verifies that the user has given his or her consent to using their email address for marketing purposes.
- If consent has been given, ProfileSync retrieves the user profile from Janrain.
- As needed, ProfileSync transforms the data to fit the target platform database. For example, if the Janrain attribute is named email and the target database field is named user-email-address, ProfileSync will make the necessary adjustments to ensure that the data is written to the correct location.
- ProfileSync calls the update API on the target platform, and presents the UUID and the updated profile information.
- The target platform updates its copy of the user record based on the data received from ProfileSync.
- If the data transfer fails, ProfileSync retries the transfer a specified number of times. If the data cannot be copied over, then ProfileSync gives up and the event is logged in the dead-letter-queue (DLQ).
The general flow of a ProfileSync transaction looks similar to this: