Copyright ©
Mindbreeze GmbH, A-4020 Linz. 2020.
All rights reserved. All hardware and software names are brand names and/or trademarks of their respective manufacturers.
These documents are strictly confidential. The submission and presentation of these documents does not confer any rights to our software, our services and service outcomes or other protected rights.
The dissemination, publication or reproduction hereof is prohibited.
For ease of readability, gender differentiation has been waived. Corresponding terms and definitions apply within the meaning and intent of the equal treatment principle for both sexes.
This document deals with the Mindbreeze Web API for analyzing user behavior. The API is responsible for recording user actions in the app.telemetry.
Please note that this API is designed to analyze user actions in the search results, such as opening or previewing documents. Information on how to perform searches with the Mindbreeze Web API can be found in the api.v2.search Interface Description.
Personalization requests are sent as HTTP POST requests to a client service. The path for personalization requests is: <Client Service URL>/api/v2/personalization.
A JSON document that describes the personalization requests is sent with the body of the HTTP request.
You can find more information on personalization in the following documentation:
Reading the data logged with api.v2.personalization in app.telemetry | |
Setting up personalization in the default Mindbreeze InSpire search client |
This JSON object describes the user actions related to the search result. Which members can be set for this JSON object is described in the following subsections.
The operation performed by the user. Displayed in capital letters in the app.telemetry in the “Operation” column.
Can be used to log user comments on a document. Is displayed in the app.telemetry in the column “Comment”.
The duration of the user action in milliseconds (for example, if the user had a preview of the document open for a certain time and then closed it). Displayed in the app.telemetry in the column “Duration (ms)”.
The fqcategory (Full Qualified Category) of the document that was involved in the user action. Appears in the app.telemetry in the “FQCategory” column.
The key (datasource/mes:key) of the document involved in the user action. Is displayed in the app.telemetry in the column “Key”.
The result position of the document that was involved in the user action. Note that the first document has the position 0, so for example the tenth document has the position 9. Is displayed in the app.telemetry in the column “Result Position”.
An array of JSON objects with key-value pairs to log custom properties in app.telemetry. Displayed in the app.telemetry in the columns “Custom Property 1” to “Custom Property 10”. Thus, a maximum of 10 custom properties can be added.
The following example shows how to set the resultcount and language properties in the app.telemetry in the columns “Custom Property 1” and “Custom Property 2”:
"properties": [
{
"key": "resultcount",
"value": "534"
},
{
"key": "language",
"value": "de-AT"
}
]
This JSON object describes the context of the search query. The following subsections describe the members of this JSON object.
Note: You can also send the query context with the search query.
The ID of the search query (as an unsigned number). It is recommended to set a UTC timestamp (milliseconds since January 1, 1970, 00:00:00.000 GMT) of the current time of the search query (e.g. in JavaScript using new Date().getTime()). Is displayed in the app.telemetry in the column “Query ID”.
This is the query_id that was set in the previous query. Displayed in the app.telemetry in the column ”Previous Query ID”.
The ID of the search query in which filters (= facets) were changed (as unsigned numbers). It is recommended to set a UTC timestamp (milliseconds since January 1, 1970, 00:00:00.000 GMT) of the current time of the search query (e.g. in JavaScript using new Date().getTime()). Displayed in the app.telemetry in the column "Refinement ID".
This is the refinement_id that was set in the previous query. Displayed in the app.telemetry in the column "Previous Refinement ID".
The scroll position in the browser. Can be used, for example, during the close action of a preview window to log how far a user has scrolled down in the preview window. Values between 0 and 100 are valid. Displayed in the app.telemetry in the “Scroll position (%)” column.
This JSON object describes the context of the user. The following subsections describe the members of this JSON object.
Note: You can also send the query context with the search query using api.v2.search (for example, for language and time zone).
This is the URL where the user is currently located. Displayed in the app.telemetry in the following columns:
The following example illustrates the request format described above.
Content-Type: application/json
{
"query_result": {
"query_context": {
"query_id": "1552292350743",
"properties": [
{
"key": "resultcount",
"value": "534"
},
{
"key": "language",
"value": "de-AT"
}
],
"prev_query_id": "1552292349847"
},
"action": "preview",
"position": 2,
"weight": 0.5,
"fqcategory": "Microsoft Exchange:Default",
"key": "AQMkADU3YjMxNzg0LWE2OTQtNGQ3ZC1iZTFjLWJhMTc0Mzk1NGY4YwAuAAADooiUNxWDyEmjTSU5uGq 5gEAShd4IrQ/NU6YapRuM8OUPQAAAyIAAAA=@AQMkADU3YjMxNzg0LWE2OTQtNGQ3ZC1iZTFjLWJhMTc0Mzk1NGY4YwBGAAADooiUNxWDyEmjTSU5uGq 5gcAShd4IrQ/NU6YapRuM8OUPQAAAyIAAAAkKagZlMRnQ76P/8/misL4AAAAFm8giQAAAA==",
"comment": ""
},
"user_context": {
"referer": "https://inspire.mydomain.com/apps/client/"
}
}