Sending Events via REST API
The Event Engine feature allows you to send Events via the REST API.
-
Endpoint:
/analytics/api/v1/events/
-
HTTP Method:
POST
-
Required headers:
Authorization: client-specific API key created using the apikeys endpoint. See the section Authentication and Key Management: Analytics REST API - General Info
Content-Type: application/json
-
Payload:
Event Object or Array of Event Objects
Event Object (JSON object, take from RAML)
| Attribute | Description | Format | Example |
|---|---|---|---|
| type | Name of the Event(name of the AE object defining the event in the ae) | String | EVNT.MESSAGE |
| timestamp | Event timestamp | ISO 8601, yyyy-mm-ddThh:mm:ss.ffffff | 2017-06-20T11:07:10.898Z |
| values | JSON | JSON object (flat, no nested objects supported) | { "text": "value", "id": 2, "success": true } |
Example HTTP request for a single event
POST /analytics/api/v1/events/ HTTP/1.1
Host: localhost:8090
Authorization: f57c7a25-acc6-4f64-a6bb-933c9b2bc3a3
Content-Type: application/json
Cache-Control: no-cache
{
"type": "EVNT.MESSAGE",
"timestamp":"2017-06-20T11:07:10.898Z",
"values": {
"text": "value",
"id": 3,
"success": true
}
}
Example with multiple events in one request (used by collectors that only check every N minutes and therefore often find/send multiple events
POST /analytics/api/v1/events/ HTTP/1.1
Host: localhost:8090
Authorization: f57c7a25-acc6-4f64-a6bb-933c9b2bc3a3
Content-Type: application/json
Cache-Control: no-cache
[
{
"type": "EVNT.MESSAGE",
"timestamp":"2017-06-20T11:07:10.898Z",
"values": {
"text": "first message",
"id": 3,
"success": true
}
},
{
"type": "EVNT.MESSAGE",
"timestamp":"2017-06-20T12:07:10.998Z",
"values": {
"text": "New message",
"id": 3,
"success": false
}
}
]