Skip to main content

markee api (DEVELOPMENT-SNAPSHOT)

This api is for markee

workspace

GET Workspace List

Returns a list of workspaces. Every workspace has a parentId that references the workspace directly above the workspace, name and shortname that describe the workspace and an optional custom fields company property that is used to configure certain settings for all the companies under the workspace.

query Parameters
filter
string

a filter for the name

id
integer

limit by space

sort
string

asc or desc for ascending or descending

skip
integer

skip entries

take
integer

take a given number of entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Workspace

Create a new workspace. The model has a parentId that references the workspace directly above the new workspace, name and shortname that describe the new workspace and an optional custom fields company property that is used to configure certain settings for all the companies under the new workspace.

Request Body schema: application/json
id
integer
parentId
required
integer
name
required
string
shortName
required
string
object (SettingsList)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "parentId": 0,
  • "name": "string",
  • "shortName": "string",
  • "customFieldsCompany": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Workspace

Returns a workspace. The model has a parentId that references the workspace directly above it, name and shortname that describe the workspace and an optional custom fields company property that is used to configure certain settings for all the companies under it.

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "parentId": 0,
  • "name": "string",
  • "shortName": "string",
  • "customFieldsCompany": {
    }
}

company

Company CMS

GET Company List

Get a list of companies with their minimum set of information. You can get the companies for a single workspace (defined by the id), the workspace you selected and all underneath (with id paramter and recursive = true) or all companies you allowed to see (leave id and recursive undefined).

The companies are always sorted by their id (ascending), you can use the before,after and take parameter to navigate through the list.

Additionally you can use the filter parameter to filter for the name (fuzzy search), licences and statuses to filter for subscriptions being assigned to at least one location of the company.

query Parameters
filter
string

filter for company name

after
integer

use this when you only interested in company with ids after that one

before
integer

use this when you only interested in company with ids before that one

take
integer

get only x elements

id
integer

id filter of the parental workspace

licences
string

comma separated list of licence names

statuses
string
Enum: "ACTIVE" "PROCESSING" "FAILED" "FINISHED" "EXPIRING"

comma separated statuses filter

recursive
boolean

set to true if you want to search recursively in all workspaces underneath

sort
string
Enum: "asc" "desc"

asc or desc, filter for sorting companies by id

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Company

Returns the detailed company json object defined by the company id. The result contains all information of the company.

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "shortName": "string",
  • "legalType": "AG",
  • "contact": {
    },
  • "salesMan": {
    },
  • "tags": [
    ],
  • "externalId": "string",
  • "licences": [
    ],
  • "imprint": "string",
  • "globalImprint": true,
  • "dataPrivacy": "string",
  • "globalDataPrivacy": true,
  • "imprintUrl": "string",
  • "dataPrivacyUrl": "string",
  • "isClaimed": true,
  • "vatNr": "string",
  • "customFieldsCompany": [
    ]
}

PUT Company

Method to update a existing company.

path Parameters
id
required
integer <int64>
Request Body schema: application/json
name
required
string
shortName
string
legalType
string
Enum: "AG" "GbR" "GmbH" "GmbH & Co. KG" "OHG" "UG" "UG & Co. KG" "eG"
salesManId
integer

id of a sales man, defined on workspace level

externalId
string
imprint
string
globalImprint
boolean
dataPrivacy
string
globalDataPrivacy
boolean
imprintUrl
string
dataPrivacyUrl
string
vatNr
string
Array of objects (KeyValueString)

Responses

Request samples

Content type
application/json
{
  • "name": "TestName",
  • "shortName": "test",
  • "legalType": "AG",
  • "externalId": "000122335654"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Company

A delete method to remove a company and all of it's locations, if there are no active subscriptions.

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Company

Create a new company in a workspace. The id you need to set is the parental workspace id

path Parameters
id
required
integer <int64>
Request Body schema: application/json
name
required
string
shortName
string
legalType
string
Enum: "AG" "GbR" "GmbH" "GmbH & Co. KG" "OHG" "UG" "UG & Co. KG" "eG"
object (ContactInsert)
salesManId
integer

id of a sales man, defined on workspace level

externalId
string
object (LocationInsert)
vatNr
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "shortName": "string",
  • "legalType": "AG",
  • "contact": {
    },
  • "salesManId": 0,
  • "externalId": "string",
  • "locationInsert": {
    },
  • "vatNr": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Company Owner

Returns the UserAccount corresponding to the owner of the company when the company has been claimed

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "userName": "string",
  • "email": "string",
  • "contextId": 0,
  • "contextType": "Location",
  • "active": true,
  • "position": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "languageCode": "de",
  • "url": "string",
  • "template": 0,
  • "settings": [
    ],
  • "tags": [
    ],
  • "salutation": "string",
  • "userType": "agency service",
  • "profilePicture": {
    },
  • "phone": {
    },
  • "ssoUser": true
}

GET Grouped Google Attributes

Get grouped google main categories for attributes bulk edit. For the company id and list of locations given as parameter this method finds and returns a list of categories. For each of them it returns a list of locations which have this categorie as main categorie. It returns a list of attributes that belong to that category and a bulk state that indicates if those attributes have the same value for all locations on that list or not.

path Parameters
companyId
required
integer <int64>

Id of the company

query Parameters
locationIds
string

comma seperated list of location ids

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

location

Location CMS

GET location list

use this method to get a list of locations belonging to a location, containing the minimum set of information. To get more detailled information use the corresponding detail methods.

query Parameters
filter
string

optional filter for the location name

skip
integer

optinal integer to skip the first n results

take
integer

optional filter to get only n results

licences
string

comma seperated list of licence names to filter locations

statuses
string
Enum: "PROCESSING" "ACTIVE" "EXPRING" "EXPIRINGON" "FAILED"

comma seperated list of statuses to filter for locations having subscriptions with this status

id
required
integer <int64>

id of the parental company id

enrich_with
string
Value: "ProfileQuality"

define here with which data you want to enrich the location list response. Be aware, this may have impact in the performance of the call. Multiple values can be used and seperated via a commata

tags
string

filter by tags, which should exist on company level.

sort
string
Enum: "asc" "desc"

sort by column id, asc or desc, default is desc

Responses

Response samples

Content type
application/json
No sample

GET Location Media

To get all the media information for a location. Those are images, urls and everything connected to social meda.

path Parameters
id
required
integer <int64> >= 0

unique id of the location you want to get the media information for

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "youtubeUrl": [
    ],
  • "businessLogo": {
    },
  • "customImages": [
    ],
  • "googleProfile": {
    },
  • "googleCover": {
    },
  • "facebookProfile": {
    },
  • "google360": {
    },
  • "facebookUrl": {
    },
  • "tikTokUrl": {
    },
  • "linkedInUrl": {
    },
  • "xingUrl": {
    },
  • "twitterHandle": "string",
  • "reservationsUrl": {
    },
  • "menuUrl": {
    },
  • "orderUrl": {
    },
  • "instagramUrl": {
    },
  • "name": "string",
  • "foursquareExtra": "string",
  • "facebookCover": {
    }
}

PUT location media

Use this method to update all the media information for this location. All null paramters are getting deleted, except for custom images, since these are simply used to update the order in which they appear in the gallery, rather than to add or delete them.

If you want to preserve them, use the get method first to obtain the current set of data and replace only the fields you want.

Sending null for the customImages field will simply cause the api to ignore a new ordering, whereas when sending an array, it should correspond to the extact same content of the array of customImages ids (but could have a different order), so the api can use it to define a new order based on the array sent.

If you want to preserve the order of the images in the gallery, either send null for the customImages field, or send the list of customImages ids in the exact order as they were retrieved from the api.

In case you want to update images or urls, use the corresponding update methods with their unique id you get from the GET call.

path Parameters
id
required
integer <int64> >= 0

unique id of the location you want to get the media information for

Request Body schema: application/json
foursquareExtra
string
twitterHandle
string
customImages
Array of integers

list of unique IDs of gallery images, represents the order in which they should be saved

Responses

Request samples

Content type
application/json
{
  • "foursquareExtra": "string",
  • "twitterHandle": "string",
  • "customImages": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Location Basic

Returns the detailed basic json object defined by the location id. The result contains the basic set of the location information.

path Parameters
id
required
integer
query Parameters
language
string

language code, ISO 3166-1 alpha-2 , e.g. en. If not defined, the language setting of your user is getting used

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "externalId": "string",
  • "name": "string",
  • "categories": [
    ],
  • "address": {
    },
  • "mainPhone": {
    },
  • "alternativePhones": [
    ],
  • "tags": [
    ],
  • "closed": true,
  • "eMail": "string",
  • "website": {
    },
  • "currentOffer": {
    },
  • "currentOfferText": "string",
  • "serviceArea": [
    ],
  • "isClaimed": true
}

PUT Location Basic

Method to update the basic data of a location

path Parameters
id
required
integer
Request Body schema: application/json
name
required
string
externalId
string
required
Array of objects (LocationCategory)
closed
boolean
eMail
string
currentOfferText
string
Array of objects (KeyValueServiceArea)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "externalId": "string",
  • "categories": [
    ],
  • "closed": true,
  • "eMail": "string",
  • "currentOfferText": "string",
  • "serviceArea": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Location Opening Hours

Path param: id of the opening hours get a single opening hour information of a location

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "days": [
    ],
  • "note": "string",
  • "dateInterval": {
    },
  • "openingHoursType": "default",
  • "temporarilyClosedUntil": "2019-08-24"
}

POST Location Opening Hours

Path param: id of the location

create a new opening hour for a location

path Parameters
id
required
integer
Request Body schema: application/json
required
Array of objects (OpeningDayInsert)
note
string
object (DateIntervalInsert)
openingHoursType
required
string
Enum: "default" "customPeriod" "customDate"
temporarilyClosedUntil
string <date>

Responses

Request samples

Content type
application/json
{
  • "days": [
    ],
  • "note": "string",
  • "dateInterval": {
    },
  • "openingHoursType": "default",
  • "temporarilyClosedUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Location Opening Hours

Path param: id of the opening hours

Method to delete the opening hours of a location

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Location Opening Hours

Path param: id of the opening hours

Method to update the opening hours of a location. Each day that is not declare will be consider close for openingHoursType : default and customPeriod

path Parameters
id
required
integer
Request Body schema: application/json
required
Array of objects (OpeningDayUpdate)
note
string
object (DateIntervalUpdate)
openingHoursType
required
string
Enum: "default" "customPeriod" "customDate"
temporarilyClosedUntil
string <date>

Responses

Request samples

Content type
application/json
{
  • "days": [
    ],
  • "note": "string",
  • "dateInterval": {
    },
  • "openingHoursType": "default",
  • "temporarilyClosedUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Location Additional

Returns the additional basic json object defined by the location id. The result contains the additional set of the location information.

path Parameters
id
required
integer

id of the location

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "yearOfFoundation": "string",
  • "products": [
    ],
  • "services": [
    ],
  • "specialFields": [
    ],
  • "memberships": [
    ],
  • "trademarks": [
    ],
  • "languages": [
    ],
  • "keywords": [
    ],
  • "paymentMethods": [
    ],
  • "possiblePaymentMethods": [
    ],
  • "imprint": "string",
  • "locationImprint": true,
  • "dataPrivacy": "string",
  • "locationDataPrivacy": true,
  • "imprintUrl": "string",
  • "dataPrivacyUrl": "string",
  • "slogan": "string"
}

PUT Location Additional

Method to update the additional data of a location

path Parameters
id
required
integer

id of the location

Request Body schema: application/json
description
string
yearOfFoundation
string
products
Array of strings
services
Array of strings
specialFields
Array of strings
memberships
Array of strings
trademarks
Array of strings
languages
Array of strings
keywords
Array of strings
paymentMethods
Array of strings
imprint
string
dataPrivacy
string
imprintUrl
string
dataPrivacyUrl
string
slogan
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "yearOfFoundation": "string",
  • "products": [
    ],
  • "services": [
    ],
  • "specialFields": [
    ],
  • "memberships": [
    ],
  • "trademarks": [
    ],
  • "languages": [
    ],
  • "keywords": [
    ],
  • "paymentMethods": [
    ],
  • "imprint": "string",
  • "dataPrivacy": "string",
  • "imprintUrl": "string",
  • "dataPrivacyUrl": "string",
  • "slogan": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Location Products

get a list of connected products for a location

path Parameters
id
required
integer

id of the location

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Location Google Attributes

Returns the Google Attributes for a location Code language for the parameter is in ISO 3166-1 alpha-2 country code Examples: de,en

query Parameters
locationId
required
integer <int64>

location id

language
required
string

language code

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": 0,
  • "data": [
    ]
}

PUT Location Google Attributes

Update the Google Attributes for a list of locations. All the locations should have the same main category and should be located in the same country.

path Parameters
ids
required
string

location ids

Request Body schema:
required
Array of objects (GoogleAttributesUpdate)
Array
attributeId
required
string
value
string

Responses

Request samples

Content type
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Location Bulk

retuns location Bulk

query Parameters
ids
required
string

the ids of the context

keyFilters
string
Enum: "NAME" "CATEGORIES" "TAG" "EMAIL" "WEBSITE" "DISPLAY_URL" "PHONE_MAIN" "PHONE_FAX" "PHONE_LANDLINE" "PHONE_MOBILE" "CURRENT_OFFER" "CURRENT_OFFER_URL" "DESCRIPTION" "PRODUCTS" "SERVICES" "SPECIAL_FIELDS" "MEMBERSHIP" "BRANDS" "LANGUAGES" "FOUNDING_YEAR" "KEYWORDS" "PAYMENTS_METHODS" "LOGO" "GALLERY" "PANORAMA" "GMB_PROFILE" "GMB_BACKGROUND" "FACEBOOK_PROFILE" "FACEBOOK_BACKGROUND" "TWITTER" "YOUTUBE_URL" "FACEBOOK_URL" "OPENINGHOURS" "SPECIALOPENINGHOURS" "MENU_URL" "ORDER_URL" "RESERVATIONS_URL"

optional list of bulk key you want to filter for. If it's null all keys will be reconsidered , a coma separate list

contextType
required
string
Enum: "Location" "Company"

context of the ids you're passing

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

PUT Location Bulk

update location Bulk

query Parameters
ids
required
string

id of the locations or the company. Choose multiple location ids for the bulk edit or a single company id

contextType
required
string
Enum: "Location" "Company"

context of the ids you're passing

Request Body schema: application/json
required
Array of objects (LocationBulk)
total
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

DELETE Location

delete method to delete location

path Parameters
id
required
integer

id of the location

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Location

Method to create a location by defining all mandatory fields. If you want to insert some additional, media or social media fields, use the corresponding update methods afterwards.

If a self service user wants to create a new location for her/his company, pinVerification and claimId need to be set. Those need to be triggerd by the /company/claim endpoint via the location main phone number.

Path Param: id: id of the parental company

path Parameters
id
required
integer

id of the location

Request Body schema: application/json
name
required
string
required
Array of objects (LocationCategory)
required
object (AddressInsert)
required
object (MainPhoneInsert)
claimId
string

self service user need to start a claiming first

pinVerification
string
email
string

email contact for this location

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "categories": [
    ],
  • "address": {
    },
  • "mainPhone": {
    },
  • "claimId": "string",
  • "pinVerification": "string",
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Location Opening Hours List

get all opening hours information of a location

query Parameters
id
required
integer

id of the location

openingHoursType
string
Enum: "default" "customPeriod" "customDate"

openingHoursType

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

PUT Bulk Opening Hours

This method will delete openign hours if they exist base on the openingHoursType that is in the request body for locations and post new ones in a bulk function

query Parameters
id
string

location ids

Request Body schema: application/json
required
Array of objects (OpeningDayInsert)
note
string
object (DateIntervalInsert)
openingHoursType
required
string
Enum: "default" "customPeriod" "customDate"
temporarilyClosedUntil
string <date>

Responses

Request samples

Content type
application/json
{
  • "days": [
    ],
  • "note": "string",
  • "dateInterval": {
    },
  • "openingHoursType": "default",
  • "temporarilyClosedUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

POST Listing Sync GBP Location

This method is used to sync a Google Location data to a Markee location

path Parameters
id
required
integer <int64>

location id

Request Body schema: application/json
title
required
string
required
object (GBPStorefrontAddress)

Object that represents the location's address as it appears on Google.

object (GBPPhoneNumbers)

Object that contains a primary phone number and optional additional phone numbers.

required
object (GBPCategories)

Object that contains a primary category and optional additional categories.

Array of objects (ImageInsert)
websiteUri
string
object (GBPRegularHours)

Object representing the opening hours of a location

object (GBPSpecialHours)

Object representing the special opening hours of a location

labels
Array of strings
object (GBPProfile)

Object representing the description of a location

object (GBPOpenInfo)

Object that contains information about the status of the location.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "storefrontAddress": {
    },
  • "phoneNumbers": {
    },
  • "categories": {
    },
  • "images": [
    ],
  • "websiteUri": "string",
  • "regularHours": {
    },
  • "specialHours": {
    },
  • "labels": [
    ],
  • "profile": {
    },
  • "openInfo": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

miscellaneous

miscellaneous methods

GET Image

Method to get an image for an id

Path Param: id of image

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "fileName": "string",
  • "url": "string",
  • "imageType": "GoogleProfilImage"
}

Post Image

Method to insert an image for some parent (e.g. some location)

Path Param: id of the location the image gets inserted for

Validation criterias for pictures for image types: -logo: (supported file types: "jpg" "gif" "png" "ico") (no api validation)

-360° picture (supported file types: "jpg" "gif" "png" "ico")  (no api validation)

-gallery picture (supported file types: "jpg" "gif" "png" "ico") (api validation: min width / hight 250 px, max width / hight 5.000 px, min file sice 10 kb, max file sice 5 MB)

-social post picture (supported file types: "jpg" "gif" "png" "ico") (api validation: min width / hight 250 px, max width / hight 5.000 px, min file sice 10 kb, max file sice 5 MB)

-Google cover picture (supported file types: "jpg" "gif" "png" "ico") (no api validation)

-Google profil picture (supported file types: "jpg" "gif" "png" "ico") (no api validation)

-Facebook cover picture (supported file types: "jpg" "gif" "png" "ico") (no api validation)

-Facebook profil picture (supported file types: "jpg" "gif" "png" "ico") (no api validation)

