Hello, I have a question about general unomi work. I have several chains of cafes and hotels. The chains also have their own establishments where wifi access points are installed.
I have created a scope for each network, and I pass the authorization event from the server (not the client) to Unomi, passing the phone number and ZoneID (unique identifier of a particular cafe). A new profile is created each time, since it doesn't track session and cookies. As a result, my profile stores his data and ZoneID. I had an idea to make ZoneID an array inside the profile, but the auto-merge of profiles by phone number erases the previous values of parameters, or saves or adds them if they do not exist. Then I tried writing a groovy script that would make a ZoneID array - but I ran into the fact that I can't read the profile parameters when merging. I've also tried looking for how to write ZoneIDs to tags, create segments based on ZoneIDs, but it all gets overwritten on merge. So far I've settled on scoring. But because of profile merging I always get a score no more than 1, and other scores are reset. ``` { { "itemId": { "zoneID_2566", ``` { "itemType": { "scoring", { "elements": [ { }, "condition": { { "parameterValues": { { "propertyName": "properties.ZoneID", "comparisonOperator": "equals", "propertyValue": "2566" }, "type": "profilePropertyCondition" }, "value": 1 } ], }, "metadata": { { "id": "ZoneID_2566", "name": "Zone Profile Scoring", "description": "Increases score for ZoneID_2566 when profile has properties.ZoneID equal to 2566", "scope": "test", "tags": [], "systemTags": [], "enabled": true, "missingPlugins": false, "hidden": false, "readOnly": false } } ``` How to combine merging and proper scoring? Or maybe I'm fundamentally misusing the unomi architecture and need to set things up differently? -- IT Specialist, System Administration, Marat Ibatullin.