Skip to end of metadata
Go to start of metadata

Below are the definitions for the different types of objects used in the Analytics system.

Aggregate Event

An aggregate event object contains a collection of event objects. The maximum size of the collection is 100 event objects.

{
    "schemaVersion": <string>,
    "aggregateEvents": 
	[
        {
            "schemaVersion": <string>,
            "timestamp": <string>,
            "type": <string>,
            "action": <string>,
            "app": 
			{
                "applicationId": <string>
            },
            "alertEnqueued": 
			{
                "alertId": <string>,
                "user": <string>,
                "subscriptions": <string>,
                "broadcast": <Boolean>,
                "whenToSend": <string>,
                "message": <string>,
                "count": <integer>,
                "messagingService": <string>
            },
            "custom": 
			{
            }
        },
        <second event object>,
        ...
    ]
}

 

Report

A report object contains data that results from processing events. The fields will vary depending on the type of report. Here is a generic example:

{
    "type": <string>,
    "alertId": <string>,
    "units": <string>,
    "data": 
	[
        <object>,
        <object>,
        ...
    ]
}

Event

An event object contains data to be captured for further processing (either near real-time or scheduled).

{
    "schemaVersion": <string>,
    "timestamp": <string>,
    "type": <string>,
    "action": <string>,
    // Not all payloads will require a "sessionId". See Payload Variations by Event for details.
	"sessionId": <string>,
    "app": 
	{
        "applicationId": <string>,
        "ver": <string>
    },
    // Not all payloads will require a "location" object. See Payload Variations by Event for details.
	"location": 
	{
        "lat": <float>,
        "long": <float>,
        "altitude": <integer>,
        "hAccuracy": <integer>,
        "vAccuracy": <integer>
    },
    // Not all payloads will require a "device" object. See Payload Variations by Event for details. 
	"device": 
	{
        "userAgent": <string>,
        "os": <string>,
        // NOTE: For the Alerts Subscribe Device and Alerts Unsubscribe Device actions, only the "id" object is required to compose a valid "device" object.
		"id": 
		{
            "value": <string>,
            "type": <string>,
            "encoding": <string>
        },
        "lang": <string>,
        "timezone": <string>,
        "make": <string>,
        "model": <string>,
        "osv": <string>,
        "osApiLevel": <string>,
        "macAddress": <string>,
        "ipAddress": <string>,
        "carrier": <string>,
        "connection": <string>,
        "SSID": 
		{
            "BSSID": <string>,
            "SSID": <string>,
            "SSIDDATA": <string>
        }
    },
    "custom": 
	{
    },
    
	// Depending on the type and action specified, the payload will also include one of the below objects.
	"alertOpened": 
	{
        "alertId": <string>
    },
    "alertsDisabled": 
	{
        "deviceToken": <string>,
        "tokenType": <string>,
        "isSandbox": <Boolean>
    },
    "alertEnqueued": 
	{
        "alertId": <string>,
        "user": <string>,
        "subscriptions": <array>,
        "broadcast": <Boolean>,
        "whenToSend": <string>,
        "message": <string>,
        "count": <integer>,
        "messagingService": <string>
    },
    "subscribeDevice": 
	{
        "subscriptions": <array>
    },
    "unsubscribeDevice": 
	{
        "subscriptions": <array>
    },
    "moduleRegistration": 
	{
        "modules": <array>
    },
    "applicationEventData": 
	{
        "eventName": <string>,
        "duration": <integer>,
        "namespace": <string>,
        "eventParameters": <array>
    },
    "venue": 
	{
        "venueId": <string>,
        "itemType": <string>,
        "itemId": <integer>
    }
}

ON THIS PAGE

  • No labels