Peach Collect Format v1.0.3

Reference: pipe gitlab

Guidelines :

  • if the value of an element is null/undefined, do not send it
  • timestamps are in milliseconds (UTC based)
  • durations are in seconds

Payload main structure

(* mandatory, + optional, server injected)

Attribute Description
peach_schema_version * version of the schema used for the creation of the payload
peach_implementation_version + implementation version of Peach in the app/site
session_start_timestamp + timestamp of the start of the session. For web, it can be the non persistent cookie generation time (_pipe_st). On mobile, the time when the app was launched (or when it's opened after an inactive period).
site_key SiteKey in which events will be grouped
collect_timestamp timestamp when the request is received
sent_timestamp * timestamp of the sending of the payload
user_id + user unique identifier when user is logged in
client * dictionary description of the client used by the user (device, app/browser)
events * array of events

Client Dictionary
Attribute Description
id * Persistent cookie ID for web, Advertising ID for mobile (or any UUID stable across reboots)
type + mobileapp or web
app_id * Bundle identifier of the mobile application
Path or module for web : br.de/mediathek, cms 1.3.2+...
name + Display name for mobile application
Browser name for web : Firefox, Chrome, Safari...
version + Should follow "Major.Minor.hotfix" format : 1.5.3
Browser version for web
device + Dictionary describing the device used
os + Dictionary describing the OS running on the device

Device Dictionary
Attribute Description
type * console, phone, tablet, desktop, hbbtv, tvbox, wearable, embedded
vendor + Apple, Samsung, HTC...
model + iPhone 3.1, Galaxy Nexus...
screen_size + "1680x1050"
language + "en-GB", "fr-FR"...
timezone + hour difference to UTC : -1, 3...

OS Dictionary
Attribute Description
name + ios, android, macOS...
version + Should follow "Major.Minor.hotfix" format : 1.5.3

What it looks like

{
    "peach_schema_version": "1.0.3",
    "peach_implementation_version": "A.B.3",
    "site_key": "chrts00000000031", // com
    "session_start_timestamp": 1511802218359,
    "sent_timestamp": 1511802219043,
    "collect_timestamp": 1511804006063,
    "user_id": "123e4567-e89b-12d3-a456-426655440000",
    "client": {
        "id": "636c84b8",
        "type": "mobileapp",
        "app_id": "ch.rts.play.playrts",
        "name": "Play RTS",
        "version": "Major.Minor.hotfix",
        "device": {
            "type":"phone",
            "vendor": "Apple",
            "model": "iPhone 3.1",
            "screen_size": "1680x1050",
            "language": "en-GB",
            "timezone": -1
        },
        "os": {
            "name": "ios",
            "version": "12.2"
        }
    },
    "events": [...]
}