Events
The events endpoint returns planned, published and completed events. Event responses can include related project data, point of sale data, assigned users, times, status history and custom report results.
GET /public/v1/api/event/all
Use cases​
Use this endpoint to retrieve event data for external systems, for example:
- event dates and times
- event status
- assigned users
- related project information
- related point of sale information
- point of sale structure such as area or channel references
- custom report results attached to the event
Project information​
Events reference their related project through the project_id property.
Depending on the response, project_id can contain more than only the project ID.
It may include the project name, event settings and view configuration.
Example:
{
"project_id": {
"_id": "636e6e5a3e72fa0016400474",
"name": "WOW Sales Promotion",
"eventSettings": {
"isCRMLeads": true,
"enableMessenger": true,
"useTargets": true
},
"viewConfig": {
"user": {
"visibleToClient": true
},
"location": {
"visibleToClient": true
},
"project": {
"visibleToClient": true
}
}
}
}
There is currently no separate public endpoint that returns a complete project list with all project metadata.
Current workaround​
If an external system needs to map project IDs to project names, use the project data embedded in event responses.
For example:
{
"_id": "636e6e5a3e72fa0016400474",
"name": "WOW Sales Promotion"
}
This allows external systems to build and update their own project mapping based on existing event data.
Point of sale information​
Events include point of sale data in the point_of_sale property.
This object contain the POS ID, name, address, location groups, geocoordinates, Google Places metadata and custom fields.
Example:
{
"point_of_sale": {
"_id": "636e740b3e72fa0016400488",
"name": "MediaMarkt Tech Village Berlin",
"number": "",
"address": {
"company": "MediaMarkt Tech Village Berlin",
"city": "Berlin",
"postal": "10179",
"streetnumber": "Grunerstraße 20",
"additional": "",
"phone": "",
"email": "",
"fax": "",
"website": ""
},
"locationGroups": [
{
"_id": "636e6da79335e5001062488d",
"name": "Retailer 1"
}
],
"location": [
13.4147458,
52.5198676
],
"genericFields": {
"testid": "crema-123",
"test_change_technical_name_new": null
}
}
}
There is currently no separate public endpoint such as /locations/all or /pos/all.
Current workaround​
Use the embedded point_of_sale object from event responses to resolve POS IDs to names, addresses and geodata.
For most integrations, this means the event endpoint can already provide the required location data.
Google Places metadata​
If available, the point_of_sale.googleResult object contains additional Google Places data.
Example fields can include:
{
"googleResult": {
"formatted_address": "Grunerstraße 20, 10179 Berlin, Deutschland",
"formatted_phone_number": "0221 22243333",
"international_phone_number": "+49 221 22243333",
"place_id": "ChIJA3B1AyJOqEcRNQy7S9SUWpc",
"rating": 4.2,
"user_ratings_total": 6082,
"website": "https://www.mediamarkt.de/...",
"geometry": {
"location": {
"lat": 52.5198676,
"lng": 13.4147458
}
}
}
}
Google Places metadata depends on the available POS data and may not be present for every point of sale.
Point of sale project structure​
Events can also contain project-specific POS structure data in pointOfSaleProjectStructure.
This can include information such as area, channel references, related users and active status.
Example:
{
"pointOfSaleProjectStructure": {
"area": {
"_id": "636e6d8c9335e50010624889",
"name": "West | John ASM",
"number": "",
"channel": [
"636e6d5a9335e50010624887",
"636e6d469335e50010624886"
],
"relatedUsers": [
"644a8a41dd6ba7008674b18e",
"636e76479335e500106248a0",
"6970672f15ae40006b5f3b7f"
],
"active": true,
"created": "2022-11-11T15:43:08.213Z"
}
}
}
Use this object if your integration needs project-specific POS hierarchy information.
Event times​
Planned event times are returned in the times array.
Example:
{
"times": [
{
"_id": "636e76ec9335e500106248a9",
"start": "2022-11-11T09:00:00.000Z",
"stop": "2022-11-11T16:00:00.000Z",
"duration": 7
}
]
}
Event status​
The current event status is returned in eventState.
Example:
{
"eventState": "Published"
}
The status history is returned in eventStateHistory.
Example:
{
"eventStateHistory": [
{
"_id": "636e76ec9335e500106248a8",
"stateNew": "Published",
"stateOld": "",
"date": "2022-11-11T16:23:08.358Z",
"historyType": "eventState",
"ip": "78.94.69.85",
"user": "636e69459335e5001062487a"
}
]
}
Timestamps grouped by status can also be available in eventStateTimestamps.
Example:
{
"eventStateTimestamps": {
"Planned": [],
"Published": [
"2022-11-11T16:23:08.358Z"
],
"Rejected": [],
"Accepted": [],
"LoggedIn": [],
"LoggedOut": [],
"SalesReport": [],
"SalesReportUploaded": [],
"SalesReportAccepted": [],
"Invoiced": [],
"Paid": []
}
}
Assigned users​
Assigned users can be returned in eventUser.
Example:
{
"eventUser": [
{
"_id": "636e69443e72fa001640045b",
"firstName": "Johny",
"lastName": "Mick",
"email": "johny@empplan.com",
"language": "de",
"usertype": "agency"
}
]
}
The agency_user property can contain event-specific payment and assignment information.
Example:
{
"agency_user": [
{
"_id": "636e76ec9335e500106248a7",
"user_id": "636e69443e72fa001640045b",
"paymentType": "project",
"payment": {
"fixum": {
"amount": 0,
"per": "event"
},
"provision": "no"
}
}
]
}
Custom report results​
Event responses can include custom report results in customReportResult.
Example:
{
"customReportResult": [
{
"_id": "637212979335e500106249bc",
"_event": "636e76ec9335e500106248a6",
"_project": "636e6e5a3e72fa0016400474",
"created": "2022-11-14T10:04:07.023Z",
"reportResults": {
"636e70ff3e72fa0016400481": {
"name": "Overall customer satisfaction",
"value": 3.5
},
"636e70d89335e50010624892": {
"name": "Customer contacts",
"value": "3"
}
}
}
]
}
The reportResults object contains the submitted values for the custom report fields.
Recommended mapping strategy​
When integrating events into an external system, use these fields as stable mapping references:
| Purpose | Field |
|---|---|
| Event ID | _id |
| Project ID | project_id._id |
| Project name | project_id.name |
| POS ID | point_of_sale._id |
| POS name | point_of_sale.name |
| POS address | point_of_sale.address |
| POS coordinates | point_of_sale.location |
| Area ID | pointOfSaleProjectStructure.area._id |
| Area name | pointOfSaleProjectStructure.area.name |
| Event status | eventState |
| Planned times | times |
| Assigned users | eventUser |
Summary​
The event endpoint already includes many related objects that are often needed for integrations.
Most importantly:
- project data is available through
project_id - POS data is available through
point_of_sale - project-specific POS hierarchy is available through
pointOfSaleProjectStructure - assigned users are available through
eventUser - custom report results can be available through
customReportResult
If a separate project or POS master-data endpoint is required, this is currently not available through the public API. In these cases, external systems should build their mapping from the embedded data returned by the event endpoint.