Data Integration
Via FunnelConnect
FunnelConnect supports two types of API integration:
Fetching user data for inlining, etc.
Sending user data.
1. is a synchronous call and 2. an asynchronous call.
The integration can be done using FunnelConnect pipeline configuration. Multiple endpoints can be handled concurrently.
Here is an example of a Google Floodlight call sending umid and device id.
"asyncServerToServerCalls": [
{
"method": "GET",
"baseUrl": "https://ad.doubleclick.net/ddm/activity/",
"timeout": "3 seconds",
"followRedirects": true,
"expectedStatusCode": 200,
"conditions": [
{
"Or": [
{
"IsTargetDataIdentifierPresent": "gaid"
},
{
"IsTargetDataIdentifierPresent": "idfa"
}
]
}
],
"headers": [
{
"Field": {
"name": "User-Agent",
"value": {
"Header": {
"name": "User-Agent"
}
}
}
}
],
"queryParams": [],
"customPathParams": {
"takeParamsFromPathTail": true,
"paramsOpening": "",
"keyValueSeparator": "=",
"paramsDelimiter": ";",
"paramsClosing": "",
"inliningConfig": [
{
"Field": {
"name": "src",
"value": {
"ConstValue": {
"value": "[Number]"
}
}
}
},
{
"Field": {
"name": "cat",
"value": {
"ConstValue": {
"value": "[String]"
}
}
}
},
{
"Field": {
"name": "type",
"value": {
"ConstValue": {
"value": "[String]"
}
}
}
},
{
"Field": {
"name": "[String]",
"value": {
"ConstValue": {
"value": "[String]"
}
}
}
},
{
"Field": {
"name": "ord",
"value": {
"RandomString": {
"length": 10
}
}
}
},
{
"Field": {
"name": "dc_rdid",
"value": {
"FirstValue": {
"values": [
{
"TdIdentifierValue": {
"idName": "gaid"
}
},
{
"TdIdentifierValue": {
"idName": "idfa"
}
}
]
}
}
}
},
{
"Field": {
"name": "u1",
"value": {
"TdIdentifierValue": {
"idName": "umid"
}
}
}
}
]
},
"urlEncoding": "JavaNetURLEncoder"
}
]
Additionally, data integration can be done using our iPaaS solution with a flexible and extensive Automation Designer. See FunnelManager User Guide Data Integration.
Via Edge Server
Clients can use their edge server with Teavaro’s first party umdid
cookie to fetch profile data.
This can be done using Teavaro’s API with umdid
as lookup ID passed in query string parameter, see Parameters.
You can also use the umid
as lookup ID with your own profile API. The umid
can be obtained from local storage fcData
key or the umdid
cookie.
We can remove the cookie path restriction, so that other first party domain calls can read it.
Since the umdid
cookie consist of a base 64 encoded string of umdid
|umid
|type
, one can extract the umid
for example using this JavaScript:
function decodeBase64(encodedString) {
// Decode the Base64 encoded string
const decodedString = atob(encodedString);
// Split the decoded string by the pipe separator '|'
const parts = decodedString.split('|');
// Print the value right of the first pipe separator
if (parts.length > 1) {
console.log(parts[1]);
} else {
console.log("No pipe separator found.");
}
}
const encodedString = "MjMxOWE4NTYtYTExNi00MzUzLTljZjItYmQ4MTFlMzgzNDIxfGI4YjMxZWUyLTdiYWUtNGRiNC1hZjQ1LWM2YmNhNjdiOTg5Nnww";
decodeBase64(encodedString);
See HTTPOnlyCookie.