Activity Log
Record Activity Log
Records user activity logs for advertising optimization and analytics.
Supported activity types:
activity.item_view: Records product detail page viewsactivity.item_click: Records clicks on catalog itemsactivity.add_cart: Records cart addition eventsactivity.page_view: Records page navigation eventsactivity.search: Records search query eventsactivity.purchase: Records completed purchasesactivity.wait: Records waiting eventsactivity.resv: Records reservation eventsactivity.bmrk: Records bookmark events
The request is accepted for downstream DMP processing. Processing and persistence occur downstream and are not specified here.
POST
/
dmp
/
v0
/
log
/
activity
Record Activity Log
curl --request POST \
--url https://your_a2_service/dmp/v0/log/activity \
--header 'Content-Type: application/json' \
--data '
{
"catalogs": [
{
"id": "<string>"
}
],
"channel": "<string>",
"device_id": "<string>",
"timestamp": 123,
"user_id": "<string>",
"schema": "activity.item_view",
"device": {
"ext": "<unknown>",
"geo": {
"accuracy": 123,
"city": "<string>",
"country": "<string>",
"ext": "<unknown>",
"lastfix": 1,
"lat": 123,
"lon": 123,
"metro": "<string>",
"region": "<string>",
"regionfips104": "<string>",
"utcoffset": 123,
"zip": "<string>"
},
"ip": "<string>",
"ua": "<string>"
},
"id": "<string>",
"page_id": "<string>"
}
'import requests
url = "https://your_a2_service/dmp/v0/log/activity"
payload = {
"catalogs": [{ "id": "<string>" }],
"channel": "<string>",
"device_id": "<string>",
"timestamp": 123,
"user_id": "<string>",
"schema": "activity.item_view",
"device": {
"ext": "<unknown>",
"geo": {
"accuracy": 123,
"city": "<string>",
"country": "<string>",
"ext": "<unknown>",
"lastfix": 1,
"lat": 123,
"lon": 123,
"metro": "<string>",
"region": "<string>",
"regionfips104": "<string>",
"utcoffset": 123,
"zip": "<string>"
},
"ip": "<string>",
"ua": "<string>"
},
"id": "<string>",
"page_id": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
catalogs: [{id: '<string>'}],
channel: '<string>',
device_id: '<string>',
timestamp: 123,
user_id: '<string>',
schema: 'activity.item_view',
device: {
ext: '<unknown>',
geo: {
accuracy: 123,
city: '<string>',
country: '<string>',
ext: '<unknown>',
lastfix: 1,
lat: 123,
lon: 123,
metro: '<string>',
region: '<string>',
regionfips104: '<string>',
utcoffset: 123,
zip: '<string>'
},
ip: '<string>',
ua: '<string>'
},
id: '<string>',
page_id: '<string>'
})
};
fetch('https://your_a2_service/dmp/v0/log/activity', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your_a2_service/dmp/v0/log/activity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'catalogs' => [
[
'id' => '<string>'
]
],
'channel' => '<string>',
'device_id' => '<string>',
'timestamp' => 123,
'user_id' => '<string>',
'schema' => 'activity.item_view',
'device' => [
'ext' => '<unknown>',
'geo' => [
'accuracy' => 123,
'city' => '<string>',
'country' => '<string>',
'ext' => '<unknown>',
'lastfix' => 1,
'lat' => 123,
'lon' => 123,
'metro' => '<string>',
'region' => '<string>',
'regionfips104' => '<string>',
'utcoffset' => 123,
'zip' => '<string>'
],
'ip' => '<string>',
'ua' => '<string>'
],
'id' => '<string>',
'page_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your_a2_service/dmp/v0/log/activity"
payload := strings.NewReader("{\n \"catalogs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"channel\": \"<string>\",\n \"device_id\": \"<string>\",\n \"timestamp\": 123,\n \"user_id\": \"<string>\",\n \"schema\": \"activity.item_view\",\n \"device\": {\n \"ext\": \"<unknown>\",\n \"geo\": {\n \"accuracy\": 123,\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"ext\": \"<unknown>\",\n \"lastfix\": 1,\n \"lat\": 123,\n \"lon\": 123,\n \"metro\": \"<string>\",\n \"region\": \"<string>\",\n \"regionfips104\": \"<string>\",\n \"utcoffset\": 123,\n \"zip\": \"<string>\"\n },\n \"ip\": \"<string>\",\n \"ua\": \"<string>\"\n },\n \"id\": \"<string>\",\n \"page_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your_a2_service/dmp/v0/log/activity")
.header("Content-Type", "application/json")
.body("{\n \"catalogs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"channel\": \"<string>\",\n \"device_id\": \"<string>\",\n \"timestamp\": 123,\n \"user_id\": \"<string>\",\n \"schema\": \"activity.item_view\",\n \"device\": {\n \"ext\": \"<unknown>\",\n \"geo\": {\n \"accuracy\": 123,\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"ext\": \"<unknown>\",\n \"lastfix\": 1,\n \"lat\": 123,\n \"lon\": 123,\n \"metro\": \"<string>\",\n \"region\": \"<string>\",\n \"regionfips104\": \"<string>\",\n \"utcoffset\": 123,\n \"zip\": \"<string>\"\n },\n \"ip\": \"<string>\",\n \"ua\": \"<string>\"\n },\n \"id\": \"<string>\",\n \"page_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your_a2_service/dmp/v0/log/activity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"catalogs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"channel\": \"<string>\",\n \"device_id\": \"<string>\",\n \"timestamp\": 123,\n \"user_id\": \"<string>\",\n \"schema\": \"activity.item_view\",\n \"device\": {\n \"ext\": \"<unknown>\",\n \"geo\": {\n \"accuracy\": 123,\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"ext\": \"<unknown>\",\n \"lastfix\": 1,\n \"lat\": 123,\n \"lon\": 123,\n \"metro\": \"<string>\",\n \"region\": \"<string>\",\n \"regionfips104\": \"<string>\",\n \"utcoffset\": 123,\n \"zip\": \"<string>\"\n },\n \"ip\": \"<string>\",\n \"ua\": \"<string>\"\n },\n \"id\": \"<string>\",\n \"page_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyBody
application/json
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
Show child attributes
Show child attributes
Channel through which the activity occurred (e.g., 'web', 'mobile', 'app')
Unique identifier for the device used
Unix timestamp when the activity occurred
Unique identifier for the user performing the activity
Allowed value:
"activity.item_view"Optional AdCom v1.0 Device information
Show child attributes
Show child attributes
Optional unique identifier for the activity event
Optional identifier for the specific page where the activity occurred
Response
200
Accepted for downstream processing.
Was this page helpful?
⌘I
Record Activity Log
curl --request POST \
--url https://your_a2_service/dmp/v0/log/activity \
--header 'Content-Type: application/json' \
--data '
{
"catalogs": [
{
"id": "<string>"
}
],
"channel": "<string>",
"device_id": "<string>",
"timestamp": 123,
"user_id": "<string>",
"schema": "activity.item_view",
"device": {
"ext": "<unknown>",
"geo": {
"accuracy": 123,
"city": "<string>",
"country": "<string>",
"ext": "<unknown>",
"lastfix": 1,
"lat": 123,
"lon": 123,
"metro": "<string>",
"region": "<string>",
"regionfips104": "<string>",
"utcoffset": 123,
"zip": "<string>"
},
"ip": "<string>",
"ua": "<string>"
},
"id": "<string>",
"page_id": "<string>"
}
'import requests
url = "https://your_a2_service/dmp/v0/log/activity"
payload = {
"catalogs": [{ "id": "<string>" }],
"channel": "<string>",
"device_id": "<string>",
"timestamp": 123,
"user_id": "<string>",
"schema": "activity.item_view",
"device": {
"ext": "<unknown>",
"geo": {
"accuracy": 123,
"city": "<string>",
"country": "<string>",
"ext": "<unknown>",
"lastfix": 1,
"lat": 123,
"lon": 123,
"metro": "<string>",
"region": "<string>",
"regionfips104": "<string>",
"utcoffset": 123,
"zip": "<string>"
},
"ip": "<string>",
"ua": "<string>"
},
"id": "<string>",
"page_id": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
catalogs: [{id: '<string>'}],
channel: '<string>',
device_id: '<string>',
timestamp: 123,
user_id: '<string>',
schema: 'activity.item_view',
device: {
ext: '<unknown>',
geo: {
accuracy: 123,
city: '<string>',
country: '<string>',
ext: '<unknown>',
lastfix: 1,
lat: 123,
lon: 123,
metro: '<string>',
region: '<string>',
regionfips104: '<string>',
utcoffset: 123,
zip: '<string>'
},
ip: '<string>',
ua: '<string>'
},
id: '<string>',
page_id: '<string>'
})
};
fetch('https://your_a2_service/dmp/v0/log/activity', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your_a2_service/dmp/v0/log/activity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'catalogs' => [
[
'id' => '<string>'
]
],
'channel' => '<string>',
'device_id' => '<string>',
'timestamp' => 123,
'user_id' => '<string>',
'schema' => 'activity.item_view',
'device' => [
'ext' => '<unknown>',
'geo' => [
'accuracy' => 123,
'city' => '<string>',
'country' => '<string>',
'ext' => '<unknown>',
'lastfix' => 1,
'lat' => 123,
'lon' => 123,
'metro' => '<string>',
'region' => '<string>',
'regionfips104' => '<string>',
'utcoffset' => 123,
'zip' => '<string>'
],
'ip' => '<string>',
'ua' => '<string>'
],
'id' => '<string>',
'page_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your_a2_service/dmp/v0/log/activity"
payload := strings.NewReader("{\n \"catalogs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"channel\": \"<string>\",\n \"device_id\": \"<string>\",\n \"timestamp\": 123,\n \"user_id\": \"<string>\",\n \"schema\": \"activity.item_view\",\n \"device\": {\n \"ext\": \"<unknown>\",\n \"geo\": {\n \"accuracy\": 123,\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"ext\": \"<unknown>\",\n \"lastfix\": 1,\n \"lat\": 123,\n \"lon\": 123,\n \"metro\": \"<string>\",\n \"region\": \"<string>\",\n \"regionfips104\": \"<string>\",\n \"utcoffset\": 123,\n \"zip\": \"<string>\"\n },\n \"ip\": \"<string>\",\n \"ua\": \"<string>\"\n },\n \"id\": \"<string>\",\n \"page_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your_a2_service/dmp/v0/log/activity")
.header("Content-Type", "application/json")
.body("{\n \"catalogs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"channel\": \"<string>\",\n \"device_id\": \"<string>\",\n \"timestamp\": 123,\n \"user_id\": \"<string>\",\n \"schema\": \"activity.item_view\",\n \"device\": {\n \"ext\": \"<unknown>\",\n \"geo\": {\n \"accuracy\": 123,\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"ext\": \"<unknown>\",\n \"lastfix\": 1,\n \"lat\": 123,\n \"lon\": 123,\n \"metro\": \"<string>\",\n \"region\": \"<string>\",\n \"regionfips104\": \"<string>\",\n \"utcoffset\": 123,\n \"zip\": \"<string>\"\n },\n \"ip\": \"<string>\",\n \"ua\": \"<string>\"\n },\n \"id\": \"<string>\",\n \"page_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your_a2_service/dmp/v0/log/activity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"catalogs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"channel\": \"<string>\",\n \"device_id\": \"<string>\",\n \"timestamp\": 123,\n \"user_id\": \"<string>\",\n \"schema\": \"activity.item_view\",\n \"device\": {\n \"ext\": \"<unknown>\",\n \"geo\": {\n \"accuracy\": 123,\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"ext\": \"<unknown>\",\n \"lastfix\": 1,\n \"lat\": 123,\n \"lon\": 123,\n \"metro\": \"<string>\",\n \"region\": \"<string>\",\n \"regionfips104\": \"<string>\",\n \"utcoffset\": 123,\n \"zip\": \"<string>\"\n },\n \"ip\": \"<string>\",\n \"ua\": \"<string>\"\n },\n \"id\": \"<string>\",\n \"page_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body