Customer UUIDs
The actions described in this article are usually only performed when procedures from other articles require them.
Generating UUIDv5
UUIDv5 is generated by providing a namespace and an identifier string. When working with Synerise, the identifier string is a concatenation of a salt string (identical for all of your customers, everywhere on the site) and an identifier. The resulting UUID is always the same for a given salt+identifier
combination.
Thanks to this, you can always assign the same UUID to a customer, regardless of where the UUID was generated.
- The salt can be any string.
- By default, the customer’s unique identifier is email. You can configure Synerise to use custom ID instead.
The following example shows how to generate a UUIDv5 in Python 3.8:
import uuid
salt = "someString" # identical for the entire site
uniqueIdentifier = "customer@synerise.com" # email (default) or customId
generatedUuid = uuid.uuid5(uuid.NAMESPACE_URL, (salt + uniqueIdentifier))
The result of running the above code example is always 345d4c8f-5aff-591d-a19c-1ca48923d9ee
.
Synerise does not the decode the UUID and cannot re-construct the data the token was created from.
For more instructions on how to generate a UUIDv5, refer to the documentation of the language or framework you are using.
Resetting customer UUIDs
You can reset the UUID of a customer to a value provided by your application. This can be used, for example, to separate the activities of several customers who share a device.
You can do this with:
With cookie
Before initializing the SDK, store the new UUID in a _snrs_reset_uuid
cookie.
When the page is refreshed/SDK is initialized, the SDK detects the cookie, saves the new UUID to the _snrs_uuid
cookie, and deletes the _snrs_reset_uuid
cookie.
With query parameter
You can add an snrs_reset_uuid=NEW_UUID
query parameter to a link to force setting an UUID. The new UUID is saved in the _snrs_uuid
cookie.
Example
https://site.example.com/?snrs_reset_uuid=a6663a59-9d16-5093-bd27-84a829d001eb
With SDK method
Use the SR.client.setUuid("new_uuid")
method:
SR.client.setUuid("a6663a59-9d16-5093-bd27-84a829d001eb");
The new UUID is saved in the _snrs_uuid
cookie.
How to recognize a UUIDv5?
The first digit of the third group in a UUIDv5 is 5
. In a UUIDv4, that digit is 4
.
xxxxxxxx-xxxx-5xxx-xxxx-xxxxxxxxxxxx // UUIDv5
xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx // UUIDv4