path Parameters
id
required
integer
Request Body schema: application/json
imageType
required
string
Enum: "GoogleProfilImage" "GoogleCoverImage" "FacebookProfileImage" "FacebookCoverImage" "BusinessLogo" "Google360" "PerformanceImage" "SocialImage" "ContentImage" "CampaignImage" "EmailLogo" "WhiteLabelLogo" "WhiteLabelFavicon" "UserProfileImage" "CustomImage" "ListingImage" "WebsiteWidgetImage" "SegmentAdImage" "LocalAdLogoImage" "LocalAdSquareMarketingImage" "LocalAdMarketingImage" "MessageImage" "MeinungsmeisterLogo"

define the type of the image

fileType
string
Enum: "jpg" "gif" "png" "ico"

file type in case you have this information

data
string

define either an base64 data representation of the image

url
string

or an url.

Responses

Request samples

Content type
application/json
{
  • "imageType": "GoogleProfilImage",
  • "fileType": "jpg",
  • "data": "string",
  • "url": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

Delete Image

remove an image from some parent

Path Param: the id of the image

path Parameters
id
required
integer
query Parameters
parentType
required
string
Enum: "Contact" "Location"

determines the type of parent the url gets connected to

parentId
required
integer <int64>

parent Id the image is connected to (e.g. locationId)

imageType
required
string
Enum: "GoogleProfilImage" "GoogleCoverImage" "FacebookProfileImage" "FacebookCoverImage" "BusinessLogo" "CustomImage" "Google360" "ListingImage" "PerformanceImage" "SocialImage" "ContentImage" "CampaignImage" "EmailLogo" "WhiteLabelLogo" "WhiteLabelFavicon" "UserProfileImage"

the type of the image

Responses

Put Url

thod to update a specific url The following Url type have specific format: Instagram Url format : https://www.instagram.com/[profilenamevariable] Facebook Url format : https://www.facebook.com/[profilenamevariable] Youtube Url format : https://www.youtube.com/watch?v=[code]

Path Param: id of the url

path Parameters
id
required
integer
Request Body schema: application/json
url
required
string
display
string

Responses

Request samples

Content type
application/json
{
  • "url": "string",
  • "display": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

Delete Url

Delete a url

Path Param: the id of the url

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

Post Url

determines the type of parent the url gets connected to

Path Parm: id of the parental location

path Parameters
id
required
integer
query Parameters
parentType
required
string
Enum: "Contact" "Location"

determines the type of parent the url gets connected to

Request Body schema: application/json
urlType
required
string
Enum: "FacebookUrl" "TwitterUrl" "YoutubeUrl" "GooglePlusUrl" "CustomerUrl" "CurrentOffersUrl" "LocationUrl" "MenuUrl" "OrderUrl" "InstagramUrl" "ReservationsUrl" "TikTokUrl" "LinkedInUrl" "XINGUrl"
url
required
string
display
string

Responses

Request samples

Content type
application/json
{
  • "urlType": "FacebookUrl",
  • "url": "string",
  • "display": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

Get ParentList

Returns a list of parents for one id of some type. When you want the parents of a location call this method with the location id and the type location

query Parameters
id
required
integer

context id of the current data object

contextType
required
string
Enum: "Company" "Location" "Subscription" "EnhancedContent" "Duplicate"

determines the type of the current context

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

Get Duplicates

Method to get a list of duplicates

query Parameters
workspaceIds
required
string

list of workspace ids

phone
string

phone number

postCode
string

postcode

city
string

city

street
string

street

house
string

house number

similarityFactor
number <double>

etermines how strict the the data matching should be. A value between zero and one with value one as an exact match.

recursive
required
boolean

return a list of all locations containing to a workspace or also from all it's child workspaces

activeListing
required
boolean

return a list of all locations having only active listing subscriptions

name
string

name of the location

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Profile Quality

The method offers the data quality (based on the completeness of its data) for a location. The More fields are defined, the higher is the quality value.

There are different use cases, which can be determined by the qualityType Parameter: Scan or Profile The profile use case covers more fields of the locations.

Note: qualityType default value is Scan if not defined

path Parameters
id
required
integer

id of the location

query Parameters
qualityType
string
Enum: "Profile" "Scan"

type of the quality, default scan

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "quality": 0,
  • "name": "string",
  • "address": {
    },
  • "phone": {
    },
  • "eMail": "string",
  • "website": "string",
  • "description": true,
  • "logo": true,
  • "galerie": true,
  • "openingHours": true,
  • "paymentMethods": true,
  • "includingProfile": [
    ],
  • "excludingProfile": [
    ]
}

Get Portals

Method to get List of all available portals

query Parameters
take
integer <int32>

take a given number of entries

skip
integer <int32>

skip entries

portalType
string
Enum: "post" "review" "task" "listing" "mueller_medien_paket" "internal"

a filter of the type of the portals

filter
string

social portal names as a comma separated list

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Country Codes

Method to get List of all available country code language in ISO 3166-1 alpha-2 country code Examples: en_US, de_DE

query Parameters
language
required
string

Regional code

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET States by Country Code

Method to get List of all available states for the given Country Code

query Parameters
countryCode
required
string

Country of interest

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Your GET endpoint

Returns the global paymentMethods if the countryCode is define will return the global plus what is available for that region code

query Parameters
countryCode
string

country code, ISO 3166-1 alpha-2. ex: en,de

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Youtube Channel

path Parameters
contextType
required
string

parental context

contextId
required
integer <int64>

the id of the parental context

Responses

Response samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

GET Youtube Playlist

path Parameters
contextType
required
string

parental context

contextId
required
integer <int64>

the id of the parental context

youtube_channel
required
string

the Id of the youtube channel

Responses

Response samples

Content type
application/json
[
  • {
    }
]

tag

DELETE Tag

delete a tag, be careful, this also deletes all connections between location and assigned tag

path Parameters
id
required
integer <int64>

the id of the tag

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Tag

Creating tag

path Parameters
id
required
integer <int64>

the id of the tag

Request Body schema: application/json

tag insert

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Tag Disconnect

remove the tag only from the current location

path Parameters
id
required
integer <int64>

the id of the tag

query Parameters
locationId
required
integer

id of location the tag gets connected to

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Tag Connect

connecting tag and location

path Parameters
id
required
integer <int64>

id of the tag

query Parameters
locationId
required
integer

id of location the tag gets connected to

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Tag List

Returns a list of tags related to a company, containing only the minimal set of information. The search needs to be restricted by a company id and can be limited by some optional query parameter.

query Parameters
filter
string

a filter for the name

sortColumn
string

name of the column which gets sorted, need to be one of the fields of the model schema of the response

sortDirection
string
Enum: "asc" "desc"

asc or desc for ascending or descending

skip
integer

skip entries

take
integer

take a given number of entries

id
required
integer

the id of the parental company

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

contact

POST Contact

You can define a new contact person for companies with this method. Right now, only one contact person per company is allowed.

path Parameters
id
required
integer <int64>

id of the company

Request Body schema: application/json

contact object

salutation
required
string
firstName
string
lastName
required
string
eMails
required
Array of strings non-empty
mainPhone
required
string

main phone number, format e.g. 49-911-123456

Array of objects (PhoneInsert)

Responses

Request samples

Content type
application/json
{
  • "salutation": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "eMails": [
    ],
  • "mainPhone": "string",
  • "alternativePhones": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Contact

Method to update a existing contact. Set all fields mentioned in the model description, only the optional ones can be left out. Some of the contact update fields need to be in a specific format: * emails: represents a list of emails, the minimum length of this list is 1, each email needs to be in a specific format: 'foo@bar.de' * phone, mobile: need to be in a specific format: e.g. '49-123-456789' "

path Parameters
id
required
integer <int64>

id of the company

Request Body schema: application/json

contact object

salutation
required
string
firstName
required
string
lastName
required
string
eMails
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "salutation": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "eMails": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Contact

Returns a list of contacts, each representing a sales man of the defined workspace The search needs to be restricted by a workspace id and can be limited by some optional query parameter.

query Parameters
id
required
integer

the id of the parental workspace

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

phone

GET Phone

returns a list of phone objects for some context

query Parameters
id
required
integer <int32>

id of the parental location / contact

contextType
required
string
Enum: "Contact" "Location"

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Phone

add an alternative phone to a contact or a location Path Params: id: id of the parental location / contact/ user

path Parameters
id
required
integer
query Parameters
parentType
required
string
Enum: "Location" "Contact" "User"

etermines the type of parent the phone number gets connected to

Request Body schema: application/json
phoneType
required
string
Enum: "landline" "mobile" "fax"
phone
required
string

format e.g.: 49-911-123456

tracked
required
boolean

is this phone number a call tracking number? (e.g. hotline)

Responses

Request samples

Content type
application/json
{
  • "phoneType": "landline",
  • "phone": "string",
  • "tracked": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Phone

Method to update a specific phone Path Param: id: id of the phone

path Parameters
id
required
integer
Request Body schema: application/json
phoneType
required
string
Enum: "landline" "mobile" "fax"
phone
required
string
tracked
required
boolean

Responses

Request samples

Content type
application/json
{
  • "phoneType": "landline",
  • "phone": "string",
  • "tracked": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Phone

delete a phone and all connections to it Path Param: id: the id of the phone

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT MainPhone

Method to update a specific main phone

Path Param: id: id of the phone

path Parameters
id
required
integer
Request Body schema: application/json
phone
required
string
tracked
required
boolean
localPhone
string
claimId
string
pinVerification
string

Responses

Request samples

Content type
application/json
{
  • "phone": "string",
  • "tracked": true,
  • "localPhone": "string",
  • "claimId": "string",
  • "pinVerification": "string"
}

address

PUT Address

Method to update an existing address Path Param: id: id of the address

path Parameters
id
required
integer
Request Body schema: application/json
postCode
string
country
required
string
city
required
string
street
required
string
state
string
house
string
additive
string
subLocality
string

Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.

object (Coordinate)
suppress
boolean

Responses

Request samples

Content type
application/json
{
  • "postCode": "string",
  • "country": "string",
  • "city": "string",
  • "street": "string",
  • "state": "string",
  • "house": "string",
  • "additive": "string",
  • "subLocality": "string",
  • "coordinate": {
    },
  • "suppress": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

POST Address

Method to create a new address

Note: if you use the Location parentType you will add address to a location if you use the BillingAccount parentType you will add addres to a b

Path Param: id: id of the parent

path Parameters
id
required
integer
query Parameters
parentType
required
string
Enum: "BillingAccount" "Location" "Contract"

determines the type of parent the address gets connected to

Request Body schema: application/json
country
required
string
postCode
string
city
required
string
state
string
street
required
string
house
string
additive
string
subLocality
string

Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.

object (Coordinate)
suppress
boolean

Responses

Request samples

Content type
application/json
{
  • "country": "string",
  • "postCode": "string",
  • "city": "string",
  • "state": "string",
  • "street": "string",
  • "house": "string",
  • "additive": "string",
  • "subLocality": "string",
  • "coordinate": {
    },
  • "suppress": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE address

Method to delete an addres Path Param: id: id of the address

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

meta

GET SalutationList

returns a list valid salutations in the language of your own user settings

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET BudgetTypeList

returns a list of budget types

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET CategoryList

Returns a list of categories. You can change the translation by setting the language parameter, but be aware: if there is now translation for a category you will get the german ones. Additionally you can pass a workspace id, a workspace can have a different category set configured.

query Parameters
language
string

language code, ISO 3166-1 alpha-2 , e.g. en. If not defined, the language setting of your user is getting used

workspaceId
integer <int32>

workspace id, if you want to get the category set for a special workspace. If not defined, you will get the default markee category set

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

enhancedContent

enhanced content methods

GET Enhanced Content

Returns the detailed enhanced content json object defined by the enhanced content id.

Path param: id of the enhanced content

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "locations": [
    ],
  • "contentType": "productsServices",
  • "status": "live",
  • "language": {
    },
  • "published": true
}

POST Enhanced Content

Method to create enhanced content for a company. This content can be linked to locations afterwards

Path param: id of the parent company

path Parameters
id
required
integer
Request Body schema: application/json
name
required
string
contentType
required
string
Enum: "productsServices" "menu" "profile" "events"
required
object (KeyValueInt)

key value, containt an integer as key (e.g. an id) and a value (e.g. a name)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "contentType": "productsServices",
  • "language": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Enhanced Content

Method to update enhanced content fields

Path Param: id of the enhanced content id

path Parameters
id
required
integer
Request Body schema: application/json
name
required
string
locationIds
required
Array of integers <int64> [ items <int64 > ]
required
object (KeyValueInt)

key value, containt an integer as key (e.g. an id) and a value (e.g. a name)

published
required
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "locationIds": [
    ],
  • "language": {
    },
  • "published": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Enhanced Content

This method deletes all the data of an enhanced content, including all connections to locations

Path Param: id of the enhanced content

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Enhanced Content Detail

This method returns the detailed content of an enhanced content. It returns a list with detail elements.

Path Param: id of the enhanced content

path Parameters
id
required
integer
query Parameters
skip
integer

number of element to skip

take
integer

number of element to take

filter
string

filter for the name

sectionIds
string

comma separated list of section ids you can filter

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Enhanced Content Detail

create a content element for an enhanced content

Path Param: id of the enhanced content

path Parameters
id
required
integer
Request Body schema: application/json
object (KeyValueInt)

key value, containt an integer as key (e.g. an id) and a value (e.g. a name)

name
required
string
description
string
price
number <double>
Array of objects (KeyValueString)
Array of objects (ImageInsert)
url
string
youtubeUrl
string
idCode
string

Responses

Request samples

Content type
application/json
{
  • "section": {
    },
  • "name": "string",
  • "description": "string",
  • "price": 0,
  • "priceOption": [
    ],
  • "images": [
    ],
  • "url": "string",
  • "youtubeUrl": "string",
  • "idCode": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Enhanced Content Detail

Update Enhanced Content Detail

Path Param: id of the enhanced content detail

path Parameters
id
required
integer
Request Body schema: application/json
object (KeyValueInt)

key value, containt an integer as key (e.g. an id) and a value (e.g. a name)

name
required
string
description
string
price
number <double>
Array of objects (KeyValueString)
Array of objects (ImageInsert)
url
string
youtubeUrl
string
idCode
string
priorityOrder
required
integer

Responses

Request samples

Content type
application/json
{
  • "section": {
    },
  • "name": "string",
  • "description": "string",
  • "price": 0,
  • "priceOption": [
    ],
  • "images": [
    ],
  • "url": "string",
  • "youtubeUrl": "string",
  • "idCode": "string",
  • "priorityOrder": 0
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Enhanced Content Detail Basic

This method returns the priority orders of elements inside of a section

path Parameters
id
required
integer

Section Id

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

PUT Enhanced Content Detail Order

With this method you can update the order of elements inside of a section. The priorityOrder needs to be unique.

path Parameters
id
required
integer

id of the section

Request Body schema: application/json
Array of objects (EnhancedContentDetailOrder)
Array
id
required
integer <int32>
priorityOrder
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

GET Enhanced Content Section List

returns all current sections for an enhanced content, including their priorities inside of this content and the number of elements being connected to this section

Path Param: id of the enhanced content

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Enhanced Content Section

Create a new section for an existing enhanced content. This section will be the last one initially for this content, use the update method afterwards to set the priorityOrder you want.

Path Param: id of Enhanced Content

path Parameters
id
required
integer
Request Body schema: application/json
name
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Enhanced Content Section

Method to update the sections for an enhanced content. You need to send the complete list of sections, being available for this content. Sections, being in the system and not getting sent by you will be deleted! In case this sections are having elements connected this will be not possible. Use this method especially to sort the sections by setting their priorityOrder. This order needs to be unique for this list.

Path Param: id of the enhanced content

path Parameters
id
required
integer
Request Body schema: application/json
Array of objects (EnhancedContentSectionUpdate)
Array
id
required
integer <int32>
name
required
string
description
string
priorityOrder
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "sections": [
    ]
}

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

GET Enhanced Content List

Returns the Enhanced Content json object linked to a Company. This list represents just a minimal set of information, to get the detailed information you need to use the corresponding detail methods.

query Parameters
contextIds
required
string

"comma seperated ids of location or company

contextType
required
string
Enum: "Location" "Company"

context type (location,company)

skip
integer <int32>

number of element to skip

take
integer <int32>

number of element to take

contentType
string
Enum: "productsServices" "menu" "profile" "events"

content type filter

status
string
Enum: "live" "not_connected"

status filter

filter
string

name filter

language
string

language filter

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

DELETE Enhanced Content Detail

delete a detail element from an enhanced content

query Parameters
ids
required
string

ids of the enhanced content detail elements, comma separated

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

claim

POST Start Claim

Use this method to claim a company/location. You can claim an existing company/location by using the corresponding location id or you can trigger it by using the phone number of this location you want to insert.

Request Body schema: application/json
claimType
required
string
Value: "phone"
locationId
integer <int64>
phone
string
dataSetId
string
externalProviderId
string

Responses

Request samples

Content type
application/json
{
  • "claimType": "phone",
  • "locationId": 0,
  • "phone": "string",
  • "dataSetId": "string",
  • "externalProviderId": "string"
}

Response samples

Content type
application/json
{
  • "value": "string"
}

PUT Finish Claim

update the claiming process by setting the correct pin

path Parameters
claimId
required
string <uuid>

claim id, returned by the initialized claiming step

Request Body schema: application/json
pinVerification
required
string

Responses

Request samples

Content type
application/json
{
  • "pinVerification": "string"
}

Response samples

Content type
application/json
{
  • "value": true
}

offer

offer methods

GET Offer

Returns an offer and its products with its settings. Define the offer id you want to get data for in the path as path parameter.

path Parameters
id
required
integer <int64>

contextual id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "products": [
    ],
  • "sellingName": "string",
  • "setupFee": 0,
  • "regularFee": 0,
  • "minimumTerm": {
    },
  • "maximumTerm": {
    },
  • "cycleTerm": {
    },
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24",
  • "product": [
    ],
  • "suppressNotifications": true,
  • "suppressTasks": true
}

POST Offer

Create a new offer for a workspace. Define the workspace id in the path as path parameter.

path Parameters
id
required
integer <int64>

contextual id

Request Body schema: application/json
sellingName
required
string
setupFee
number
regularFee
number
object (PeriodDuration)
object (PeriodDuration)
required
Array of objects (ProductSetting)
suppressNotifications
boolean

indicates if notifications shall be suppressed for all subscriptions which are getting created through a licence of this offer. By default this setting is false

suppressTasks
boolean

indicates if tasks shall be suppressed for all subscriptions which are getting created through a licence of this offer. By default this setting is false

Responses

Request samples

Content type
application/json
{
  • "sellingName": "string",
  • "setupFee": 0,
  • "regularFee": 0,
  • "minimumTerm": {
    },
  • "maximumTerm": {
    },
  • "product": [
    ],
  • "suppressNotifications": true,
  • "suppressTasks": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Offer

Update an existing offer. Define the offer id you want to update the path as path parameter.

path Parameters
id
required
integer <int64>

contextual id

Request Body schema: application/json
sellingName
required
string
spaceId
required
integer
setupFee
number
regularFee
number
object (PeriodDuration)
object (PeriodDuration)
Array of objects (ProductSetting)
suppressNotifications
boolean

indicates if notifications shall be suppressed for all subscriptions which are getting created through a licence of this offer. By default this setting is false

suppressTasks
boolean

indicates if tasks shall be suppressed for all subscriptions which are getting created through a licence of this offer. By default this setting is false

Responses

Request samples

Content type
application/json
{
  • "sellingName": "string",
  • "spaceId": 0,
  • "setupFee": 0,
  • "regularFee": 0,
  • "minimumTerm": {
    },
  • "maximumTerm": {
    },
  • "product": [
    ],
  • "suppressNotifications": true,
  • "suppressTasks": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Offer

Delete an offer Define the offer id you want to delete the path as path parameter.

path Parameters
id
required
integer <int64>

contextual id

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Offer List

Returns a list of product offers of a certain workspace

query Parameters
filter
string

filter for the name

skip
integer

skip n elements

take
integer

take n elements

id
required
integer

id of parental workspace

recursive
required
boolean

returns either the offers for one space or for one space and all its child spaces

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Offer Product Available

Get product settings. Depending on the context you will get the most abstract product settings on workspae level you can use to create an offer. If licences and subscriptions already have been created you can also get the product settings for those (read only).

query Parameters
id
required
integer <int64>

contextual id

contextType
required
string
Enum: "Workspace" "Licence" "Subscription"

determines the parental context

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

contract

contract methods

GET Contract List

Returns a list of contract of a company

query Parameters
filter
string

filter for the name

skip
integer

skip n entries

take
integer

take a given number of elements

id
required
integer <int64>

id of the parental company

Responses

Response samples

Content type
{ }

GET Contract

get detailled contract information. Use the contract id for the path parameter.

path Parameters
id
required
integer <int64>

contextual id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "billingAccountId": 0,
  • "billingType": "FIXED",
  • "accountingPeriod": "Year",
  • "fixedPrice": 0,
  • "conclusionDate": "2019-08-24",
  • "salesMan": {
    },
  • "customFields": [
    ],
  • "contractStatus": "ACTIVE",
  • "minimumTerm": {
    },
  • "bookable": true,
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24",
  • "licenceBookings": [
    ]
}

POST Contract

Method to create a contract including some licences for a company or a workspace. Define the context by the queryParameter and the identifier (id) in the path.

path Parameters
id
required
integer <int64>

contextual id

query Parameters
parentType
required
string
Enum: "Company" "Workspace"
Request Body schema: application/json
name
required
string
billingAccountId
required
integer
billingType
required
string
Enum: "FIXED" "FLEXIBLE"
accountingPeriod
required
string
Enum: "Year" "Half-Year" "Quarter" "Month" "Week" "Day"
fixedPrice
number
conclusionDate
required
string <date>
salesManId
integer
Array of objects (KeyValueString)
validFrom
required
string <date>
validUntil
string <date>
required
Array of objects (LicenceInsert)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "billingAccountId": 0,
  • "billingType": "FIXED",
  • "accountingPeriod": "Year",
  • "fixedPrice": 0,
  • "conclusionDate": "2019-08-24",
  • "salesManId": 0,
  • "customFields": [
    ],
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24",
  • "licences": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Contract

Method to update some fields belonging to a contract. Use the id of the contract you want to update in the path parameter.

path Parameters
id
required
integer <int64>

contextual id

Request Body schema: application/json
conclusionDate
required
string <date>
salesManId
integer
Array of objects (KeyValueString)
fixedPrice
number
validFrom
required
string <date>
validUntil
string <date>

Responses

Request samples

Content type
application/json
{
  • "conclusionDate": "2019-08-24",
  • "salesManId": 0,
  • "customFields": [
    ],
  • "fixedPrice": 0,
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "value": 0
}

billingaccount

GET Billing Account

Returns the detailed billing account object. Id in the path is the id of the billing account.

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "businessName": "string",
  • "address": {
    },
  • "differentAddress": {
    },
  • "parentType": "Company"
}

PUT Billing Account

Update a billing account. Id in the path is the id of the billing account.

path Parameters
id
required
integer
Request Body schema: application/json
businessName
required
string

Responses

Request samples

Content type
application/json
{
  • "businessName": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

POST Billing Account

Create a billing account. Id in the path is the parental company or workspace id, which needs to be determined by the parentType.

path Parameters
id
required
integer
query Parameters
parentType
required
string
Enum: "Company" "Location"

determines the type of parent the billing account gets connected to

Request Body schema: application/json
businessName
required
string
required
object (AddressInsert)
object (AddressInsert)

Responses

Request samples

Content type
application/json
{
  • "businessName": "string",
  • "address": {
    },
  • "differentAddress": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Billing Account List

Returns a list of billing accounts of a certain company

query Parameters
filter
string

a filter for the name

skip
integer

skip n elements

take
integer

take n elements

id
required
integer <int64>

id of the parental company

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

licence

licence methods

GET Licence Available

Returns a list of available licences of a company or a workspace

query Parameters
contextId
integer <int64>

the id of the parental company or workspace

contextType
required
string
Enum: "Company" "Workspace"

parental context

recursive
boolean

return a list of all available licences for the respective workspace and all it's childs

filter
string

a filter for the name

skip
integer

skip n elements

take
integer

take n elements

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Licence

get the licence

path Parameters
id
required
integer <int64>

id of the licence

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "maxSubscriptions": 0,
  • "activeSubscriptions": 0,
  • "subscriptions": [
    ],
  • "bookedOffer": {
    },
  • "cancelled": true,
  • "licenceStatus": "string"
}

PUT Licence

Method to update some fields belonging to a licence.

path Parameters
id
required
integer <int64>

id of the licence

Request Body schema: application/json
cancelled
required
boolean
name
required
string
maxSubscriptions
integer
setupFee
number
regularFee
number
object (PeriodDuration)
suppressNotifications
boolean

indicates if notifications shall be suppressed for all subscriptions which are getting created through a licence of this offer. By default this setting is false

suppressTasks
boolean

indicates if tasks shall be suppressed for all subscriptions which are getting created through a licence of this offer. By default this setting is false

Responses

Request samples

Content type
application/json
{
  • "cancelled": true,
  • "name": "string",
  • "maxSubscriptions": 0,
  • "setupFee": 0,
  • "regularFee": 0,
  • "minimumTerm": {
    },
  • "suppressNotifications": true,
  • "suppressTasks": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Licence List

Returns a list of available licences of a company or a contract

query Parameters
id
required
integer <int64>

the id of the parental company or contract

contextType
required
string
Enum: "Contract" "Company"
products
string
Enum: "Listing" "CallTracking" "QR" "ListingPortal" "Advertisement" "ReachEnhancement" "Budget" "GoogleMyBusiness" "Targeting" "MuellerMedienPaket" "Website" "DynamicVideo" "Meinungsmeister" "WebsiteWidget" "DataExports"

optional product filter, comma seperated

statuses
string
Enum: "INACTIVE" "ACTIVE" "NOTBOOKABLE"

optional status filter, comma seperated

filter
string

filter for the name

skip
integer

skip entries

take
integer

take a given number of entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

subscription

Subscription of a licence to a location

GET Subscription List

Returns a list of subscription, you can filter them by a location or a licence. Additionally you can set product and status filter.

query Parameters
id
required
integer <int64>

the id of the parental context

contextType
required
string
Enum: "Licence" "Location"

parental context

products
string
Enum: "Listing" "CallTracking" "QR" "ListingPortal" "Advertisement" "ReachEnhancement" "Budget" "GooglyMyBusiness" "Targeting" "MuellerMedienPaket" "Website" "DynamicVideo" "WebsiteWidget" "DataExports"

comma seperated list of products

statuses
string
Enum: "ACTIVE" "PROCESSING" "EXPIRING" "FINISHED" "FAILED"

comma sperated list of statuses

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Subscription

Connect a licence (defined by the id in the path) to (a) location(s) (defined by thelocationIds query parameter). Depending on the product configuration of the licence you need to set single parts of the json body.

You always need to set a start date, this can not be in the past. An end date is optional, in case it is getting used it needs to be after the start date.

You can use name and/or externalId to put your own additional descriptions to a subscription (e.g. order number etc.).

In case the licence is configured with a multiproduct, you will get multiple subscription ids in the response. One for each product field per location.

path Parameters
id
required
integer <int64>
query Parameters
locationIds
required
string

comma seperated list of location ids you want to use

Request Body schema: application/json
startDate
required
string <date>

start date of the subscription. Needs to be today or in the future

endDate
string <date>

optional end date, needs to in the future and after the start date

object (SubscriptionCallTracking)

Set this part in case the licence you subscribe to contains a call tracking

object (SubscriptionQrCode)
object (SubscriptionAdvertisement)

Set this part in case the licence you subscribe to contains a advertisement product

object (SubscriptionGelbeSeiten)
object (SubscriptionReachEnhancement)

Set this part in case the licence you subscribe to contains a sea (reach enhancement)

object (SubscriptionBudget)

Set this part in case the licence you subscribe to contains a budget

object (SubscriptionTargeting)

Set this part in case the licence you subscribe to contains a targeting

object (SubscriptionListingPortal)

Set this part in case the licence you subscribe to contains a individual listing portal (e.g. firmeneintrag)

object (SubscriptionMandatoryConnection)

Set this part in case the licence you subscribe to demans a special connection to another subscription

object (SubscriptionWebsite)

Set this part in case the licence you subscribe to contains the website product

externalId
string
name
string
object (SubscriptionStatisticAggregation)
object (SubscriptionMonoSync)
object (SubscriptionReachEnhancementSocial)
object (SubscriptionDynamicVideo)
object (SubscriptionReachEnhancementLocalCampaigns)

Set this part in case the licence you subscribe to contains a local campaign (reach enhancement type). This Reach Enhancement Type represents Google Ads Local Campaigns. They are advertising campaigns that promote business locations. The radius represents the distance in KM, around the location you subscribe to, that the ads will be served in. Budget Target is the amount in Euros that you will spend, the period represents the term in which you will spend the given budget target, it can be a Daily or a Monthly budget. Delivery Method represents how Google will spend the budget, currently only Standard method allowed, that means the budget will be spread evenly across the whole campaign. The location source type represents from where Google will get the locations that you want to promote, right now only GMB is supported. Call clicks and Driving directions are optimization goals for the campaign, at least one of them must be true. Roas(Return on ad spend) is an optional metric goal that you want to set, e.g. if you want a 300% roas, set this to 3.0, it ranges from 0.01 to 1000.0.

object (SubscriptionMeinungsmeister)

For Meinungsmeister to work please create a product of Yearly Service Fee as a first subscription before you continue to book other Meinungsmeister products. Orders are delivered to the address that exists in the location information but if you like a different delivery address please fill the information in the differentDeliveryAddress

Note: orderAmount,evaluationSheetsSettings differentDeliveryAddress can not be updated with api or ui later one you have to contact support team as soon as possible if you made a mistake

Important: for cancel the subscription is only by phone to the support team no ui or api is supported for this (yet)

Product: Yearly Service Fee: do not need any kind of setting Evaluation Sheets: mandatory are orderAmount , evaluationSheetsSettings VendorId : Only orderAmount is supported for this exclusive product

Responses

Request samples

Content type
application/json
{
  • "startDate": "2019-08-24",
  • "endDate": "2019-08-24",
  • "callTracking": {
    },
  • "qrCode": {
    },
  • "advertisement": {
    },
  • "gelbeSeiten": {
    },
  • "reachEnhancement": {
    },
  • "budget": {
    },
  • "targeting": {
    },
  • "listingPortal": {
    },
  • "mandatoryConnection": {
    },
  • "webSite": {
    },
  • "externalId": "string",
  • "name": "string",
  • "statisticAggregation": {
    },
  • "monoSync": {
    },
  • "reachEnhancementSocial": {
    },
  • "dynamicVideo": {
    },
  • "reachEnhancementLocalCampaigns": {
    },
  • "meinungsmeister": {
    }
}

Response samples

Content type
application/json
{
  • "subscriptionIds": [
    ],
  • "idSet": [
    ],
  • "total": 0
}

PUT Subscription

Method to update some fields belonging to a subscription.

path Parameters
id
required
integer <int64>
Request Body schema: application/json
startDate
required
string <date>

start date of subscription, can not be changed when already started.

endDate
string <date>

end date of subscription runtime, can be empty (means unlimited) or a date in the future. Can not be changed when already reached.

connections
Array of integers <int64> [ items <int64 > ]

array of subscription ids you want connect

externalId
string

external id of subscription, can be used to set order number etc.

name
string

customized name

Responses

Request samples

Content type
application/json
{
  • "startDate": "2019-08-24",
  • "endDate": "2019-08-24",
  • "connections": [
    ],
  • "externalId": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Subscriptions

unsubscribe a subscription

query Parameters
ids
required
string <int64>

comma seperated list of subscription ids

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Subscription Copy

Copies the data of an existing subscription to create a new subscription. This has to be unlocked for the licence the subscription belongs to. The method is only implemented for subscriptions including the products listing, qr code, advertisement, reachEnhancement, budget, targeting and listingPortal. The method returns a list of the new created subscription ids.

path Parameters
id
required
integer <int64>

id of the subscription

query Parameters
locationIds
required
string

comma seperated list of location ids

Request Body schema: application/json
startDate
required
string <date>
endDate
string <date>
externalId
string
name
string

Responses

Request samples

Content type
application/json
{
  • "startDate": "2019-08-24",
  • "endDate": "2019-08-24",
  • "externalId": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Subscription Extended

This response of this method is a generic list of extended subscription information and actions from our 3rd party systems. Those information are especially for enhanced user of the markee. You need to clarify upfront if those information make sense for your use cases.

path Parameters
id
required
integer <int64>

id of the subscription you want to get extended information for

Responses

Response samples

Content type
application/json
{
  • "locationIds": [
    ],
  • "total": 0
}

POST Subscription Action Execution

This methods executes a predefined action for a subscription.

path Parameters
id
required
integer <int64>

id of the subscription

query Parameters
actionId
required
integer

id of the action you want to execute

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Subscription Addon

With this method you're able to activate or deactivate the state of a subscription addon. The addon will run until the end of the montly interval and stop then.

path Parameters
id
required
integer <int64>

subscription id

query Parameters
addonId
required
integer

id of the addon

state
required
boolean

state of addon you want to set

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

budget

budget part of a licence/subscription

GET Budget

get the budget part of a subscription in case the subscription is booked with a multi product licence having a budget included.

path Parameters
id
required
integer <int64>

unique id of the budget subscription

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "budgetTarget": 0,
  • "budgetTargetType": "Call"
}

PUT Budget

You can update a budget of subscription being in the future and not having a fixed budget defined on licence level.

path Parameters
id
required
integer <int64>

unique id of the budget subscription

Request Body schema: application/json
budgetTarget
required
integer

Responses

Request samples

Content type
application/json
{
  • "budgetTarget": 0
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Budget Target Settings

Get the budget target and budget target type of a licence, in case they are fixed. If not, the user needs to set them when subscribing to this licence.

path Parameters
id
required
integer <int64>

licence id

Responses

Response samples

Content type
application/json
{
  • "budgetTargetType": "Call",
  • "budgetTarget": 0
}

targeting

targeting part of a licence/subscription

GET Targeting

Get the targeting details for a subscription product field

path Parameters
id
required
integer <int64>

id of the targeting

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "ignoreTargeting": true,
  • "keywordList": [
    ],
  • "buIdList": [
    ],
  • "buAIdList": [
    ],
  • "kgsList": [
    ],
  • "tIdList": [
    ],
  • "locationList": [
    ],
  • "taoIdList": [
    ]
}

PUT Targeting

Method to update a targeting entry

path Parameters
id
required
integer <int64>

id of the targeting

Request Body schema: application/json
ignoreTargeting
required
boolean
Array of objects (KeywordTargeting)
buIdList
Array of strings
buAIdList
Array of strings
kgsList
Array of strings
tIdList
Array of strings
Array of objects (LocationTargeting)
taoIdList
Array of strings

Responses

Request samples

Content type
application/json
{
  • "ignoreTargeting": true,
  • "keywordList": [
    ],
  • "buIdList": [
    ],
  • "buAIdList": [
    ],
  • "kgsList": [
    ],
  • "tIdList": [
    ],
  • "locationList": [
    ],
  • "taoIdList": [
    ]
}

Response samples

Content type
application/json
{
  • "ignoreTargeting": true,
  • "keywordList": [
    ],
  • "buIdList": [
    ],
  • "buAIdList": [
    ],
  • "kgsList": [
    ],
  • "tIdList": [
    ],
  • "locationList": [
    ],
  • "taoIdList": [
    ]
}

GET Targeting Types

Returns a list of all possible types of targeting for a license or a subscription

query Parameters
id
required
integer <int64>

context id of the license or subscription

contextType
required
string
Enum: "License" "Subscription"

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Targeting Location List

Get location groups you can use for targeting settings

query Parameters
id
required
integer

id of worpace

name
string

name of locationg group

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Targeting Tids

get the categories defined by a tid (= etb no)

query Parameters
filter
string

name filter, can be used to filter for a specific tid

licenseId
required
integer <int64>

id of the licence you want to get the informations for

skip
integer

skip entries

take
integer

take a given number of entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

sea

sea part of a licence/subscription

GET Reach Enhancement

Get the each enhancement for a subscription product field

path Parameters
id
required
integer <int64>

id of the reach enhancement subscription

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "destinationUrl": "string",
  • "displayUrl": "string",
  • "reachEnhancementType": "sea",
  • "info": [
    ],
  • "data": {
    },
  • "suppressLocationExtensions": true,
  • "enabled": true
}

PUT Reach Enhancement

Method to update a reach enhancement destinationUrl and displayUrl

path Parameters
id
required
integer <int64>

id of the reach enhancement subscription

Request Body schema: application/json
destinationUrl
string
displayUrl
string
suppressLocationExtensions
boolean
object

Responses

Request samples

Content type
application/json
{
  • "destinationUrl": "string",
  • "displayUrl": "string",
  • "suppressLocationExtensions": true,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET SEA Segment

Get the segment detail of a segment id. The id path parameter is the unique segment id.

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "segmentId": 0,
  • "segmentTextList": [
    ],
  • "excludedLocations": [
    ],
  • "radius": 0,
  • "bookable": true,
  • "keywordList": [
    ],
  • "parentalTaxonomy": {
    },
  • "key": 0,
  • "value": "string",
  • "name": "string",
  • "segmentStatus": "active",
  • "includedLocations": [
    ],
  • "segmentMessage": "string"
}

PUT SEA Segment

Method to update a segment of a sea campaign. The id path parameter is the unique segment id.

Define either a categoryTaxomoyId (get the available category taxonomies by the method /reachEnhancement/taxonomy) or define a complete customized segment by your own (customSetting) by setting keywords and text elements.

Note: By default the location targeting will be generated by a radius (you can define) around the locations city. As an alternative you can also define an includedLocations list, by setting the corresponding engine codes (see /reachEnhancement/EngineCodes). If you want to to exclude locations actively, you can use the same engine codes for the excludedLocations list.

path Parameters
id
required
integer <int64>
Request Body schema: application/json
categoryTaxonomyId
integer <int32>
name
required
string
radius
integer
Array of objects (KeyValueString)

use engine codes to exclude certain locations

object (CustomSegmentSetting)

Customized segment setting for a sea subscription

Array of objects (KeyValueString)

use engine codes as key values to included certian locations

Responses

Request samples

Content type
application/json
{
  • "categoryTaxonomyId": 0,
  • "name": "string",
  • "radius": 0,
  • "excludedLocations": [
    ],
  • "customSetting": {
    },
  • "includedLocations": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

POST SEA Segment

Create new segments for a sea campaign. The id path parameter is the parental unique rech enhancement id.

Define either a categoryTaxomoyId (get the available category taxonomies by the method /reachEnhancement/taxonomy) or define a complete customized segment by your own (customSetting) by setting keywords and text elements.

Note: If you want to modify the targeted locations do it by using the PUT method for the segment after you created it.

path Parameters
id
required
integer <int64>
Request Body schema: application/json
categoryTaxonomyId
integer <int32>
name
required
string
radius
integer
object (CustomSegmentSetting)

Customized segment setting for a sea subscription

Array of objects (KeyValueString)
Array of objects (KeyValueString)

Responses

Request samples

Content type
application/json
{
  • "categoryTaxonomyId": 0,
  • "name": "string",
  • "radius": 0,
  • "customSetting": {
    },
  • "excludedLocations": [
    ],
  • "includedLocations": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE SEA Segment

Method to delete sea segment entry. The id path parameter is the unique segment id.

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

Get Taxonomy

Get the category taxonomy details

path Parameters
id
required
integer <int64>

id of the category taxonomy

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "segmentTextList": [
    ],
  • "radius": 0,
  • "bookable": true,
  • "keywordList": [
    ],
  • "parentalTaxonomy": {
    },
  • "name": "string"
}

Get Taxonomies

Get all the category taxonomies being defined for this workspace. You can use them for the products regarding reach enhancements.

query Parameters
locationIds
required
string

Comma separated list of location ids of interest

filter
string

optional filter for the name of the taxonomy

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

PUT Segment Pause

Method to pause a segment of a sea campaign

query Parameters
ids
required
string

comma seperated list of segment ids

shallBePaused
required
boolean

indicates if the segments shall be paused or activated

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Engine Codes

Method to get List of all available engine codes that can be used for including or excluding locations in reach enhancement targetings (as sea or socialAd). Code language for the parameter is in ISO 3166-1 alpha-2 country code, if your language is not supported you will get fallback values (german or english).

query Parameters
language
string

ISO 3166-1 alpha-2 country code

skip
integer

skip n entries

take
integer

take n entries

filter
string

filter for name or postcode of location

engine
string
Enum: "google" "facebook"

engine you want to get the codes for, default is google

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Reach Enhancement Segment List

get segment list for the different reach enhancement we have in the system (at the moment sea, socialAd or localCampaign).

path Parameters
id
required
integer

reach enhancement id

query Parameters
filter
string

optional filter for the segment name

skip
integer

optinal integer to skip the first n results

take
integer

optional filter to get only n results

segmentStatus
string
Enum: "active" "paused_pending" "paused" "active_pending" "failed" "invalid"

comma separated list of segment statuses

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

PUT Reach Enhancement Pause

Method to pause a reach enhancement campaign. Reach Enhancement campaigns are different type of advertisement campaigns (SEA, Social Ads, Local Campaigns) that serve ads on different media. This call sets the state to enabled or paused of all the campaigns defined in the ids parameter.

query Parameters
ids
required
string

comma seperated list of reach enhancement ids

shallBePaused
required
boolean

indicates if the campaign shall be paused or activated

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

advertisement

advertisement part of a licence/subscription

GET Advertisement

Get the advertisement details for a subscription product field

path Parameters
id
required
integer <int64>

subscription id of an advertisement subscription

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "destinationUrl": "string",
  • "advertisementType": "string",
  • "textFields": [
    ],
  • "imageFields": [
    ],
  • "priority": "VeryLow",
  • "campaignType": "open"
}

PUT Advertisement

Method to update an advertisment entry

path Parameters
id
required
integer <int64>

subscription id of an advertisement subscription

Request Body schema: application/json
destinationUrl
required
string
Array of objects (KeyValueString)
Array of objects (KeyValueString)
priority
required
string
Enum: "VeryLow" "Low" "Normal" "High" "VeryHigh"

Responses

Request samples

Content type
application/json
{
  • "destinationUrl": "string",
  • "textFields": [
    ],
  • "imageFields": [
    ],
  • "priority": "VeryLow"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Advertisement Field List

Returns a list of all (mandatory and optional) fields you can or need to set for an advertisement subscription

query Parameters
id
required
integer <int64>

context id of the license or subscription

contextType
required
string
Enum: "Subscription" "Licence"

context type

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

calltracking

call tracking parts of licence/subscription

GET CallTracking

method to get a single call tracking object including its extensions

path Parameters
id
required
integer <int64>

id of the subscription the call tracking is connected to

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "redirectPhone": {
    },
  • "basePhone": {
    },
  • "poolSize": 0,
  • "whisper": {
    },
  • "welcomeAnnouncement": {
    },
  • "conversionTrackingProfile": {
    },
  • "conversionTrackingCaller": true,
  • "spamAnalysis": true,
  • "spamProtect": true,
  • "dynamicCallTracking": true,
  • "quarantine": true,
  • "note": "string",
  • "extensions": [
    ],
  • "conversionTracked": true
}

PUT CallTracking

Method to update an existing location call tracking.

path Parameters
id
required
integer <int64>

id of the subscription the call tracking is connected to

Request Body schema: application/json
redirectPhone
required
integer

phone id

whisper
integer

id of whisper template

welcomeAnnouncement
integer

id of welcome announcement template

conversionTrackingProfile
integer

id of conversion tracking profile template

conversionTrackingCaller
boolean
spamAnalysis
boolean
spamProtect
boolean
dynamicCallTracking
boolean
quarantine
boolean
note
string
conversionTracked
boolean

Responses

Request samples

Content type
application/json
{
  • "redirectPhone": 0,
  • "whisper": 0,
  • "welcomeAnnouncement": 0,
  • "conversionTrackingProfile": 0,
  • "conversionTrackingCaller": true,
  • "spamAnalysis": true,
  • "spamProtect": true,
  • "dynamicCallTracking": true,
  • "quarantine": true,
  • "note": "string",
  • "conversionTracked": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT CallTracking Extension

Method to update or insert a list of use cases for a call tracking extensions. Those use cases can be freely defined or current subscriptions.

path Parameters
id
required
integer <int64>

id of the subscription the call tracking is attached to

query Parameters
extensions
required
string

comma seperated list of extensions

Request Body schema: application/json
connectedSubscription
integer <int64>

subscription of this location you want to pass as a use case for this number extension

note
string

Responses

Request samples

Content type
application/json
{
  • "connectedSubscription": 0,
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET CallTracking Whisper

Returns a list of whisper templates. Use the ids in the PUT Call tracking method

query Parameters
id
required
integer <int64>

context id of the current data object

contextType
required
string
Enum: "Company" "Workspace" "Location"

context type the template are attached to

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET CallTracking Welcome

Returns a list of welcome announcement templates. Use the ids in the PUT Call tracking method

query Parameters
id
required
integer <int64>

context id of the current data object

contextType
required
string
Enum: "Company" "Workspace" "Location"

context type the template are attached to

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET CallTracking ConversionTracing

Returns a list of conversion tracking templates. Use the ids in the PUT Call tracking method

query Parameters
id
required
integer <int64>

context id of the current data object

contextType
required
string
Enum: "Company" "Workspace" "Location"

context type the template are attached to

licenceId
required
integer <int64>

license id of a licence containing call tracking

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

listingportal

listingportals parts of licence/subscription

GET ListingPortal

Get the listing portal details for a subscription product field

path Parameters
id
required
integer <int64>

id of subscription representing a listing portal

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "listingPortal": "Firmeneintrag",
  • "textFields": [
    ],
  • "imageFields": [
    ]
}

PUT ListingPortal

Method to update an existing listing portal entry

path Parameters
id
required
integer <int64>

id of subscription representing a listing portal

Request Body schema: application/json
url
required
string <uri>
Array of objects (KeyValueString)
Array of objects (KeyValueString)

Responses

Request samples

Content type
application/json
{
  • "textFields": [
    ],
  • "imageFields": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET ListingPortal Stage List

Gets staged data sets for listing portals which need to be approved/rejected/fixed.

query Parameters
filter
string

a filter for the name or id

license
string
Enum: "FREE" "PREMIUM" "BASIC" "ALLINCLUSIVE"

optional license type filter

listingPortal
string
Enum: "FE_ordering_process" "TA_ordering_process" "TA_power_listing" "Hutzler_ordering_process" "TG_Medien_ordering_process" "VWH_ordering_process"
skip
integer
take
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET ListingPortal Stage

Get entry from stage table

path Parameters
id
required
integer

id of a stage entry

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "source": "FE_ordering_process",
  • "licenseType": "FREE",
  • "externalId": "string",
  • "action": "string",
  • "data": {
    },
  • "name": "string",
  • "approved": true,
  • "sugarImport": true,
  • "note": "string",
  • "date": "2019-08-24"
}

PUT ListingPortal Stage

Update stage table entry

path Parameters
id
required
integer

id of a stage entry

Request Body schema: application/json
id
required
integer <int64>
source
required
string
Enum: "FE_ordering_process" "TA_ordering_process" "TA_power_listing" "Hutzler_ordering_process" "TG_Medien_ordering_process" "VWH_ordering_process"
licenseType
required
string
Enum: "FREE" "BASIC" "PREMIUM" "ALLINCLUSIVE"
externalId
string
action
string
required
object (StageData)
name
string
approved
boolean
sugarImport
required
boolean
note
string
date
required
string <date>

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "source": "FE_ordering_process",
  • "licenseType": "FREE",
  • "externalId": "string",
  • "action": "string",
  • "data": {
    },
  • "name": "string",
  • "approved": true,
  • "sugarImport": true,
  • "note": "string",
  • "date": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT ListingPortal Stage Status

set stage status

path Parameters
id
required
integer

id of stage entry

query Parameters
status
boolean

Status of stage entry

sugarImport
required
boolean

Set boolean whether entry should be imported to sugar

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

website

website parts of licence/subscription

GET Website

Get the website details for a subscription id.

path Parameters
id
required
integer <int64>

subscription id representing a website

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "url": "string",
  • "subDomain": "string",
  • "textFields": [
    ],
  • "imageFields": [
    ],
  • "template": {
    },
  • "siteId": "string"
}

PUT Website

Method to update website data

path Parameters
id
required
integer <int64>

subscription id representing a website

Request Body schema: application/json
Array of objects (KeyValueString)
Array of objects (KeyValueString)

Responses

Request samples

Content type
application/json
{
  • "textFields": [
    ],
  • "imageFields": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Website Configuration

Get configurations for a website licence

path Parameters
id
required
integer <int64>

id of a website licence

Responses

Response samples

Content type
application/json
{
  • "templates": [],
  • "domain": {
    }
}

GET Website Template Settings List

Method to get template Settings

query Parameters
templateId
required
integer

id of the template

subscriptionId
required
integer <int64>

subscription id

Responses

Response samples

Content type
application/json
{
  • "settings": [
    ]
}

Your GET endpoint

End point call for monoSync product Path Param: id: Subscription id

path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "siteId": "string",
  • "accountId": "string"
}

listing

listing parts of licence/subscription

GET Listing Duplicate List

This method provides you all the possible duplicates of a location on the listing publisher portals.

query Parameters
id
required
integer <int64>

id of the location you want to get possible duplicates for

skip
integer

skip n entries

take
integer

take n entries

duplicateStatus
string
Enum: "POSSIBLE_DUPLICATE" "SUPPRESSION_REQUESTED" "SUPPRESSED" "UNAVAILABLE" "DELETED"

comma seperated list of the status of the duplices

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Listing Publisher List

This method provides you all the statuses of each listing publisher portal, which are connected to a markee location by a listing subscription. You can get the information for a location, company or subscription by providing the proper context type and context id. You will only get information as long you have an active listing subscription.

query Parameters
id
required
integer <int64>

context id

contextType
required
string
Enum: "Company" "Location" "Subscription"
skip
integer

skip n entries

take
integer

take n entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

Callback function for GMB Authentication URL

Returns the URL for GMB Authentication

query Parameters
code
string

Authentication code in google callback response

state
string

Data sent from the frontend encoded in base64

Responses

Response samples

Content type
application/json
{
  • "url": "string",
  • "success": "string"
}

GET Listing GMB Verification Methods

This method provides all the possible verification methods for a location for Google My Business, in case a verification is still required.

path Parameters
id
required
integer <int64>

location id

Responses

Response samples

Content type
application/json
{
  • "verificationMethods": {
    }
}

PUT Listing State

Use this method to set the state of a single publisher portal for a location, having an active listing subscription. With that you can control if a portal shall get the data of the location or not.

Set status to false if you want to opt out a portal, to true if you want to opt it in again.

The publisher IDs are provided by the "GET Listing" Call.

query Parameters
id
required
integer <int64>

id of location

publisherId
required
string

id of publisher portal

status
required
boolean

status you want to set

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Listing GMB Connection URL

If a location has an active listing subscription and the owner needs to link her/his GMB profile to it, you can get an url by this method. This url is linking to a connection interface the customer needs to get to log in.

path Parameters
id
required
integer <int64>

location id

Responses

Response samples

Content type
application/json
{
  • "value": "string"
}

GET Listing Facebook Connection URL

If a location has an active listing subscription and the owner needs to link her/his Facebook profile to it, you can get an url by this method. This url is linking to a connection interface the customer needs to get to log in.

path Parameters
id
required
integer <int64>

location id

Responses

Response samples

Content type
application/json
{
  • "value": "string"
}

GET Listing Duplicate

This method provides detailled information about a listing duplicate. To get the duplicate ids, use the method "GET Listing Duplicate List"

path Parameters
id
required
integer <int64>

duplicate id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "publisherId": "string",
  • "locationId": "string",
  • "url": "string",
  • "name": "string",
  • "address": "string",
  • "phone": "string",
  • "latitude": "string",
  • "longitude": "string",
  • "status": "string",
  • "suppressionType": "string",
  • "unavailableReasons": {
    }
}

DELETE Listing Duplicate Delete

With this method you can ignore a duplicate and set the status to deleted.

query Parameters
locationId
required
integer <int64>

location id

duplicateId
required
integer <int64>

id of the duplicate

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Listing Duplicate Suppress

With this method you can suppress a duplicate. The publisher portal will get the information that this duplicate should not be shown anymore.

query Parameters
locationId
required
integer <int64>

location id

duplicateId
required
integer <int64>

id of the duplicate

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Listing GMB Verification

This request will trigger verification codes being sent to the specified addresses, phone numbers, or email addresses.

query Parameters
id
required
integer <int64>

id of the location

method
required
string
Enum: "POSTCARD" "EMAIL" "PHONE" "VETTED_PARTNER"

verification method

recipientEmail
string

Contact Email

recipientName
string

Contact name

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": {
    }
}

POST Listing GMB Verification Completion

Provides verification codes to complete the verification for entities in an account.

query Parameters
id
required
integer <int64>

id of location

verificationCode
required
string

The verification code received from the publisher.

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": {
    }
}

GET Listing GMB Verification status

Returns the status for the Location's GMB Verification

path Parameters
id
required
integer <int64>

markeee location

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "string",
  • "method": "string",
  • "verifyResponse": "string",
  • "verified": true,
  • "gmbLocation": "string",
  • "gmbStatus": "string"
}

PUT Publisher suggestion

This method is called when a user decides to accept or reject a suggestion. It updates the suggestion status from Open to Accepted/Rejected. If it is accepted it also updates that information in the markee DB.

path Parameters
suggestionId
required
string
accept
required
boolean

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Listing GBP Pending actions

Get the next if any pending action for the GBP product

path Parameters
id
required
integer <int64>

location id

Responses

Response samples

Content type
application/json
{
  • "status": "PROCESSING",
  • "profileUrl": "string",
  • "error": {
    },
  • "actionType": "DUPLICATE",
  • "duplicate": [
    ],
  • "selectedDuplicate": {
    },
  • "verify": {
    },
  • "dataConsetellation": true,
  • "possibleToReset": true,
  • "authorizationConsent": true
}

POST Listing GBP action

This method is used to send a response to Google for a pending action

path Parameters
id
required
integer <int64>

location id

Request Body schema: application/json
actionType
required
string
Enum: "DUPLICATE_MATCH" "REQUEST_PIN" "CONFIRM_PIN" "DATA_CONSTELLATION" "RESET" "REQUEST_ADMIN_RIGHTS"
object (GBPDuplicate)

Object used to show the user a list of GBP profiles that may belong to them.

object (GBPRequestPin)

Object that contains the information necessary to use a Google verification method

confirmPin
string
useMarkeeData
boolean

Field used for the DATA_CONSTELLATION action type. It's used to decide which data constellation is the updated one if Google or Markke to sync them.

Responses

Request samples

Content type
application/json
{
  • "actionType": "DUPLICATE_MATCH",
  • "duplicateMatch": {
    },
  • "requestPin": {
    },
  • "confirmPin": "string",
  • "useMarkeeData": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Listing GBP Account

Get the account configured for a specific space

path Parameters
id
required
integer <int32>

space id

query Parameters
contextType
required
string
Enum: "Location" "Company" "Workspace"

Context type (location, company, workspace)

Responses

Response samples

Content type
application/json
{
  • "type": "ACCOUNT_TYPE_UNSPECIFIED",
  • "accountId": "string",
  • "accountName": "string",
  • "primaryOwner": "string",
  • "inherited": true,
  • "subscriptions": [
    ],
  • "locationId": 0,
  • "error": {
    }
}

GET Listing GBP Accessible Account list

Get the list of available GBP accounts accessible with the closest token

path Parameters
id
required
integer <int32>

space id

query Parameters
contextType
required
string
Enum: "Location" "Company" "Workspace"

Context type (location, company, workspace)

skip
integer

skip n elements of the list

take
integer

take n elements of the list

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "error": {
    },
  • "total": 0
}

POST Listing GBP account

This method is used to map a specific GBP account to a space

path Parameters
id
required
integer <int32>

space id

query Parameters
contextType
required
string
Enum: "Location" "Company" "Workspace"

Context type (location, company, workspace)

Request Body schema: application/json
type
required
string
Enum: "ACCOUNT_TYPE_UNSPECIFIED" "PERSONAL" "LOCATION_GROUP" "USER_GROUP" "ORGANIZATION"
accountId
required
string

Google Id of the account.

accountName
required
string

Account name as it appears on Google

primaryOwner
string

Owner of the account

inherited
boolean

If the account is inherited

subscriptions
Array of integers <int64> [ items <int64 > ]

Subscription IDs created with this account on Google.

locationId
integer <int64>

Location ID is optional pass it when needed.

object (GBPError)

Error set by the GBP Service.

Responses

Request samples

Content type
application/json
{
  • "type": "ACCOUNT_TYPE_UNSPECIFIED",
  • "accountId": "string",
  • "accountName": "string",
  • "primaryOwner": "string",
  • "inherited": true,
  • "subscriptions": [
    ],
  • "locationId": 0,
  • "error": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GBPAccountLocations

This endpont is used to list all locations under a GBP account.

Request Body schema: application/json
contextType
required
string
Enum: "Workspace" "Company" "Location"
contextTypeId
required
integer <int64>
account
required
string
nextPageToken
string
includeVerifications
required
boolean

Responses

Request samples

Content type
application/json
{
  • "contextType": "Workspace",
  • "contextTypeId": 0,
  • "account": "string",
  • "nextPageToken": "string",
  • "includeVerifications": true
}

Response samples

Content type
application/json
{
  • "locations": [
    ],
  • "nextPageToken": "string",
  • "totalSize": 0
}

GET Listing Publisher

Use that endpoint to get potential supported publishers for your licence and a specific country.

Be aware: Due to category or data constraints of individual publishers it may happen that locations do not get synced to a publisher even though the licence and country constellation does say so!

path Parameters
licenseId
required
integer <int64>

unqiue license id

query Parameters
countryCode
required
string

ISO 3166-1 alpha-2 country code

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

websitewidget

GET WebsiteWidget Configuration

Get the website widget configuration details. Those are containing all the generic setting of a website widget (you can change them via the update method).

path Parameters
id
required
integer

website widget configuration id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "configuration": {
    },
  • "name": "string",
  • "apiKey": "string",
  • "image": {
    },
  • "subscriptionCount": 0,
  • "websiteWidgetType": "Review",
  • "scriptUrl": "string"
}

PUT WebsiteWidget Configuration

Method to update website widget configuration. You can change the (generic) settings for all subscribed widgets.

path Parameters
id
required
integer

website widget configuration id

Request Body schema: application/json
Array of objects (KeyValueString)

set key values from the website widget type settings

name
required
string
object (ImageInsert)

Responses

Request samples

Content type
application/json
{
  • "configuration": [
    ],
  • "name": "string",
  • "image": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

POST WebsiteWidget Configuration

Method to insert a website widget configuration. You need to define the workspace id, name and the actual type of the configuration in the body.

Each type is having a certain set of generic settings. Get those settings for the type by the api call /websitewidget/type

Request Body schema: application/json
workspaceId
required
integer
websiteWidgetType
required
string
Value: "Review"
Array of objects (KeyValueString)
name
required
string
object (ImageInsert)

Responses

Request samples

Content type
application/json
{
  • "workspaceId": 0,
  • "websiteWidgetType": "Review",
  • "configuration": [
    ],
  • "name": "string",
  • "image": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET WebsiteWidget Configuration List

Get the website widget configuration overview models, those are containing minimal set on information. Use the optional query parameter to filter for the name of the configuration or the workspace it belongs to. Use skip and take for pagination.

query Parameters
workspaceId
required
integer

id of the workspace

filter
string

a filter for the name (workspace or configuration name)

skip
integer

skip n entries

take
integer

take n entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET WebsiteWidget Type

Use this method to get all possible configurations for the website widget types. If you are interested in only a specific type, use the optional filter. Use the settings in the response to create a new website widget configuration with the corresponding POST /websitewidget/configuration method. The settings in the response giving you all the information, which fields you need to define and which values of which types they could have.They may also contain some default values you can change when creating a new configuration.

query Parameters
websiteWidgetType
string
Value: "Review"

optional filter for a specific website widget type

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET WebsiteWidget

Get the website widget details for a subscription (defined by the id path parameter). Those are containing all the generic setting of a website widget (you can change them via the update method of the website widget configuration) and the actual code snippets, which need to be included on the customer's website.

path Parameters
id
required
integer <int64>

subscription id which belongs to a website widget

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "configuration": {
    },
  • "customWidgetId": "string"
}

PUT WebsiteWidget

Method to update website widget data. You can set a customized widget id, which can get used in the javascript in addition to the subscription id. Be aware: There are restrictions for the customized widget id. It needs to be unique through al the widgets of this licence and must not overlap with a subscription id of this licence.

path Parameters
id
required
integer <int64>

subscription id which belongs to a website widget

Request Body schema: application/json
customWidgetId
string

Responses

Request samples

Content type
application/json
{
  • "customWidgetId": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

qr

GET QrCode

Method to achieve a specific qr code

path Parameters
id
required
integer <int64>

id of the subscription the qr code is attached to

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "destinationUrl": "string",
  • "redirectUrl": "string",
  • "note": "string",
  • "qrType": "CustomRedirect"
}

PUT QrCode

Method to update a specific qr code

path Parameters
id
required
integer <int64>

id of the subscription the qr code is attached to

Request Body schema: application/json
name
required
string
destinationUrl
string
note
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "destinationUrl": "string",
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET QrCode Configuration

With this method you can get the configuration of the licence which is including a qr code. This will give you the type of the qr code, depending on this information you need to set a destination url in the POST subscription method (if type is CustomRedirect) or not (if type is ReviewRedirect)

query Parameters
licenceId
required
integer <int64>

id of the licence

Responses

Response samples

Content type
application/json
{
  • "qrType": "CustomRedirect"
}

socialAd

GET Reach Enhancement

Get the each enhancement for a subscription product field

path Parameters
id
required
integer <int64>

id of the reach enhancement subscription

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "destinationUrl": "string",
  • "displayUrl": "string",
  • "reachEnhancementType": "sea",
  • "info": [
    ],
  • "data": {
    },
  • "suppressLocationExtensions": true,
  • "enabled": true
}

PUT Reach Enhancement

Method to update a reach enhancement destinationUrl and displayUrl

path Parameters
id
required
integer <int64>

id of the reach enhancement subscription

Request Body schema: application/json
destinationUrl
string
displayUrl
string
suppressLocationExtensions
boolean
object

Responses

Request samples

Content type
application/json
{
  • "destinationUrl": "string",
  • "displayUrl": "string",
  • "suppressLocationExtensions": true,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Reach Enhancement Segment List

get segment list for the different reach enhancement we have in the system (at the moment sea, socialAd or localCampaign).

path Parameters
id
required
integer

reach enhancement id

query Parameters
filter
string

optional filter for the segment name

skip
integer

optinal integer to skip the first n results

take
integer

optional filter to get only n results

segmentStatus
string
Enum: "active" "paused_pending" "paused" "active_pending" "failed" "invalid"

comma separated list of segment statuses

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Social Ad Target Types

Get different target types for social ad segments. Those types defines the goals of your socia ad campaign

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Segment Social

Create a segment for a social ad campaign. When you create a segment you need to define a target (see GET Social Ad Target Types /reachEnhancement/segment/social/target-types), if needed a special adCategory and of course the facebook page you want to use for the campaign.

path Parameters
reachEnhancementId
required
integer

your social ad campaign id

Request Body schema: application/json
name
required
string
adCategory
string
Enum: "Housing" "Credit" "Employment"

When creating a segment that includes ads that offer credit, employment or housing opportunities, you must choose the category that best describes your ads. Selecting a Special Ad Category will restrict available targeting options.

Age targeting is not allowed. Minimum age must be 18. Maximum age must be 65+. Gender targeting is not allowed. Vertical targeting is not allowed. Affinity targeting is not allowed. Geotargeting by zip code is not allowed. Point and Radius geotargets must have a radius of at least 15 miles.

targetTypeId
required
integer

use this end point to get the target type /reachEnhancement/segment/social/target-types

facebookUrl
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "adCategory": "Housing",
  • "targetTypeId": 0,
  • "facebookUrl": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Segment Social

Get Segment social detail

Note: Get the status of your segment, the adCategory it belongs to (e.g:"Housing"). Get type of advertising this segment is promoting to e.g: "Promote a Facebook page" and the name of the segment.

path Parameters
reachEnhancementId
required
integer

your social ad campaign id

segmentId
required
integer

your segment id of this campaign

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "targetType": {
    },
  • "adCategory": "Housing",
  • "segmentStatus": "active",
  • "segmentMessage": "string",
  • "facebookUrl": "string"
}

PUT Segment Social

Update the segment social name. All other fields of a social segment can not be changed after the creation.

path Parameters
reachEnhancementId
required
integer

your social ad campaign id

segmentId
required
integer

your segment id of this campaign

Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Segment Social Pause

Method to pause a segment social of a social ad campaign.

query Parameters
ids
required
string

comma seperated list of segment ids

shallBePaused
required
boolean

indicates if the segments shall be paused or activated

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

DELETE Segment Social

Method to delete a segment of a social ad campaign.

Note: At least one segment need to stay you can not delete all of them.

path Parameters
segmentId
required
integer

unique segment id you want to delete

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Demographic

Get segment targeting demographic, this includes the age and gender.

path Parameters
segmentId
required
integer

Responses

Response samples

Content type
application/json
{
  • "minAge": 0,
  • "maxAge": 0,
  • "gender": "Male"
}

PUT Demographic

update segment targeting demographic

Note: define the age and gender targeting group of people this segment is referring to

path Parameters
segmentId
required
integer
Request Body schema: application/json
minAge
integer
maxAge
integer
gender
string
Enum: "Male" "Female" "All"

Responses

Request samples

Content type
application/json
{
  • "minAge": 0,
  • "maxAge": 0,
  • "gender": "Male"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Social Ad Targeting Location

Get the location targeting of a segment. This call can be used for all subtypes of reach enhancements campaigns (sea, socialAd)

Note: excludedLocations: the location(city , town, postcode) that will not be effect by the social ad segment includedLocations: the location (city , town, postcode) that will be effect by the social ad segment radius: we use radious of km from your location for the social ad segment

path Parameters
reachEnhancementType
required
string
Enum: "sea" "socialAd"

the campaign type the segment belongs to

segmentId
required
integer

the corresponding segment id of this campaign type

Responses

Response samples

Content type
application/json
{
  • "excludedLocations": [
    ],
  • "includedLocations": [
    ],
  • "radius": 0
}

PUT Social Ad Location

Update the location targeting of a segment

Note: excludedLocations: the location(city , town, postcode) that will not be effect by the Social Ad includedLocations: the location (city , town, postcode) that will be effect by the Social Ad radius: we use radious of km from your location for the Social Ad to effect radius or includedLocations must be defined

KeyValueStrings use the api /reachEnhancement/EngineCodes to get the 'engineCode' which is the 'key' and 'name' which is the 'value', name can be postcode too.

path Parameters
reachEnhancementType
required
string
Enum: "sea" "socialAd"

the campaign type the segment belongs to

segmentId
required
integer

the corresponding segment id of this campaign type

Request Body schema: application/json
Array of objects (KeyValueString)
Array of objects (KeyValueString)
radius
integer

Responses

Request samples

Content type
application/json
{
  • "excludedLocations ": [
    ],
  • "includedLocations": [
    ],
  • "radius": 0
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Vertical Interest List

Get the available list of vertical interest targeting for Social Ad

query Parameters
skip
integer

number of element to skip

take
integer

number of element to take

filter
string

filter for the name

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Interest List

Get the available list of interest targeting for Social Ad

Note: use this api endpoint /targeting/interest/vertical to get the vertical interest list

query Parameters
skip
integer

number of element to skip

take
integer

number of element to take

filter
string

filter for the name

vertical
string

name from the vertical interest list

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Segment Interest

Get the interest list of a social ad segment

path Parameters
segmentId
required
integer

Responses

Response samples

Content type
application/json
{
  • "interests": [
    ]
}

PUT Segment Interest

Put interests for a social ad segment

Note: use this api endpoint /targeting/interest to get a list of available interest

path Parameters
segmentId
required
integer
Request Body schema: application/json
Array of objects (interest)
Array
id
integer <int64>
name
string
parentName
Array of strings

Responses

Request samples

Content type
application/json
{
  • "interests": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Segment Ad List

Get list of ads that belong to a segment

path Parameters
segmentId
required
integer
query Parameters
filter
string

optional filter for the ad headline

skip
integer

optinal integer to skip the first n results

take
integer

optional filter to get only n results

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Segment Ad

Post a new ad for a segment

Note: Ads require different fields base on the target type of the segment.

Each image insert need to be use with the imageType "SegmentAdImage"

The fields you need to define depend on the targe type:

Drive Traffic To The Website the following fields are required : headline, subscription, description, images, destinationUrl, text and call to action

Reach the maximum audience with your ad destinationUrl, at least 2 carrousel cards and call to action

path Parameters
segmentId
required
integer
Request Body schema: application/json
headline
string
subtitle
string
description
string
Array of objects (ImageInsert)
text
string
destinationUrl
string
callToAction
string
Enum: "learn more" "open link" "contact us" "buy now" "book now" "donate now" "shop now"
Array of objects (CarouselCardInsert)

For Carousel Ad a min of 2 carouselCardInsert is needed

addCardProfilePicture
boolean

Add a card at the end with your page profile picture

Responses

Request samples

Content type
application/json
{
  • "headline": "string",
  • "subtitle": "string",
  • "description": "string",
  • "images": [
    ],
  • "text": "string",
  • "destinationUrl": "string",
  • "callToAction": "learn more",
  • "carouselCards": [
    ],
  • "addCardProfilePicture": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Segment Ad

Get detailled information of an ad.

path Parameters
adId
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "headline": "string",
  • "subtitle": "string",
  • "description": "string",
  • "images": [
    ],
  • "text": "string",
  • "destinationUrl": "string",
  • "callToAction": "learn more",
  • "addCardProfilePicture": true,
  • "carouselCards": [
    ]
}

PUT Segment Ad

Update information for an ad.

Note: the same restriction apply here as in the post method for ads. Please read the notes there POST Segment Ad /reachEnhancement/segment/{segmentId}/ad

path Parameters
adId
required
integer
Request Body schema: application/json
headline
string
subtitle
string
description
string
Array of objects (ImageInsert)
text
string
destinationUrl
string
callToAction
string
Enum: "learn more" "open link" "contact us" "buy now" "book now" "donate now" "shop now"
Array of objects (CarouselCardUpdate)
addCardProfilePicture
boolean

Add a card at the end with your page profile picture.

Responses

Request samples

Content type
application/json
{
  • "headline": "string",
  • "subtitle": "string",
  • "description": "string",
  • "images": [
    ],
  • "text": "string",
  • "destinationUrl": "string",
  • "callToAction": "learn more",
  • "carouselCards": [
    ],
  • "addCardProfilePicture": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Segment Ad

Delete an ad

path Parameters
adId
required
integer

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Advanced Targeting

Get the advanced targeting for a segment-

Note: get the confgiured advanced location targeting for a segment e.g:"Everyone who lives in or was recently in this location". matchType: is only for displayAd segments which are not suported yet.

path Parameters
segmentId
required
integer

Responses

Response samples

Content type
application/json
{
  • "targeting": {
    },
  • "matchType": "string"
}

PUT Advanced Targeting

Update the advance targeting for a segment.

To the the available options for the advanced targeting, see: GET Advanced Targeting List /reachEnhancement/segment/targeting/advanced-location

path Parameters
segmentId
required
integer
Request Body schema: application/json
key
required
integer <int64>
value
required
string

Responses

Request samples

Content type
application/json
{
  • "key": 0,
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Advanced Targeting List

Get the possible Advanced Location Targeting e.g: 'Everyone who lives in or was recently in this location' for better location targeting. matchType: is only for displayAds segments, which are not suported yet

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

PUT Reach Enhancement Pause

Method to pause a reach enhancement campaign. Reach Enhancement campaigns are different type of advertisement campaigns (SEA, Social Ads, Local Campaigns) that serve ads on different media. This call sets the state to enabled or paused of all the campaigns defined in the ids parameter.

query Parameters
ids
required
string

comma seperated list of reach enhancement ids

shallBePaused
required
boolean

indicates if the campaign shall be paused or activated

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

statisticaggregation

GET StatisticAggregation Configuration

This method is providing a product configuration for a statistic aggregation licence, indicating which statistical source is configured and which fields need to be defined when subscribing to such a licence.

path Parameters
licenceId
required
integer <int64>

id of a licence containint the statistic aggregation product

Responses

Response samples

Content type
application/json
{
  • "statisticSource": "matchcraft",
  • "configuration": {
    }
}

GET StatisticAggregation

This information is showing you the subscribed data, e.g. the statistic source and the 3rd party system ids. You can not change any of those settings anymore.

path Parameters
subscriptionId
required
integer <int64>

subscription id which belongs to a statistic aggregation

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "statisticSource": "matchcraft",
  • "aggregationStart": "2019-08-24",
  • "configuration": {
    }
}

dynamicvideo

GET Dynamic Video Licence Configuration

With this call you are able to get the configuration of a dnymic video licence.

The response contains all data you can or have to set when subsribing to such a licence.

path Parameters
licenceId
required
integer <int64>

licence id you want to subsribe to

Responses

Response samples

Content type
application/json
{
  • "settings": [
    ]
}

GET Details To Dynamic Video Subscription

This method provides detaillend information of a dynamic video subscription.

In case you enabled the "Youtube Upload" AddOn for your subscription and defined (via PUT Dynamic Video Youtube) a title and description for your youtube video, you will the the corresponding youtube video url in this object too.

Requirement: Either a standard youtube channel authorized on workspace level or a custom youtube channel authorized on location level.

path Parameters
subscriptionId
required
integer <int64>

unique subscription id that belongs to a dynamic video

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "videoUrl": "string",
  • "generatedAt": "2019-08-24T14:15:22Z",
  • "settings": [
    ],
  • "warnings": [
    ],
  • "errors": [
    ],
  • "youtube": {
    },
  • "generateInProgress": true
}

PUT Dynamic Video Changes

You can change the settings (if available) of the dynamic video with this call.

Which settings you can or need to set is defined either in the call "GET Details To Dynamic Video Subscription" or "GET Dynamic Video Licence Configuration".

BE AWARE! The update is not triggering a new video creation generation, it is just changing the settings. If you want to regenerate the video with those updated settings you have to use the call "PUT Dynamic Video Regeneration"

path Parameters
subscriptionId
required
integer <int64>

unique subscription id that belongs to a dynamic video

Request Body schema: application/json
Array of objects (KeyValueString)
Array
key
required
string
value
required
string

Responses

Request samples

Content type
application/json
{
  • "settingValues": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Dynamic Video Regeneration

You can retrigger the video creation with this call.

You can do it whenever you changed the settings or some data that are getting used for those videos have been changed.

As soon as the new video url is available it will be available through the call "GET Details To Dynamic Video Subscription".

Important:

  • When there is a generation still in progress, you can't trigger an additional regeneration!
  • if your video in on youtube it will be deleted in order to upload it use the PUT Youtube Video Action api call action (upload)
path Parameters
subscriptionId
required
integer <int64>

unique subscription id that belongs to a dynamic video

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Youtube Video Data

In case you have an enabled addon "Youtube Upload" for your subscription, you can change your title and description of this video via this update too. Those changes will be not synced to your youtube video , please use the PUT Youtube Video Action api call else nothing will happen to your video

You can also select a custom channel by defining channel id and if you want a playlist too. Make sure though that you go through the oauth flow to authorize markee to sync data to the custom youtube channel.

Important:

  • To upload , delete or update your video on youtube please use the PUT Youtube Video Action api call else nothing will happen to your video

Note:

  • As long as there aren't any youtube data set, we do not upload your dynamic video to youtube, no matter if you do have the addon enabled or not.
path Parameters
subscriptionId
required
integer <int64>

subscription id that belongs to dynamic video

Request Body schema: application/json
title
string

title of the youtube video

description
string

description of the youtube video

object (YoutubeChannel)
privacyLevel
string
Enum: "public" "private" "unlisted"

privacy level defined for the YouTube video, public will be the default

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "customChannel": {
    },
  • "privacyLevel": "public"
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Youtube Video Action

In this api call we are doing different updated depending on the action : * delete: the video will be deleted form YouTube with out effecting the subscription * upload: if you wish for your video to be upload to youtube you need make this action * update: if have changes on you video title , description chanel etc , you need this action to sync the data

API Validation: only if the subscription is not finished and video generation is done and no ather update, upload is taking place at the moment

path Parameters
subscriptionId
required
integer <int64>
query Parameters
action
required
string
Enum: "delete" "upload" "update"

action for a video on YouTube

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

meinungsmeister

GET Meinungsmeister

Get the Meinungsmeister details for a subscription id.

path Parameters
id
required
integer <int64>

subscription Id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "productName": "string",
  • "orderStatus": "new",
  • "orderAmount": 0,
  • "differentDeliveryAddress": {
    },
  • "reviewWidget": "string",
  • "evaluationSheet": {
    },
  • "vendorId": "string"
}

localCampaigns

google ads local campaigns

GET Reach Enhancement

Get the each enhancement for a subscription product field

path Parameters
id
required
integer <int64>

id of the reach enhancement subscription

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "destinationUrl": "string",
  • "displayUrl": "string",
  • "reachEnhancementType": "sea",
  • "info": [
    ],
  • "data": {
    },
  • "suppressLocationExtensions": true,
  • "enabled": true
}

PUT Reach Enhancement

Method to update a reach enhancement destinationUrl and displayUrl

path Parameters
id
required
integer <int64>

id of the reach enhancement subscription

Request Body schema: application/json
destinationUrl
string
displayUrl
string
suppressLocationExtensions
boolean
object

Responses

Request samples

Content type
application/json
{
  • "destinationUrl": "string",
  • "displayUrl": "string",
  • "suppressLocationExtensions": true,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Reach Enhancement Segment List

get segment list for the different reach enhancement we have in the system (at the moment sea, socialAd or localCampaign).

path Parameters
id
required
integer

reach enhancement id

query Parameters
filter
string

optional filter for the segment name

skip
integer

optinal integer to skip the first n results

take
integer

optional filter to get only n results

segmentStatus
string
Enum: "active" "paused_pending" "paused" "active_pending" "failed" "invalid"

comma separated list of segment statuses

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Information of the Language Targeting of the Campaign

Get the Language Targeting information of a Local Campaign. This is a type of targeting based on a set of language codes according to ISO 639-1. BE AWARE! This targeting does not translate your ads to the languages you target, the ads will be shown in the language they were created. The targeting is to focus on users with this languages as preference on their devices. By default the campaigns don't have this type of targeting so they will focus on all languages without preferences. Only one set of languages can be set for a single campaign. This call gets you the set of language codes that a certain local campaign identified by the reachEnhancementId parameter is targeting.

path Parameters
reachEnhancementId
required
integer <int64>
Example: 1234567890

Id of the reach enhancement local campaign of interest

Responses

Response samples

Content type
application/json
{
  • "languages": [
    ],
  • "id": 0,
  • "subscriptionReachEnhancementId": 0,
  • "negative": true,
  • "criterionType": "Proximity"
}

POST Create language targeting for a local campaign

Create language targeting for a Local Campaign. This is a type of targeting based on a set of language codes according to ISO 639-1. BE AWARE! This targeting does not translate your ads to the languages you target, the ads will be shown in the language they were created. The targeting is to focus on users with this languages as preference on their devices. By default the campaigns don't have this type of targeting so they will focus on all languages without preferences. Only one set of languages can be set for a single campaign. This call will cause the local campaign identified by the reachEnhancementId parameter to target users with any of the languages in the set as preference.

path Parameters
reachEnhancementId
required
integer <int64>
Example: 1234567890

Id of the reach enhancement local campaign of interest

Request Body schema: application/json

Data for the new language Criterion

languages
required
Array of strings [ 1 .. 9 ] items
Items Enum: "de" "en" "fr" "es" "it" "nl" "pl" "pt" "et"

Responses

Request samples

Content type
application/json
{
  • "languages": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Update the language targeting radius

Update the language targeting of a Local Campaign. This is a type of targeting based on a set of language codes according to ISO 639-1. BE AWARE! This targeting does not translate your ads to the languages you target, the ads will be shown in the language they were created. The targeting is to focus on users with this languages as preference on their devices. By default the campaigns don't have this type of targeting so they will focus on all languages without preferences. Only one set of languages can be set for a single campaign. This call will update the set of languages that the local campaign identified by the reachEnhancementId parameter targets.

path Parameters
reachEnhancementId
required
integer <int64>
Example: 1234567890

Id of the reach enhancement local campaign of interest

Request Body schema: application/json

Data for the new Language Criterion

languages
required
Array of strings [ 1 .. 9 ] items
Items Enum: "de" "en" "fr" "es" "it" "nl" "pl" "pt" "et"

Responses

Request samples

Content type
application/json
{
  • "languages": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Remove the language targeting of a Local Campaign

Delete the language targeting of a Local Campaign. This is a type of targeting based on a set of language codes according to ISO 639-1. BE AWARE! This targeting does not translate your ads to the languages you target, the ads will be shown in the language they were created. The targeting is to focus on users with this languages as preference on their devices. By default the campaigns don't have this type of targeting so they will focus on all languages without preferences. Only one set of languages can be set for a single campaign. This call will delete any language specific targeting on the local campaign identified by the reachEnhancementId parameter, this will cause the campaign to go back to default behavior, this means targeting all languages.

path Parameters
reachEnhancementId
required
integer <int64>
Example: 1234567890

Id of the reach enhancement local campaign of interest

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Create a segment (Ad Group) for a local campaign

Creates a segment (Ad Group) for a Local Campaign. Ad groups are a way or grouping ads under a same place identified by a name. This call will create an ad group with the provided name for the local campaign identified by the reachEnhancementId parameter.

path Parameters
reachEnhancementId
required
integer <int64>
Example: 1234567890

Id of the reach enhancement local campaign of interest

Request Body schema: application/json

Data of a segment (Ad Group)

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Information of a single segment (Ad Group)

Get a segment (Ad Group) of a local campaign by ID. Ad groups are a way or grouping ads under a same place identified by a name. This call fetches the name and status of a specific ad group identified by the segmentId on the path.

path Parameters
segmentId
required
integer <int64>
Example: 1234567890

Id of the segment (Ad Group) of interest

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "subscriptionReachEnhancementId": 0,
  • "name": "string",
  • "segmentStatus": "active",
  • "segmentMessage": "string"
}

PUT Update the information of a segment (Ad Group) of a local campaign

Update a segment (Ad Group) of a local campaign. Ad groups are a way or grouping ads under a same place identified by a name. This call updates the name of a specific ad group identified by the segmentId on the path.

path Parameters
segmentId
required
integer <int64>
Example: 1234567890

Id of the segment (Ad Group) of interest

Request Body schema: application/json

Data of a segment (Ad Group)

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Removes a segment (Ad Group) from a local campaign

Delete a segment (Ad Group) from a Local Campaign. Ad groups are a way or grouping ads under a same place identified by a name. This call deletes the ad group identified by the segmentId on the path. BE AWARE! If there is any ads under this ad group they will also get deleted.

path Parameters
segmentId
required
integer <int64>
Example: 1234567890

Id of the ad group of interest

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET A list of Ads from a segment (Ad Group)

Get all the Ads of a segment (Ad Group). Local Ads are a type of ads that have images, text and video assets. This ads use 3 different types of Images (LocalAdMarketingImages, LocalAdSquareMarketingImages and LocalAdLogoImages), it is required at least one image of the LocalAdLogoImage type and at least one image of the LocalAdMarketingImages type. LocalAdMarketingImages images must have a 1.91:1 ratio with a 1% tolerance and must be at least 600X314. LocalAdSquareMarketingImages images must have a 1:1 ratio with a 1% tolerance and must be at least 314X314. LocalAdLogoImagesimages must have a 1:1 ratio with a 1% tolerance and must be at least 116X116. This call gets all the information of all the local ads under the segment(ad group) identified by the segmentId parameter.

path Parameters
segmentId
required
integer <int64>
Example: 1234567890

Id of the segment (Ad Group) of interest

query Parameters
skip
integer <int32>
Example: skip=1

Optional integer to skip the first n results

take
integer <int32>
Example: take=1

Optional integer to get only n results

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Create a Ad for a local campaign

Creates an Ad for a Local Campaign. Local Ads are a type of ads that have images, text and video assets. This ads use 3 different types of Images (LocalAdMarketingImages, LocalAdSquareMarketingImages and LocalAdLogoImages), it is required at least one image of the LocalAdLogoImage type and at least one image of the LocalAdMarketingImages type. LocalAdMarketingImages images must have a 1.91:1 ratio with a 1% tolerance and must be at least 600X314. LocalAdSquareMarketingImages images must have a 1:1 ratio with a 1% tolerance and must be at least 314X314. LocalAdLogoImagesimages must have a 1:1 ratio with a 1% tolerance and must be at least 116X116. This call creates an ad under the segment(ad group) identified by the segmentId parameter.

path Parameters
segmentId
required
integer <int64>
Example: 1234567890

Id of the segment (Ad Group) of interest

Request Body schema: application/json

Data of a local ad

urls
required
Array of strings non-empty
headlines
required
Array of strings [ 1 .. 5 ] items [ items [ 1 .. 30 ] characters ]
descriptions
required
Array of strings [ 1 .. 5 ] items [ items [ 1 .. 60 ] characters ]
callToActions
required
Array of strings [ 1 .. 5 ] items [ items [ 1 .. 11 ] characters ]
required
Array of objects (ImageInsert) [ 1 .. 20 ] items
required
Array of objects (ImageInsert) [ 1 .. 5 ] items
videos
required
Array of strings [ 1 .. 20 ] items

Responses

Request samples

Content type
application/json
{
  • "urls": [
    ],
  • "headlines": [
    ],
  • "descriptions": [
    ],
  • "callToActions": [
    ],
  • "marketingImages": [
    ],
  • "logoImages": [
    ],
  • "videos": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Information of a Single Local Ad

Get an Ad of a local campaign by ID. Local Ads are a type of ads that have images, text and video assets. This ads use 3 different types of Images (LocalAdMarketingImages, LocalAdSquareMarketingImages and LocalAdLogoImages), it is required at least one image of the LocalAdLogoImage type and at least one image of the LocalAdMarketingImages type. LocalAdMarketingImages images must have a 1.91:1 ratio with a 1% tolerance and must be at least 600X314. LocalAdSquareMarketingImages images must have a 1:1 ratio with a 1% tolerance and must be at least 314X314. LocalAdLogoImagesimages must have a 1:1 ratio with a 1% tolerance and must be at least 116X116. This call gets the information of the ad identified by the localAdId parameter.

path Parameters
localAdId
required
integer <int64>
Example: 1234567890

Id of the ad of interest

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "segmentId": 0,
  • "urls": [
    ],
  • "headlines": [
    ],
  • "descriptions": [
    ],
  • "callToActions": [
    ],
  • "marketingImages": [
    ],
  • "logoImages": [
    ],
  • "videos": [
    ]
}

PUT Update the Information of a local ad

Update a Local Ad. Local Ads are a type of ads that have images, text and video assets. This ads use 3 different types of Images (LocalAdMarketingImages, LocalAdSquareMarketingImages and LocalAdLogoImages), it is required at least one image of the LocalAdLogoImage type and at least one image of the LocalAdMarketingImages type. LocalAdMarketingImages images must have a 1.91:1 ratio with a 1% tolerance and must be at least 600X314. LocalAdSquareMarketingImages images must have a 1:1 ratio with a 1% tolerance and must be at least 314X314. LocalAdLogoImagesimages must have a 1:1 ratio with a 1% tolerance and must be at least 116X116. This call updates the information of the ad identified by the localAdId parameter.

path Parameters
localAdId
required
integer <int64>
Example: 1234567890

Id of the ad of interest

Request Body schema: application/json

Data of a local ad

urls
required
Array of strings non-empty
headlines
required
Array of strings [ 1 .. 5 ] items [ items [ 1 .. 30 ] characters ]
descriptions
required
Array of strings [ 1 .. 5 ] items [ items [ 1 .. 60 ] characters ]
callToActions
required
Array of strings [ 1 .. 5 ] items [ items [ 1 .. 11 ] characters ]
required
Array of objects (ImageInsert) [ 1 .. 20 ] items
required
Array of objects (ImageInsert) [ 1 .. 5 ] items
videos
required
Array of strings [ 1 .. 20 ] items

Responses

Request samples

Content type
application/json
{
  • "urls": [
    ],
  • "headlines": [
    ],
  • "descriptions": [
    ],
  • "callToActions": [
    ],
  • "marketingImages": [
    ],
  • "logoImages": [
    ],
  • "videos": [
    ]
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Removes a local ad

Delete a Local Ad. Local Ads are a type of ads that have images, text and video assets. This ads use 3 different types of Images (LocalAdMarketingImages, LocalAdSquareMarketingImages and LocalAdLogoImages), it is required at least one image of the LocalAdLogoImage type and at least one image of the LocalAdMarketingImages type. LocalAdMarketingImages images must have a 1.91:1 ratio with a 1% tolerance and must be at least 600X314. LocalAdSquareMarketingImages images must have a 1:1 ratio with a 1% tolerance and must be at least 314X314. LocalAdLogoImagesimages must have a 1:1 ratio with a 1% tolerance and must be at least 116X116. This call deletes the ad identified by the localAdId parameter.

path Parameters
localAdId
required
integer <int64>
Example: 1234567890

Id of the ad of interest

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Segment Local Campaigns Pause

Method to pause segment(ad group)(s) of a local campaign. Ad groups are a way or grouping ads under a same place identified by a name. This call sets the state to enabled or paused of all the segments(ad groups) defined in the ids parameter.

query Parameters
ids
required
string

comma seperated list of segment ids

shallBePaused
required
boolean

indicates if the ad group shall be paused or activated

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

PUT Reach Enhancement Pause

Method to pause a reach enhancement campaign. Reach Enhancement campaigns are different type of advertisement campaigns (SEA, Social Ads, Local Campaigns) that serve ads on different media. This call sets the state to enabled or paused of all the campaigns defined in the ids parameter.

query Parameters
ids
required
string

comma seperated list of reach enhancement ids

shallBePaused
required
boolean

indicates if the campaign shall be paused or activated

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

GET Reach Enhancement Budget

Get the budget of a reach enhancement campaign. All the reach enhancement campaigns (SEA, Social Ads, Local Campaigns) use a budget to serve ads. Depending on the campaign type some budget target types might not be supported. Local Campaigns use only Euro as a budget target type. This call gets the information of a budget of the campaign identified by the reachEnhancementId parameter.

path Parameters
reachEnhancementId
required
integer <int64>

id of the reach enhancement subscription

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "budgetTarget": 0,
  • "budgetTargetType": "Call",
  • "budgetPeriod": "Daily",
  • "budgetDeliveryMethod": "Standard"
}

PUT Reach Enhancement Budget

Update the budget of a reach enhancement campaign. All the reach enhancement campaigns (SEA, Social Ads, Local Campaigns) use a budget to serve ads. Depending on the campaign type some budget target types might not be supported. Local Campaigns use only Euro as a budget target type. This call updates the budget target of the campaign identified by the reachEnhancementId parameter.

path Parameters
reachEnhancementId
required
integer <int64>

id of the reach enhancement subscription

Request Body schema: application/json

Budget Target

budgetTarget
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "budgetTarget": 0
}

Response samples

Content type
application/json
{
  • "value": 0
}

gbm

Get conversation by id

returns messages by a conversation ID.

path Parameters
conversationId
required
string

conversation_id

channelId
required
integer

channel_id i.e. google, facebook, whatsapp etc

query Parameters
take
integer [ 0 .. 50 ]

takes a given number of entries, the default value of take is 20

skip
integer

skip entries

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

GET conversations

returns a list of google business message grouped by conversations

query Parameters
contextIds
required
string <int64>

comma separated location_ids or company_ids

take
integer [ 0 .. 50 ]

takes a given number of entries, the default value of take is 10

skip
integer

skip entries

sortDirection
string
Enum: "asc" "desc"

asc or desc for ascending or descending

isAnswered
boolean

true for yes and false otherwise

channelId
integer

channel_id i.e. google, facebook, whatsapp. all channels if not applied

contextType
required
string
Enum: "Location" "Company"

context type (location or company)

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "data": [
    ]
}

GET a message by ID

returns a specific message

path Parameters
channelId
required
integer

channel_id i.e google , facebook, whatsapp etc

conversationId
required
string

covnersation_id

messageId
required
string

message_id

Responses

Response samples

Content type
application/json
{
  • "conversationId": "string",
  • "messageId": "string",
  • "text": "string",
  • "image": "string",
  • "sendTime": "string"
}

update the conversation status

this endpoint change the status of the conversation from read to un-read and vise versa

path Parameters
conversationId
required
string

conversation_id

channelId
required
integer

channel_id i.e. google, facebook, whatsapp etc

status
required
boolean

either true for read or false for un-read message

Responses

Response samples

Content type
application/json
{
  • "value": "string"
}

POST new message

this endpoint creates a message under an existing conversation.

path Parameters
conversationId
required
string

conversation ID

channelId
required
integer

channel_id i.e. google, facebook whatsapp etc

agentId
required
integer <int64>

agent_id

Request Body schema: application/json
text
string

the message

object (ImageInsert)

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "image": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

Messaging Channels

This endpoint returns the messaging channels

Responses

Response samples

Content type
application/json
[
  • {
    }
]

POST New Message Configuration

This is endpiont is used to store information for configuring the messages channels

path Parameters
locationId
required
integer <int64>

locationId

Request Body schema: application/json

Request model for messages configuration

welcomeMessage
required
string
offlineMessage
required
string
privacyPolicyUrl
required
string
object (ImageInsert)
required
Array of objects (HumanMessagingAvailability)
agentType
required
string

agent_type is required

Responses

Request samples

Content type
application/json
{
  • "welcomeMessage": "string",
  • "offlineMessage": "string",
  • "privacyPolicyUrl": "string",
  • "logo": {
    },
  • "availableHours": [
    ],
  • "agentType": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET message agents

this endpoints is used to retrieve agents information for the provided subscription_id

query Parameters
locationId
required
integer <int64>

location_id

agentId
integer <int64>

agent_id

take
integer

takes a given number of entries, the default value of take is 10

skip
integer

skip entries

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ]
}

PUT message configuration

this endpoint is used to update the agents configuration

path Parameters
locationId
required
integer <int64>

location_id by which the agent is attached

agentId
required
integer <int64>

agent_id

Request Body schema: application/json

the model is to set the values an agent to be updated

welcomeMessage
required
string
offlineMessage
required
string
privacyPolicyUrl
required
string
object (ImageInsert)
required
Array of objects (HumanMessagingAvailability)
agentType
required
string

agent_type is required

Responses

Request samples

Content type
application/json
{
  • "welcomeMessage": "string",
  • "offlineMessage": "string",
  • "privacyPolicyUrl": "string",
  • "logo": {
    },
  • "availableHours": [
    ],
  • "agentType": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET agent types

this endpoint lists the agent_types

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GET brands

this endpoint lists all avaialble.

query Parameters
brandId
integer <int64>

brand_id

take
integer

takes a given number of entries, the default value of take is 10

skip
integer

skip entries

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ]
}

internal

API Calls which no external customer needs to use

PUT Internal Monitoring

Method to put Monitoring Messages

path Parameters
id
required
integer <int64>

it of the Monitoring Error

Request Body schema: application/json

monitoring

active
required
boolean

Responses

Request samples

Content type
application/json
{
  • "active": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

workspacesetting

GET Workspace Setting List

This call provides a list of settings. You need to provide a workspace id and you get all the settings of this workspaces and all underneath.

query Parameters
id
required
integer

id of the workspace

skip
integer

skip n elements of the list

take
integer

take n elements of the list

filter
string

fuzzy filter for the name of the workspace

whiteLabeled
boolean

filter if workspace settings having a white label definition

Responses

Response samples

Content type
application/json
No sample

GET Admin Workspace Setting

get detail for workspace setting

Path Param: id: the id of the workspace setting

path Parameters
id
required
integer <int64>

id of the workspace setting

Responses

Response samples

Content type
application/json
No sample

DELETE Admin Workspace Setting

delete a workspace setting. This workspace setting will not be available afterwards anymore!

Path Param: id: id of the workspace setting

path Parameters
id
required
integer <int64>

id of the workspace setting

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Admin Workspace Setting

update a workspace setting

Path Param: id: the id of the workspace setting

path Parameters
id
required
integer <int64>

id of the workspace setting

Request Body schema: application/json

workspace setting object

required
object (GeneralSettingUpdate)
required
object (PasswordPolicySettingUpdate)
required
object (EmailSettingUpdate)
object (SupportSettingUpdate)
object (SelfServiceSetting)

Responses

Request samples

Content type
application/json
{
  • "generalSetting": {
    },
  • "passwordPolicySetting": {
    },
  • "emailSetting": {
    },
  • "supportSetting": {
    },
  • "selfServiceSetting": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

POST Admin Workspace Setting

create a new Space Setting for a Workspace

Path Param: id: workspace id

path Parameters
id
required
integer <int64>

id of the workspace setting

Request Body schema: application/json
imprintUrl
required
string
privacyUrl
required
string
termsConditionsUrl
string
emailName
required
string
emailSender
required
string
emailFooter
required
string
required
object (ImageInsert)
supportPhone
string
supportEmail
string
language
string
Enum: "de" "en" "fr" "es-EM" "it" "nl" "pl" "pt-PT" "et" "cs" "ru" "lv"

this language can be used as initial language for the user registrations, this means the user doest not need to set it after the registration finished

passwordMinLength
integer
passwordUppercaseChar
integer
passwordLowercaseChar
integer
passwordDigits
integer
passwordSpecialChar
integer

Responses

Request samples

Content type
application/json
{
  • "imprintUrl": "string",
  • "privacyUrl": "string",
  • "termsConditionsUrl": "string",
  • "emailName": "string",
  • "emailSender": "string",
  • "emailFooter": "string",
  • "emailLogo": {
    },
  • "supportPhone": "string",
  • "supportEmail": "string",
  • "language": "de",
  • "passwordMinLength": 0,
  • "passwordUppercaseChar": 0,
  • "passwordLowercaseChar": 0,
  • "passwordDigits": 0,
  • "passwordSpecialChar": 0
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Admin Workspace Setting Whitelabel Status

set whitelabel setting status to activate this setting. This will take a while until its active!

path Parameters
id
required
integer <int64>

id of the workspace setting object

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Admin Workspace Setting Domain Status

get status if domain is valid and pointing to us.

path Parameters
id
required
integer <int64>

id of the space setting

Responses

Response samples

Content type
application/json
{
  • "value": true
}

PUT Admin Workspace Setting White Label

update a whitelabel setting

path Parameters
id
required
integer <int64>

the id of the workspace setting object

Request Body schema: application/json

white label setting object

primaryColor
string
loginBackgroundColor
string
domain
required
string
object (ImageInsert)
object (ImageInsert)
googleMapApiKey
string
redirectUrl
string

Responses

Request samples

Content type
application/json
{
  • "primaryColor": "string",
  • "loginBackgroundColor": "string",
  • "domain": "string",
  • "logo": {
    },
  • "favicon": {
    },
  • "googleMapApiKey": "string",
  • "redirectUrl": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Admin Workspace Setting White Label

delete a whitelabel setting. This whitelabel setting will not be available afterwards anymore!

path Parameters
id
required
integer <int64>

the id of the workspace setting object

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Admin Workspace Setting White Label

create a new WhiteLabel Setting for a Workspace

path Parameters
id
required
integer <int64>

the id of the workspace setting object

Request Body schema: application/json

white label setting insert object

primaryColor
string
loginBackgroundColor
string
domain
required
string
object (ImageInsert)
object (ImageInsert)

Responses

Request samples

Content type
application/json
{
  • "primaryColor": "string",
  • "loginBackgroundColor": "string",
  • "domain": "string",
  • "logo": {
    },
  • "favicon": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

POST Create a new custom field

This endpoint creates a new company custom field for a workspace. The configuration of this custom field is saved at space settings and its information is retrieved through get workspace call. If the custom field is of type "select" or "multi_select" a validation is done that attribute allowed values has at least one value. Name attribute is an array of keyValueLanguage and it can has the name in different languages and the corresponding language code. There is a validation if the languag is supported.

path Parameters
wssId
required
integer <int64>
Request Body schema: application/json

Information about custom field.

required
Array of objects (KeyValueLanguage)
type
required
string
Enum: "text" "int" "numeric" "boolean" "image" "text[]" "select" "multi_select" "url" "html" "color"
allowedValues
Array of strings
required
required
string
Enum: "true" "false"
url
string
parentKey
string
httpAction
string

Responses

Request samples

Content type
application/json
{
  • "name": [
    ],
  • "type": "text",
  • "allowedValues": [
    ],
  • "required": "true",
  • "url": "string",
  • "parentKey": "string",
  • "httpAction": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Removes a custom field

This endpoint deletes a company related custom field for a specific workspace and all the information that might have been saveed for this custom field at companies under that workspace. The delete won't take place if there are active subscription under this workspace.

path Parameters
wssId
required
integer <int64>

id of the workspace settings

key
required
string

key of the custom field

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Update a custom field

This endpoint updates the attributes of name and required of custom fields. Name attribute is an array of keyValueLanguage and it can has the name in different languages and the corresponding language code. There is a validation if the languag is supported.

path Parameters
wssId
required
integer <int64>

id of the workspace settings

key
required
string

key of the custom field

Request Body schema: application/json

Information for updateing custom field

required
Array of objects (KeyValueLanguage)
required
required
string
Enum: "true" "false"

Responses

Request samples

Content type
application/json
{
  • "name": [
    ],
  • "required": "true"
}

Response samples

Content type
application/json
{
  • "value": 0
}

listingscan

GET Admin Listing Scan

Get a list of available listing scan elements.

query Parameters
skip
integer

skip entries

take
integer

take a given number of entries

filter
string

a filter for the scan id or the scan name

workspaceId
string

filter for workspace ids as comma separated list

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Admin Listing Scan

create a new listing scan element

Request Body schema: application/json

listing scan insert object

name
required
string
required
Array of objects (KeyValueInt)
allowedDomain
required
Array of strings
language
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "includedWorkspaces": [
    ],
  • "allowedDomain": [
    ],
  • "language": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Admin Listing Scan Element

get a listing scan element by id

path Parameters
id
required
integer <int32>

the id of the listing scan item

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "scanAPIKey": "string",
  • "includedWorkspaces": [
    ],
  • "excludedPortals": [
    ],
  • "allowedDomain": [
    ],
  • "logo": {
    },
  • "showErrorPortals": true,
  • "activeProducts": true,
  • "language": "string"
}

PUT Admin Listing Scan Element

update a listing scan object

path Parameters
id
required
integer <int32>

the id of the listing scan item

Request Body schema: application/json

listing scan update object

name
required
string
required
Array of objects (KeyValueInt)
excludedPortals
Array of strings
allowedDomain
required
Array of strings
object (ImageInsert)
showErrorPortals
boolean
activeProducts
boolean
language
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "includedWorkspaces": [
    ],
  • "excludedPortals": [
    ],
  • "allowedDomain": [
    ],
  • "logo": {
    },
  • "showErrorPortals": true,
  • "activeProducts": true,
  • "language": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Admin Listing Scan Element

delete method to delete listing scan object

path Parameters
id
required
integer <int32>

the id of the listing scan item

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

contentcampaign

GET Admin Content Campaign

get a Content Campaign element by id Path Params: id: the id of the Content Campaign element

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "status": "active",
  • "startDate": "2019-08-24",
  • "startTime": "14:15:22Z",
  • "endDate": "2019-08-24",
  • "endTime": "14:15:22Z",
  • "workspace": {
    },
  • "template": {
    },
  • "contentElements": [
    ],
  • "email": {
    },
  • "logo": {
    },
  • "privacyUrl": "string",
  • "imprintUrl": "string",
  • "targetAllLocations": true,
  • "targetedMails": 0,
  • "feedback": 0
}

PUT Admin Content Campaign

update an existing content campaign element Path Params: id: id of the content campaig

path Parameters
id
required
integer <int64>
Request Body schema: application/json

content campaign update object

name
required
string
workspaceId
required
integer
startDate
string <date>
startTime
string <time>
endDate
string <date>
endTime
string <time>
status
required
string
Enum: "active" "done" "planned" "cancelled" "draft"
object (KeyValueInt)

key value, containt an integer as key (e.g. an id) and a value (e.g. a name)

Array of objects (KeyValueInt)
object (ContentCampaignEmail)
object (ImageInsert)
privacyUrl
string
imprintUrl
string
targetAllLocations
required
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "workspaceId": 0,
  • "startDate": "2019-08-24",
  • "startTime": "14:15:22Z",
  • "endDate": "2019-08-24",
  • "endTime": "14:15:22Z",
  • "status": "active",
  • "template": {
    },
  • "contentElements": [
    ],
  • "email": {
    },
  • "logo": {
    },
  • "privacyUrl": "string",
  • "imprintUrl": "string",
  • "targetAllLocations": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE Admin Content Campaign

delete a complete content campaign. The campaign will not be available afterwards anymore! Path Params: id: id of the content campaign object

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Admin Content Campaign

create a new Content Campaign element Path Params: id: workspace id

path Parameters
id
required
integer <int64>
Request Body schema: application/json

content campaign insert object

name
required
string
startDate
string <date>
startTime
string <time>
endDate
string <date>
endTime
string <time>
status
required
string
Enum: "planned" "draft"
object (KeyValueInt)

key value, containt an integer as key (e.g. an id) and a value (e.g. a name)

Array of objects (KeyValueInt)
object (ContentCampaignEmail)
object (ImageInsert)
privacyUrl
string
imprintUrl
string
targetAllLocations
required
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "startDate": "2019-08-24",
  • "startTime": "14:15:22Z",
  • "endDate": "2019-08-24",
  • "endTime": "14:15:22Z",
  • "status": "planned",
  • "template": {
    },
  • "contentElements": [
    ],
  • "email": {
    },
  • "logo": {
    },
  • "privacyUrl": "string",
  • "imprintUrl": "string",
  • "targetAllLocations": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Admin Content Campaign Cancel

cancel an existing content campaign

path Parameters
id
required
integer <int64>

id of the content campaign

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Admin Content Campaign Element Available

get available elements of a content campaign

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Admin Content Campaign Workspace

get a list of content campaigns for a workspace

query Parameters
id
required
integer <int64>

workspace id

skip
integer <int32>

skip entries

take
integer <int32>

take a given number of entries

status
string
Enum: "active" "done" "planned" "cancelled"

status filter

filter
string

filter for the content campaign name

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Admin Content Campaign Config

get the content campaign configuration for a landing page. You need to authenticate with a token

Responses

Response samples

Content type
application/json
{
  • "type": [
    ],
  • "location": {
    },
  • "address": {
    },
  • "contact": {
    },
  • "logo": "string",
  • "privacyLink": "string",
  • "impressumLink": "string",
  • "valid": true,
  • "context": {
    }
}

GET Admin Content Campaign Template

get a Available Templates by workspace id

path Parameters
id
required
integer <int64>

the id of the workspace

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

userRequest

Used to send email to user to ask for consent (Email opt in/out)

POST User email consent

Sends email through Keycloak to ask for the logged user's consent to receive emails. User's salutation information is required to send the email.

query Parameters
domain
required
string

white label domain name

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

oauth

Used for oauth ientation

get token

Request token for third party content

query Parameters
featureType
required
integer <int64>

Type of identifier for markee feature using oauth

featureId
required
string

ID for the markee feature using oauth

contextType
required
string
Enum: "LOCATION" "COMPANY" "WORKSPACE"

Context type (location, company, workspace)

contextId
required
integer <int64>

ID for context

Responses

Response samples

Content type
application/json
Example
"string"

revoke token

Revoke permissions for third party access to the third party product corresponding to the markee identifiers

query Parameters
featureType
required
integer <int64>

Type of identifier for markee feature using oauth

featureId
required
string

ID for the markee feature using oauth

contextType
required
string
Enum: "LOCATION" "COMPANY" "WORKSPACE"

Context type (location, company, workspace)

contextId
required
integer <int64>

ID for context

providerUserId
required
string

Provider User ID, the ID you get while getting the access token.

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

check url

Validate landing page/callback url data for third party authorization

path Parameters
data
required
string

Responses

Response samples

Content type
application/json
Example
"string"

social

GET Social Post List

Method to get post list

query Parameters
contextIds
required
string <int64>

id of location or company

take
integer

take a given number of entries

skip
integer

skip entries

sortColumn
string
Enum: "postId" "socialPortal" "canDelete" "dateTime" "status"

name of the column which gets sorted, need to be one of the fields of the model schema of the response

sortDirection
string
Enum: "asc" "desc"

asc or desc for ascending or descending

contextType
required
string
Enum: "Location" "Company"

context type (location,company)

isPlanned
boolean

take the feature, past or all date of post

socialPortal
string

social portal names as a comma separated list

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Social Post

Method to Post in social

query Parameters
contextIds
required
string <int64>

id of the locations or the company

contextType
required
string
Enum: "Location" "Company"

context type (location,company)

socialPortal
required
string

context of source type

Request Body schema:
object (ImageInsert)
postContent
required
string
url
string
date
required
string <date>
time
string

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

PUT Social Post

Method to update Post before the post plan date

path Parameters
id
required
integer <int64>

id of the post

Request Body schema: application/json
object (ImageInsert)
postContent
required
string
url
string
date
string <date>
time
string
contextType
required
string
Enum: "Location" "Company"
contextIds
required
Array of integers <int64> [ items <int64 > ]

Responses

Request samples

Content type
application/json
{
  • "postImage": {
    },
  • "postContent": "string",
  • "url": "string",
  • "date": "2019-08-24",
  • "time": "string",
  • "contextType": "Location",
  • "contextIds": [
    ]
}

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

DELETE Social Post

Method to delete Post before the post plan date

path Parameters
id
required
integer <int64>

id of the post

query Parameters
contextIds
string

comma seperated ids of location or company

contextType
string
Enum: "Location" "Company"

context type (location,company)

Responses

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

POST Social Post Comment

Create a new comment for a post

query Parameters
id
required
integer <int64>

id of post

locationIds
string

id of location

Request Body schema: application/json
message
required
string

Responses

Request samples

Content type
application/json
{
  • "message": "string"
}

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "total": 0
}

GET Social Post Comment

Method to get Social comments

query Parameters
postId
required
integer <int64>

id of post

locationIds
string <int64>

id of location

take
integer

take a given number of entries

skip
integer

skip entries

sortColumn
string
Enum: "postId" "socialPortal" "canDelete" "dateTime" "status"

name of the column which gets sorted, need to be one of the fields of the model schema of the response

sortDirection
string

asc or desc for ascending or descending

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

DELETE Social Post Comment

Method to delete Comment

path Parameters
id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Social Review List

Method to get List of reviews

query Parameters
ids
required
string <int64>

the ids of the context

take
integer

take a given number of entries

skip
integer

skip entries

sortColumn
string
Enum: "reviewId" "socialPortal" "dateTime" "rating"

name of the column which gets sorted, need to be one of the fields of the model schema of the response

sortDirection
string
Enum: "asc" "desc"

asc or desc for ascending or descending

contextType
required
string
Enum: "Location" "Company"

context of the ids you're passing

socialPortal
string

social portal names as a comma separated list

minRating
number <double>

a filter for minimum rating

maxRating
number <double>

a filter for maximum rating

answeredStatus
boolean

to filter reviews if they have answer from owner

tags
string

filter by tags, which should exist on company level

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "averageRating": 0,
  • "total": 0,
  • "unansweredReviews": 0,
  • "reviewsPerWeek": 0,
  • "totalReviews": 0
}

GET Social Review

Method to get List of reviews

path Parameters
id
required
integer <int64>

the id of the review

Responses

Response samples

Content type
application/json
{
  • "reviewId": 0,
  • "location": {
    },
  • "date": "string",
  • "socialPortal": "string",
  • "portalAnswerable": true,
  • "addonAnswerable": true,
  • "rating": 0,
  • "facebookRecommended": true,
  • "reviewContent": {
    },
  • "lastOwnerAnswer": {
    },
  • "url": "string"
}

GET Social Review Comments

Method to get List of review comments

path Parameters
reviewId
required
integer <int64>
query Parameters
take
integer

take a given number of entries

skip
integer

skip entries

sortColumn
string
Enum: "profileName" "dateTime" "ownerCommented"

name of the column which gets sorted, need to be one of the fields of the model schema of the response

sortDirection
string
Enum: "asc" "desc"

asc or desc for ascending or descending

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST Social Review Comment

Method to post social review comment.

path Parameters
reviewId
required
string

id list of the reviews

Request Body schema: application/json
comment
required
string

Responses

Request samples

Content type
application/json
{
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Social Portal

Method to get List of all available portals

query Parameters
take
integer

take a given number of entries

skip
integer

skip entries

portalType
string
Enum: "post" "review" "task"

a filter of the type of the portals

filter
string

social portal names as a comma seperated list

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Social Portals by Reviews or Posts

Method to get List of all available portals that have reviews or posts

query Parameters
contextIds
required
string <int64>

comma seperated ids of location or company

contextType
required
string
Enum: "Location" "Company"

Context of the Id specified in contextId

take
integer

take a given number of entries

skip
integer

skip entries

portalType
required
string
Enum: "post" "review"

a filter of the type of the portals

filter
string

social portal names as a comma seperated list

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Social Post Settings

Method to get social settings

query Parameters
contextIds
required
string

comma seperated ids of location or company

contextType
required
string
Enum: "Location" "Company"

context type (location,company)

Responses

Response samples

Content type
application/json
{
  • "postEnabled": true,
  • "blackListLocations": [
    ]
}

PUT Review Comment

Update a comment of a review.

path Parameters
commentId
required
integer
Request Body schema: application/json
comment
required
string

Responses

Request samples

Content type
application/json
{
  • "comment": "string"
}

Response samples

Content type
No sample

user

User managemement

GET User List

get the user list

query Parameters
contextId
integer <int64>

the id of the context

contextType
string
Enum: "Location" "Company" "Workspace"

the id of the group

filter
string

a filter for the name

sortDirection
string
Enum: "asc" "desc"

asc or desc for ascending or descending

skip
integer

skip entries

take
integer

take a given number of entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

POST User

returns id of the created user

Request Body schema: application/json

returns id of the created user

userName
string
email
required
string
password
string
contextId
required
integer
contextType
required
string
Enum: "Location" "Company" "Workspace"
locked
boolean
emailVerified
boolean
Default: false

if the email is verified, the verification email will not be sent. By default the value is false

position
string
firstName
required
string
lastName
required
string
languageCode
required
string
Enum: "de" "en" "fr"
url
string
template
integer
Array of objects (KeyValueString)
tags
Array of strings
object (ImageInsert)
salutation
string
userType
string
Enum: "agency service" "self service"

user type, default agency service

object (PhoneInsert)

Responses

Request samples

Content type
application/json
{
  • "userName": "string",
  • "email": "string",
  • "password": "string",
  • "contextId": 0,
  • "contextType": "Location",
  • "locked": true,
  • "emailVerified": false,
  • "position": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "languageCode": "de",
  • "url": "string",
  • "template": 0,
  • "settings": [
    ],
  • "tags": [
    ],
  • "profilePicture": {
    },
  • "salutation": "string",
  • "userType": "agency service",
  • "phone": {
    }
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET User

get a single user

path Parameters
id
required
integer <int64>

the id of the user

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "userName": "string",
  • "email": "string",
  • "contextId": 0,
  • "contextType": "Location",
  • "active": true,
  • "position": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "languageCode": "de",
  • "url": "string",
  • "template": 0,
  • "settings": [
    ],
  • "tags": [
    ],
  • "salutation": "string",
  • "userType": "agency service",
  • "profilePicture": {
    },
  • "phone": {
    },
  • "ssoUser": true
}

PUT User

returns the id of the updated user

path Parameters
id
required
integer <int64>

the id of the user

Request Body schema: application/json

the user object which should be updated

userName
string
email
required
string
locked
boolean
position
string
firstName
required
string
lastName
required
string
languageCode
required
string
url
string
template
integer
Array of objects (KeyValueString)
tags
Array of strings
object (ImageInsert)
salutation
string

Responses

Request samples

Content type
application/json
{
  • "userName": "string",
  • "email": "string",
  • "locked": true,
  • "position": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "languageCode": "string",
  • "url": "string",
  • "template": 0,
  • "settings": [
    ],
  • "tags": [
    ],
  • "profilePicture": {
    },
  • "salutation": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

DELETE User

delete a single user

path Parameters
id
required
integer <int64>

the id of the user

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET User Management Is Unique

determines if a username or an email is unique an can be used to register new user accounts

query Parameters
userName
required
string

the user name or email

ignoreUserId
integer

a user id which shall be ignored for this check

Responses

Response samples

Content type
application/json
{
  • "value": true
}

GET User Management Profile

returns the profile of the logged in user

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "userName": "string",
  • "email": "string",
  • "contextId": 0,
  • "contextType": "Location",
  • "active": true,
  • "position": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "languageCode": "de",
  • "url": "string",
  • "template": 0,
  • "settings": [
    ],
  • "tags": [
    ],
  • "salutation": "string",
  • "userType": "agency service",
  • "profilePicture": {
    },
  • "phone": {
    },
  • "ssoUser": true
}

GET User consented to receive emails

returns if the logged in user consented to receive emails.

Responses

Response samples

Content type
application/json
{
  • "consent": true
}

GET User requested email to consent

returns if the logged in user requested email to consent to receive emails.

Responses

Response samples

Content type
application/json
{
  • "consent": true
}

PUT USER cookie policy

This endpoint takes a boolean value from user for cookie policy. true = accept and false = deny

Request Body schema: application/json
technicalNecessaryCookies
boolean
performanceCookies
boolean
functionalCookies
boolean

Responses

Request samples

Content type
application/json
{
  • "technicalNecessaryCookies": true,
  • "performanceCookies": true,
  • "functionalCookies": true
}

Response samples

Content type
application/json
{
  • "value": 0
}

security

PUTLock User

lock a user

path Parameters
userId
required
integer <int64>

the id of the user

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Unlock User

unlock a user

path Parameters
userId
required
integer <int64>

the id of the user

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Change Password

change the password of a user

Request Body schema: application/json

the change password object

userId
required
integer
loggedInUserPassword
required
string

Responses

Request samples

Content type
application/json
{
  • "userId": 0,
  • "loggedInUserPassword": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Permissions

returns the list of permissions

query Parameters
contextId
required
integer <int64>

the id of the context

contextType
required
string
Enum: "Location" "Company" "Workspace"

context type

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "locationPermission": [
    ]
}

DELETE Permissions

deletes a group from user of a space, company or location

query Parameters
userId
required
integer

the id of the user

groupId
required
integer

the id of the group

contextId
required
integer <int64>

the id of the context

contextType
required
string
Enum: "Location" "Company" "Workspace"

context type

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Permissions

adds a group to a user to a space, company or location

query Parameters
userId
required
integer

the id of the user

groupId
required
integer

the id of the group

contextId
required
integer <int64>

the id of the context

contextType
required
string
Enum: "Location" "Company" "Workspace"

context type

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

POST Authenticate Deprecated

returns the sessionId of the user

Request Body schema: application/json

ip of the user

value
required
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "value": "string"
}

PUT Password Forgotten

sends a password reset email to the user

Request Body schema: application/json

password reset object

email
required
string
url
string
template
integer

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "url": "string",
  • "template": 0
}

Response samples

Content type
application/json
{
  • "value": 0
}

PUT Password Reset

sends a password reset email to the user

Request Body schema: application/json

password reset object

token
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET User Groups

get context and group for user

path Parameters
userId
required
integer

id of the user from which we want to access the groups

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Available Groups

get available groups for current user

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

activity

GET Activity Location Total

get the total number of locations

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Activity User Login

get a number of logins of a period of time

query Parameters
from
string

date of format [yyyy-MM-dd] determining the including start date for filtering

to
string

date of format [yyyy-MM-dd] determining the including end date for filtering

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

GET Activity Subscription

get all the subscriptions running in a time span

query Parameters
from
string

date of format [yyyy-MM-dd] determining the including start date for filtering

to
string

date of format [yyyy-MM-dd] determining the including end date for filtering

skip
integer

skip entries

take
integer

take a given number of entries

statuses
string
Enum: "PROCESSING" "ACTIVE" "EXPIRING" "FINISHED" "FAILED"

optional status filter

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "sum": 0,
  • "contextType": "string"
}

GET Activity Chronology

get created companies locations or subscriptions chronology for a time span

query Parameters
chronology
required
string
Enum: "Day" "Month" "Year"

determines the chronological type of the data representation

contextType
required
string
Enum: "Company" "Location" "Subscription"

determines the parental context

from
string

date of format [yyyy-MM-dd] determining the including start date for filtering

to
string

date of format [yyyy-MM-dd] determining the including end date for filtering

summedUp
required
boolean

true for the absolut number and false for the relative number

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Activity Location Origin

get a list of the origin of the locations

query Parameters
skip
integer

skip entries

take
integer

take a given number of entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "sum": 0,
  • "contextType": "string"
}

GET Activities Company Total

get the total number of companies

Responses

Response samples

Content type
application/json
{
  • "value": 0
}

statistic

GET Statistic Aggregated

Returns list of aggregated statistics for different products and licences. The statistics will be aggregated with respect to the chosen time interval. If available you will see the periodically change compared to the statistics of the foregone period, which is getting determined by the same number of days you defined with from and to. In case the statistics are getting shown for just a single product line (e.g. listing) you will see the extended kpis listed as an additional detailed layer. Otherwise (e.g. listing and sea) you will see the product lines as this layer. To see which kpis are available feel free to get them by the 'possible kpis' call.

query Parameters
ids
required
string

list of context ids, comma separated

contextType
required
string
Enum: "Company" "Location" "Subscription"

determines the parental context

kpis
string

the kpis you want to get statistics for, see 'possible kpis' call to see the available kpis for your product/licence filter configuration

products
string
Enum: "ReachEnhancement" "Listing" "Advertisement" "ListingPortal" "CallTracking"

select all the products you want to see statistics for

licenceIds
string

filter for licences, comma seperated licence ids

from
string <date>

date of format 'yyyy-MM-dd' determining the including start date for filtering

to
string <date>

date of format 'yyyy-MM-dd' determining the including end date for filtering

includeMetaData
boolean

with this parameter you can control if more detailled meta data shall get included in thie response (if available). Be ware: this can slow down the response time. Default is false

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Statistic Chronology

Returns list of chronological statistics for different products and licences. The statistics will be aggregated with respect to the chosen time interval and the aggregation type. With this you can decide to get the statics on a daily, monthly or yearly basis. In case the statistics are getting shown for just a single product line (e.g. listing) you will see the extended kpis listed as an additional detailed layer. Otherwise (e.g. listing and sea) you will see the product lines as this layer. To see which kpis are available feel free to get them by the 'possible kpis' call.

query Parameters
ids
required
string

list of context ids, comma separated

contextType
required
string
Enum: "Company" "Location" "Subscription"

determines the parental context

kpis
string

the kpis you want to get statistics for, see 'possible kpis' call to see the available kpis for your product/licence filter configuration

products
string
Enum: "ReachEnhancement" "Listing" "Advertisement" "ListingPortal" "CallTracking"

select all the products you want to see statistics for

licenceIds
string

filter for licences, comma seperated licence ids

from
string <date>

date of format 'yyyy-MM-dd' determining the including start date for filtering

to
string <date>

date of format 'yyyy-MM-dd' determining the including end date for filtering

aggregationType
required
string
Enum: "Day" "Month" "Year"

determines the chronological aggregation type of the data representation

includeMetaData
boolean

with this parameter you can control if more detailled meta data shall get included in thie response (if available). Be ware: this can slow down the response time. Default is false

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Statistic KPIs

Returns a list of possible kpis. You can filter for products and/or licences to see what you could get by the statistics calls. Remark: To get the detailed extended kpis for a licence/product you need to set the filter correspondingly.

query Parameters
products
string
Enum: "ReachEnhancement" "Listing" "Advertisement" "ListingPortal" "CallTracking"

select all the products you want to see statistics for

licenceIds
string

filter for licences, comma seperated

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Statistic Call

returns call tracking statistics in a tabled way

query Parameters
ids
required
string

list of context ids, comma separated

contextType
required
string
Enum: "Company" "Location" "Subscription"

determines the parental context

filtered
required
boolean <date>

using filtered date or raw ones

from
string <date>

date of format 'yyyy-MM-dd' determining the including start date for filtering

to
string <date>

date of format 'yyyy-MM-dd' determining the including end date for filtering

skip
integer

skip entries of list

take
integer

take a given number of entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

optimization

GET Optimization Task List

Method to get optimization tasks, as not linked gmb and facebook accounts, not answered reviews, handling of listing duplicates etc...

query Parameters
id
required
integer <int64>

id of the workspace

take
integer

take a given number of entries

skip
integer

skip entries

sortColumn
string
Enum: "location" "portal" "startDate"

name of the column which gets sorted

sortDirection
string
Enum: "asc" "desc"

asc or desc for ascending or descending

taskType
string
Enum: "ProfileLinking" "ProfileLinkingManual" "UnansweredReviews" "Duplicate"

the type of the task

status
string
Enum: "OPEN" "PENDING" "DONE"

the status of the task

locationIds
string

list of location ids

portal
string

portal of the task

ignore
boolean

filter to show the ignore task

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

PUT Optimization Task

Update tasks, e.g. ignore them, update a note or set the status of task manually. Values you don't set will be ignored in this update!

path Parameters
id
required
integer <int64>

id of the task

Request Body schema: application/json

dashboard

ignore
required
boolean
note
string
status
required
string
Enum: "OPEN" "PENDING" "DONE"

Responses

Request samples

Content type
application/json
{
  • "ignore": true,
  • "note": "string",
  • "status": "OPEN"
}

Response samples

Content type
application/json
{
  • "value": 0
}

GET Task Location List

Method is returning all locations of a workspace having tasks connected

path Parameters
id
required
integer <int64>

id of the workspaceId

query Parameters
filter
string

name filter

take
integer

take a given number of entries

skip
integer

skip entries

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Optimization Task Statistic

Method to get amount of tasks for workspace with respect to the task type

query Parameters
id
required
integer <int64>

id of the workspaceId

taskType
string
Enum: "ProfileLinking" "ProfileLinkingManual" "UnansweredReview" "Duplicate"

the type of the task

status
string
Enum: "OPEN" "PENDING" "DONE"

the status of the task

locationIds
string

list of location ids

portal
string

portal of the task

ignore
boolean

filter to show the ignore task

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

pacing

GET Spent Budget Performance Pacing

Method to get the spend budget and target budget

query Parameters
contextIds
required
string

comma separated ids of context

contextType
required
string
Enum: "Workspace" "Company" "Location" "Subscription"

context you want to get the pacing information for

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

GET Campaign Performance Pacing

Method to get the data for the sea pacing graph

query Parameters
contextIds
required
string

comma separated ids of context

contextType
required
string
Enum: "Workspace" "Company" "Location" "Subscription"

context you want to get the pacing information for

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}