Info Ident Track
The Info Ident Track API combines a number of capabilities into a single GET or POST request. It enables you to …
create a user profile, establish a Unified Marketing ID, and sets a server cookie.
retrieve profile data using cookie and / or customer identifiers as lookup IDs.
handle all identity resolution operations in real-time, including complex configurable backend operations leading to profile merge or profile switch.
capture full analytics tracking data, leveraging any data layer, for example Google’s data layer or Tealium’s utag, etc. It can also be a combination of different data layers.
enrich the data response, profile, and events stream with data from Teavaro internal (IP2Location, Udger, etc.) as well as external (for example data cloud) systems in real time.
inline data following the required transformation, for example to external campaign delivery and content personalisation systems.
Request
Depending on sending a payload, use the GET or POST method.
Interface URI:
https://fc.{your website domain}/op/{pipeline}/info?attributes&identifiers&out
Request Headers
The following request header should be provided: Content-Type: application/json
HTTPOnly Cookie
The API sets a umdid
cookie, which is used as lookup identifier.
umdid=OTBlNjgxZDAtZTEzZi00NTYwLTllYzEtY2Y5NzJlMTlkZjcyfDE1ZDI2NTY4LWVmMzgtNGRiMy05Y2NkLTJmY2YzODI1ODE5Mnwy; Max-Age=31536000; Expires=Thu, 19 Feb 2026 12:18:26 GMT; SameSite=None; Path=/; Domain={your wibsite domain}; Secure; HTTPOnly
The umdid
cookie value is a base 64 encoded string consisting of the following values delimitered by pipe:
umdid
|umid
|type
Name | Type | Description |
---|---|---|
| UUID | The Unified Marketing Device Identifier, specific to a device. |
| UUID | The Unified Marketing Identifier, specific to a profile. |
| Digit | A number between 0 and 2 describing the current profile identified method. 0 = anonymous visistor profile |
Sample:
OTBlNjgxZDAtZTEzZi00NTYwLTllYzEtY2Y5NzJlMTlkZjcyfDE1ZDI2NTY4LWVmMzgtNGRiMy05Y2NkLTJmY2YzODI1ODE5Mnwy
Decoded:
90e681d0-e13f-4560-9ec1-cf972e19df72|15d26568-ef38-4db3-9ccd-2fcf38258192|2
Parameters
All parameters are optional. Some parameters need to be configured in the pipeline, otherwise they are just ignored.
Name | Description |
---|---|
| Returns an array of attribute objects. |
| Returns an array of identifier objects. These are direct profile identifiers. |
| Returns an array of “next best” identifier objects. These are linked direct profile identifiers, i.e. association between different profiles as per defined linking rules. |
| Returns an array of acknowledged notification objects. |
| Returns an objects with a list of permissions and boolean flags / status. |
| Using out query string parameter with |
Payload
The request payload is a JSON with the following top-level fields:
Field name | Type | Description |
---|---|---|
| Array of objects | Used to send analytics and consent data. The field is optional. |
| Object | Used to send list of permissions with boolean status. The field is optional. |
| Array of objects | Used to send the acknowledged consent notification. The field is optional. |
Sample:
{
"data": [
{
"action": [
{
"name": "ui_interaction",
"action": "view",
"category": "consent",
"label": "consent_window_show",
"timestamp": 1738065412241
},
{
"name": "ui_interaction",
"action": "click",
"category": "consent",
"label": "accepted",
"timestamp": 1738065416271
}
],
"notification": [
{
"name": "MAIN_CS",
"version": 1,
"permissions": [
"CS-OM",
"CS-OPT",
"CS-NBA"
],
"date": 1738065418765
}
],
"page": {
"name": "www.brand-demo.com",
"action": "navigation",
"url": "https://www.brand-demo.com/",
"timestamp": 1738065412058
},
"permission": {
"CS-OM": true,
"CS-NBA": true,
"CS-OPT": true
}
}
],
"permission": {
"CS-OM": true,
"CS-NBA": true,
"CS-OPT": true
},
"notification": [
{
"name": "MAIN_CS",
"version": 1,
"permissions": [
"CS-OM",
"CS-OPT",
"CS-NBA"
]
}
]
}
Info - Retrieve Profile Data
To fetch data from the backend and external system(s), use query string parameters to define what area of data you want to receive. See available Parameters.
Ident - Identity Resolution
Teavaro supports any identifier and the identifier name can be configured per account and pipeline.
This table provides commonly used identifiers:
Name | Description |
---|---|
| A customer identifier string obtained for example through login. |
| A hashed email. |
| An encrypted email. |
| A hashed mobile phone number. |
| A profile identifier. |
| The Utiq martechpass for mobile network connection. |
| The Utiq martechpass for fixed (Wifi) network connection. |
Others | We support any customer identifier. |
Track - Capture Data Layer Data
Here you can pass any tracking information for example for analytics, your data warehouse, or your data cloud. The Web SDK enables you to specify what data. For example you can specify the data layer by name and the variables with their position if there is a nested JSON data structure. If you are calling the API directly not through the Web SDK, it is recommended that you pass tracking data under the data
field.
{
"data": [
{
"action": [
{}
]
}
]
}
Cookie Consent Management
You can pass cookie consent from your Consent Management Provider in the payload or as query string parameter. We can also capture the cookie consent information from a cookie if that is set as first party cookie available to our subdomain. The pipeline provides regex data capture configuration capabilities to get the information required.
Note that if you are setting the consent cookie under domain .www.yourDomain.com we won’t be able to see it with fc.yourDomain.com. You should therefore set it under .yourDomain.com.
The Consent Management Provider cookie consent information can then be stored in the profile as well as the events data and used for consent compliance checks before capturing, processing, or inlining data.
Teavaro Permission Management
Teavaro provides its own server-side managed consent and marketing permissions management solution. This solution handles also imported marketing permissions.
It provides the required notification including version control and historisation against the user’s profile.
The permission
field object holding a list of defined permissions can be configured as required including the naming of permissions.
The notification
field array provides also configurable options.
Sample:
{
"permission": {
"CS-OM": true,
"CS-NBA": true,
"CS-OPT": true
},
"notification": [
{
"name": "MAIN_CS",
"version": 1,
"permissions": [
"CS-OM",
"CS-OPT",
"CS-NBA"
]
}
]
}
Response
The response content type is application/json
. There are two response modes, JSON and JS.
{"umid":"688173f8-026e-4b41-9989-0c3bf6445f6b","state":0}
var fcData = {"umid":"dd45976d-7150-4f7c-b090-2df5308d8265","state":0};
Data Structure
Available fields:
Field name | Type | Description |
---|---|---|
| UUID | The Unified Marketing Identifier, which ensures distinct recognition within the system. |
| Integer | Represents the current state of the profile: |
| Array | Consists of identifier objects, each with a `name` and `value` pair |
| Array | Provides linked additional identifiers |
| Object | Contains boolean flags for various permission entries (e.g., "name_1", "name_2", "name_n"), to manage access rights based on user consent / permissions. |
| Object | Records the last modification timestamps for permissions. |
| Array | Lists notification records / objects, where each entry details the notification `name`, `version`, `uxvariant`, relevant `permissions`, and the `date` it was issued. |
| Object | An object indicating the current status of notifications acknowledged for different permissions. |
| Object | An object storing a list of attributes with their corresponding values. These attributes can range from user profile attributes to personalisation recommendations. |
Sample:
{
"umid": "15d26568-ef38-4db3-9ccd-2fcf38258192",
"state": 1,
"identifiers": [
{
"name": "ABC",
"value": "XXX"
}
],
"nextBestIdentifiers": [],
"permissions": {
"name_1": false,
"name_2": true,
"name_n": true
},
"permissionsLastModification": {
"name_1": "2025-02-14T11:09:09.134Z",
"name_2": "2025-02-14T11:09:09.134Z"
},
"notificationHistory": [
{
"name": "NAME_1",
"version": 1,
"uxvariant": "String",
"permissions": [
"name_1",
"name_2",
"name_n"
],
"date": "2024-09-19T13:23:34.057Z"
}
],
"notificationStatus": {
"name_1": true,
"name_2": true,
"name_n": true
},
"attributes": {
"name_1": "value_1",
"name_2": "value_2",
"name_n": "value_n"
}
}
HTTP Status Codes
Code | Name | Description |
---|---|---|
400 | Bad Request | The request does not conform to the specification. |
404 | Not Found | Incorrect request method or path or pipeline does not exist. |
413 | Payload Too Large | The request headers or body are larger than the configured maximum on the server. |
500 | Internal Server Error | An error occurred on the server side. For example the DB access timed out. |
Sample curl
curl -v 'https://funnelconnect.publisher-demo.media/op/publisher-demo-info/info?out=json&attributes¬ifications&permissions&identifiers' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: application/json' \
--data-raw '{
"data": [
{
"action": [
{
"name": "ui_interaction",
"action": "view",
"category": "consent",
"label": "consent_window_show",
"timestamp": 1738065412241
},
{
"name": "ui_interaction",
"action": "click",
"category": "consent",
"label": "accepted",
"timestamp": 1738065416271
}
],
"notification": [
{
"name": "MAIN_CS",
"version": 1,
"permissions": [
"CS-OM",
"CS-OPT",
"CS-NBA"
],
"date": 1738065418765
}
],
"page": {
"name": "www.brand-demo.com",
"action": "navigation",
"url": "https://www.brand-demo.com/",
"timestamp": 1738065412058
},
"permission": {
"CS-OM": true,
"CS-NBA": true,
"CS-OPT": true
}
}
]
}'