Skip to main content

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
}
}
}
}
info

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
}
}
}
info

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
}
}
}
}
note

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.

When integrating events into an external system, use these fields as stable mapping references:

PurposeField
Event ID_id
Project IDproject_id._id
Project nameproject_id.name
POS IDpoint_of_sale._id
POS namepoint_of_sale.name
POS addresspoint_of_sale.address
POS coordinatespoint_of_sale.location
Area IDpointOfSaleProjectStructure.area._id
Area namepointOfSaleProjectStructure.area.name
Event statuseventState
Planned timestimes
Assigned userseventUser

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.