import requests
import json
url = '{{ @apiUrl }}' # sensor URL
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Api-Key': '{{ @apiKey }}' # Tracking ID
}
# Replace each key value with actual info
data = {
########### Required fields ###########
# Unique value that allows identification of a user. Ex: alice54 (string)
'userName': '',
# User IP address (string)
'ipAddress': '',
# URL path of visited page (string)
'url': '',
# User-agent of user request (string)
'userAgent': '',
# Event UTC timestamp ('Y-m-d H:i:s.v' string)
'eventTime': '',
########### Optional fields ###########
# User email (string)
'emailAddress': '',
# User first name (string)
'firstName': '',
# User last name (string)
'lastName': '',
# User full name (string)
'fullName': '',
# Title of visited page (string)
'pageTitle': '',
# User phone number (string)
'phoneNumber': '',
# Referer of visited page (string)
'httpReferer': '',
# Status code for page visit (string)
'httpCode': '',
# User browser language (string)
'browserLanguage': '',
# Type of user action from event types list (string)
# For ex. 'page_view', 'field_edit', etc.
'eventType': '',
# Type of HTTP request from list (string)
'httpMethod': '',
# User created UTC timestamp ('Y-m-d H:i:s' string)
'userCreated': '',
# Payload, must have `page_search` or `account_email_change` event type (array)
'payload': [],
# Field history, must have `field_edit` event type (array)
'fieldHistory': [
{
'field_name': '', # Name of the field
'field_id': '', # ID of the field
'new_value': '', # Field new value
'old_value': '', # Field old value
'parent_id': '' # ID of the field parent
}
]
}
data = {k: v for k, v in data.items() if v is not None}
if 'payload' in data:
data['payload'] = json.dumps(data['payload'])
if 'fieldHistory' in data:
data['fieldHistory'] = json.dumps(data['fieldHistory'])
response = requests.post(url, data=data, headers=headers)