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
- 200
{- "data": [
- {
- "id": 0,
- "parentId": 0,
- "name": "string",
- "shortName": "string",
- "customFieldsCompany": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}, - "defaultCountry": "string"
}
], - "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) | |
defaultCountry | string default country setting for this workspace, indicating where (most of the) locations are located. ISO 3166-1 alpha-2 |
Responses
Request samples
- Payload
{- "id": 0,
- "parentId": 0,
- "name": "string",
- "shortName": "string",
- "customFieldsCompany": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}, - "defaultCountry": "string"
}
Response samples
- 200
{- "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
- 200
{- "id": 0,
- "parentId": 0,
- "name": "string",
- "shortName": "string",
- "customFieldsCompany": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}, - "defaultCountry": "string"
}
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. If it's not defined, the fallback is 500 elements. The maximum value you can request is 500; And if it exceeds this, the API will reject the request. |
id | integer id filter of the parental workspace |
licences | string comma separated list of licence names |
licenseAllOf | string Specifies a list of licenses where all the licenses must match for the search to be valid. This is useful for filtering results that must possess all the provided licenses simultaneously (Cannot be used together with licenseAnyOf & Using this will invalidate all normal filters) |
licenseAnyOf | string Specifies a list of licenses where at least one of the licenses must match for the search to be valid. This is useful for filtering results that can hold any one of the provided licenses (Cannot be used together with licenseAllOf & Using this will invalidate all normal filters) |
statuses | string Enum: "ACTIVE" "PROCESSING" "FAILED" "FINISHED" "EXPIRING" comma separated statuses filter |
statusAnyOf | string Enum: "ACTIVE" "PROCESSING" "FAILED" "FINISHED" "EXPIRING" Specifies a list of statuses where at least one of the statuses must match for the search to be valid. This is useful for filtering results that can be in any one of the provided statuses (Cannot be used together with statusAllOf & Using this will invalidate all normal filters) |
statusAllOf | string Enum: "ACTIVE" "PROCESSING" "FAILED" "FINISHED" "EXPIRING" Specifies a list of statuses where all the statuses must match for the search to be valid. This is useful for filtering results that must meet all the provided statuses simultaneously (Cannot be used together with statusAnyOf & Using this will invalidate all normal filters) |
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 |
exactCount | boolean set to true if you want the call to return the exact count of companies instead of sometimes estimating it. |
Responses
Response samples
- 200
{- "data": [
- {
- "id": 0,
- "workspace": {
- "id": 0,
- "name": "string",
- "additionalText": "string",
- "parentType": "Location"
}, - "name": "string",
- "locationCount": 0,
- "acquisitionDate": "2019-08-24",
- "lastActivity": "2019-08-24",
- "externalId": "string",
- "licences": [
- "string"
], - "isClaimed": true
}
], - "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
- 200
{- "id": 0,
- "name": "string",
- "shortName": "string",
- "legalType": "AG",
- "contact": {
- "id": 0,
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "salesMan": {
- "id": 0,
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "externalId": "string",
- "licences": [
- "string"
], - "imprint": "string",
- "globalImprint": true,
- "dataPrivacy": "string",
- "globalDataPrivacy": true,
- "imprintUrl": "string",
- "dataPrivacyUrl": "string",
- "isClaimed": true,
- "vatNr": "string",
- "customFieldsCompany": [
- {
- "key": "string",
- "value": "string"
}
]
}
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
- Payload
{- "name": "TestName",
- "shortName": "test",
- "legalType": "AG",
- "externalId": "000122335654"
}
Response samples
- 200
{- "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
- Payload
{- "name": "string",
- "shortName": "string",
- "legalType": "AG",
- "contact": {
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": "string",
- "alternativePhones": [
- {
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "salesManId": 0,
- "externalId": "string",
- "locationInsert": {
- "name": "string",
- "categories": [
- {
- "key": 0,
- "value": "string",
- "aliasId": 0,
- "aliasName": "string"
}
], - "address": {
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true
}, - "mainPhone": {
- "phone": "string",
- "tracked": true,
- "localPhone": "string"
}, - "claimId": "string",
- "pinVerification": "string",
- "email": "string"
}, - "vatNr": "string"
}
Response samples
- 200
{- "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
- 200
{- "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": [
- {
- "key": "string",
- "value": "string"
}
], - "tags": [
- "string"
], - "salutation": "string",
- "userType": "agency service",
- "profilePicture": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "phone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "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
- 200
{- "data": [
- {
- "mainCategory": {
- "key": 0,
- "value": "string"
}, - "countryId": "string",
- "availableAttributes": 0,
- "locations": [
- {
- "key": 0,
- "value": "string"
}
], - "bulkState": "PARTIAL"
}
], - "total": 0
}
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
- 200
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
- 200
{- "id": 0,
- "youtubeUrl": [
- {
- "id": 0,
- "url": "string",
- "display": "string"
}
], - "businessLogo": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "customImages": [
- {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}
], - "googleProfile": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "googleCover": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "facebookProfile": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "google360": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "facebookUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "tikTokUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "linkedInUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "xingUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "twitterHandle": "string",
- "reservationsUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "menuUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "orderUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "instagramUrl": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "name": "string",
- "foursquareExtra": "string",
- "facebookCover": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}
}
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
- Payload
{- "foursquareExtra": "string",
- "twitterHandle": "string",
- "customImages": [
- 0
]
}
Response samples
- 200
{- "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
- 200
{- "id": 0,
- "externalId": "string",
- "name": "string",
- "categories": [
- {
- "key": 0,
- "value": "string",
- "aliasId": 0,
- "aliasName": "string"
}
], - "address": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "mainPhone": {
- "id": 0,
- "phone": "string",
- "tracked": true,
- "localPhone": "string"
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
], - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "closed": true,
- "eMail": "string",
- "website": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "currentOffer": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "currentOfferText": "string",
- "serviceArea": [
- {
- "key": "POSTAL_CODE",
- "value": "string"
}
], - "isClaimed": true,
- "openingHoursInfo": {
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
], - "timeZone": "string"
}, - "profileQuality": {
- "id": 0,
- "quality": 0,
- "includingProfile": [
- "string"
], - "excludingProfile": [
- "string"
]
}
}
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 |
string | |
currentOfferText | string |
Array of objects (KeyValueServiceArea) |
Responses
Request samples
- Payload
{- "name": "string",
- "externalId": "string",
- "categories": [
- {
- "key": 0,
- "value": "string",
- "aliasId": 0,
- "aliasName": "string"
}
], - "closed": true,
- "eMail": "string",
- "currentOfferText": "string",
- "serviceArea": [
- {
- "key": "POSTAL_CODE",
- "value": "string"
}
]
}
Response samples
- 200
{- "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
- 200
{- "id": 0,
- "days": [
- {
- "day": "Mon",
- "openingDayType": "singleInterval",
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
]
}
], - "note": "string",
- "dateInterval": {
- "from": "2019-08-24",
- "to": "2019-08-24"
}, - "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
- Payload
{- "days": [
- {
- "day": "Mon",
- "openingDayType": "singleInterval",
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
]
}
], - "note": "string",
- "dateInterval": {
- "from": "2019-08-24",
- "to": "2019-08-24"
}, - "openingHoursType": "default",
- "temporarilyClosedUntil": "2019-08-24"
}
Response samples
- 200
{- "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
- Payload
{- "days": [
- {
- "day": "Tue",
- "openingDayType": "singleInterval",
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
]
}
], - "note": "string",
- "dateInterval": {
- "from": "2019-08-24",
- "to": "2019-08-24"
}, - "openingHoursType": "default",
- "temporarilyClosedUntil": "2019-08-24"
}
Response samples
- 200
{- "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
- 200
{- "id": 0,
- "name": "string",
- "description": "string",
- "yearOfFoundation": "string",
- "products": [
- "string"
], - "services": [
- "string"
], - "specialFields": [
- "string"
], - "memberships": [
- "string"
], - "trademarks": [
- "string"
], - "languages": [
- "string"
], - "keywords": [
- "string"
], - "paymentMethods": [
- "string"
], - "possiblePaymentMethods": [
- "string"
], - "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
- Payload
{- "description": "string",
- "yearOfFoundation": "string",
- "products": [
- "string"
], - "services": [
- "string"
], - "specialFields": [
- "string"
], - "memberships": [
- "string"
], - "trademarks": [
- "string"
], - "languages": [
- "string"
], - "keywords": [
- "string"
], - "paymentMethods": [
- "string"
], - "imprint": "string",
- "dataPrivacy": "string",
- "imprintUrl": "string",
- "dataPrivacyUrl": "string",
- "slogan": "string"
}
Response samples
- 200
{- "value": 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
- 200
{- "name": "string",
- "id": 0,
- "data": [
- {
- "attributeId": "string",
- "groupName": "string",
- "name": "string",
- "allowedValues": [
- "string"
], - "value": "string"
}
]
}
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
|
Responses
Request samples
- Payload
{- "data": [
- {
- "attributeId": "string",
- "value": "string"
}
]
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "locationValues": [
- {
- "bulkState": "PARTIAL",
- "bulkValue": "string"
}
], - "locationKey": "NAME"
}
], - "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
- Payload
{- "data": [
- {
- "locationValues": [
- {
- "bulkState": "PARTIAL",
- "bulkValue": "string"
}
], - "locationKey": "NAME"
}
], - "total": 0
}
Response samples
- 200
{- "ids": [
- 0
], - "total": 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 |
string email contact for this location |
Responses
Request samples
- Payload
{- "name": "string",
- "categories": [
- {
- "key": 0,
- "value": "string",
- "aliasId": 0,
- "aliasName": "string"
}
], - "address": {
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true
}, - "mainPhone": {
- "phone": "string",
- "tracked": true,
- "localPhone": "string"
}, - "claimId": "string",
- "pinVerification": "string",
- "email": "string"
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "openingHoursType": "default",
- "dateInterval": {
- "from": "2019-08-24",
- "to": "2019-08-24"
}, - "temporarilyClosedUntil": "2019-08-24"
}
], - "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
- Payload
{- "days": [
- {
- "day": "Mon",
- "openingDayType": "singleInterval",
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
]
}
], - "note": "string",
- "dateInterval": {
- "from": "2019-08-24",
- "to": "2019-08-24"
}, - "openingHoursType": "default",
- "temporarilyClosedUntil": "2019-08-24"
}
Response samples
- 200
{- "ids": [
- 0
], - "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
- Payload
{- "title": "string",
- "storefrontAddress": {
- "regionCode": "string",
- "languageCode": "string",
- "postalCode": "string",
- "locality": "string",
- "addressLines": [
- "string"
]
}, - "phoneNumbers": {
- "primary": "string",
- "additional": [
- "string"
]
}, - "categories": {
- "primaryCategory": {
- "name": "string",
- "displayName": "string"
}, - "additionalCategories": [
- {
- "name": "string",
- "displayName": "string"
}
]
}, - "images": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
], - "websiteUri": "string",
- "regularHours": {
- "periods": [
- {
- "openDay": "MONDAY",
- "closeDay": "MONDAY",
- "openTime": {
- "hours": 0,
- "minutes": 0,
- "seconds": 0
}, - "closeTime": {
- "hours": 0,
- "minutes": 0,
- "seconds": 0
}
}
]
}, - "specialHours": {
- "specialHourPeriods": [
- {
- "startDate": "string",
- "closeDate": "string",
- "openTime": {
- "hours": 0,
- "minutes": 0,
- "seconds": 0
}, - "closeTime": {
- "hours": 0,
- "minutes": 0,
- "seconds": 0
}, - "closed": true
}
]
}, - "labels": [
- "string"
], - "profile": {
- "description": "string"
}, - "openInfo": {
- "status": "OPEN"
}
}
Response samples
- 200
{- "value": 0
}
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
- Payload
{- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
Response samples
- 200
{- "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
- Payload
{- "url": "string",
- "display": "string"
}
Response samples
- 200
{- "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
- Payload
{- "urlType": "FacebookUrl",
- "url": "string",
- "display": "string"
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string",
- "additionalText": "string",
- "parentType": "Location"
}
], - "total": 0
}
Get GlobalSearch
This method can be used to search for workspaces, companies or locations by defining some filtering parameter.
The 'filter' parameter gets used only for the name when at least 3 characters are defined. Nevertheless you can use it to search for external IDs, even those having less than 3 characters.
You can multi-select 'contextTypes', 'productTypes' or 'statuses'. When none is selected, no limitations regarding those types getting applied.
query Parameters
filter | string a filter for the name, externalID, tag |
skip | integer skip entries |
take | integer take a given number of entries |
contextTypes | string Enum: "Workspace" "Company" "Location" "Subscription" optional context type filter |
licences | string optional licence filter comma separated |
statuses | string Enum: "PROCESSING" "ACTIVE" "EXPIRING" "FINISHED" "FAILED" optional status filter |
Responses
Response samples
- 200
{- "data": [
- {
- "id": 0,
- "parentId": 0,
- "name": "string",
- "workSpace": "string",
- "contextType": "Workspace"
}
], - "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
- 200
{- "data": [
- {
- "locationId": 0,
- "name": "string",
- "phone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "address": {
- "id": 0,
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "countryCode": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}
}, - "isClaimed": true,
- "externalId": 0,
- "isExternal": true,
- "category": [
- {
- "key": 0,
- "value": "string"
}
], - "externalProviderId": 0,
- "companyId": 0
}
], - "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
- 200
{- "id": 0,
- "quality": 0,
- "name": "string",
- "address": {
- "id": 0,
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "countryCode": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}
}, - "phone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "eMail": "string",
- "website": "string",
- "description": true,
- "logo": true,
- "galerie": true,
- "openingHours": true,
- "paymentMethods": true,
- "includingProfile": [
- "string"
], - "excludingProfile": [
- "string"
]
}
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
- 200
{- "data": [
- "string"
], - "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
- 200
{- "data": [
- {
- "areaCode": "string",
- "phoneCode": "string",
- "countryCode": "string",
- "name": "string"
}
], - "total": 0
}
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
- 200
{- "data": [
- "string"
], - "total": 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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string"
}
], - "total": 0
}
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
- Payload
{- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": "string",
- "alternativePhones": [
- {
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}
Response samples
- 200
{- "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
- Payload
{- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
]
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "firstName": "string",
- "lastName": "string"
}
], - "total": 0
}
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
- 200
{- "data": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
], - "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
- Payload
{- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
Response samples
- 200
{- "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
- Payload
{- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
Response samples
- 200
{- "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
- Payload
{- "phone": "string",
- "tracked": true,
- "localPhone": "string",
- "claimId": "string",
- "pinVerification": "string"
}
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
- Payload
{- "postCode": "string",
- "country": "string",
- "city": "string",
- "street": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true
}
Response samples
- 200
{- "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
- Payload
{- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true
}
Response samples
- 200
{- "value": 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
- 200
{- "data": [
- {
- "key": 0,
- "value": "string"
}
], - "total": 0
}
GET CategorySearch
Returns a list of categories or category aliases based on a seach term. 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
query required | string search term |
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
- 200
{- "data": [
- {
- "id": 0,
- "displayName": "string",
- "categoryName": "string",
- "aliasId": 0
}
], - "total": 0
}
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
- 200
{- "id": 0,
- "name": "string",
- "locations": [
- {
- "key": 0,
- "value": "string"
}
], - "contentType": "productsServices",
- "status": "live",
- "language": {
- "key": 0,
- "value": "string"
}, - "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
- Payload
{- "name": "string",
- "contentType": "productsServices",
- "language": {
- "key": 0,
- "value": "string"
}
}
Response samples
- 200
{- "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
- Payload
{- "name": "string",
- "locationIds": [
- 0
], - "language": {
- "key": 0,
- "value": "string"
}, - "published": true
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "section": {
- "key": 0,
- "value": "string"
}, - "name": "string",
- "description": "string",
- "priorityOrder": 0,
- "price": 0,
- "priceOption": [
- {
- "key": "string",
- "value": "string"
}
], - "images": [
- {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}
], - "url": "string",
- "youtubeUrl": "string",
- "idCode": "string"
}
], - "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
- Payload
{- "section": {
- "key": 0,
- "value": "string"
}, - "name": "string",
- "description": "string",
- "price": 0,
- "priceOption": [
- {
- "key": "string",
- "value": "string"
}
], - "images": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
], - "url": "string",
- "youtubeUrl": "string",
- "idCode": "string"
}
Response samples
- 200
{- "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
- Payload
{- "section": {
- "key": 0,
- "value": "string"
}, - "name": "string",
- "description": "string",
- "price": 0,
- "priceOption": [
- {
- "key": "string",
- "value": "string"
}
], - "images": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
], - "url": "string",
- "youtubeUrl": "string",
- "idCode": "string",
- "priorityOrder": 0
}
Response samples
- 200
{- "value": 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
|
Responses
Request samples
- Payload
{- "data": [
- {
- "id": 0,
- "priorityOrder": 0
}
]
}
Response samples
- 200
{- "ids": [
- 0
], - "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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string",
- "description": "string",
- "priorityOrder": 0,
- "elements": 0
}
], - "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
- Payload
{- "name": "string",
- "description": "string"
}
Response samples
- 200
{- "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
|
Responses
Request samples
- Payload
{- "sections": [
- {
- "id": 0,
- "name": "string",
- "description": "string",
- "priorityOrder": 0
}
]
}
Response samples
- 200
{- "ids": [
- 0
], - "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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string",
- "locations": [
- {
- "key": 0,
- "value": "string"
}
], - "contentType": "productsServices",
- "status": "live",
- "language": {
- "key": 0,
- "value": "string"
}, - "published": true
}
], - "total": 0
}
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
- Payload
{- "claimType": "phone",
- "locationId": 0,
- "phone": "string",
- "dataSetId": "string",
- "externalProviderId": "string"
}
Response samples
- 200
{- "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
- Payload
{- "pinVerification": "string"
}
Response samples
- 200
{- "value": true
}
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
- 200
{- "id": 0,
- "products": [
- "Listing"
], - "sellingName": "string",
- "setupFee": 0,
- "regularFee": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "maximumTerm": {
- "duration": 0,
- "period": "Year"
}, - "cycleTerm": {
- "duration": 0,
- "period": "Year"
}, - "validFrom": "2019-08-24",
- "validUntil": "2019-08-24",
- "product": [
- {
- "name": "Listing",
- "settingsList": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}
], - "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
- Payload
{- "sellingName": "string",
- "setupFee": 0,
- "regularFee": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "maximumTerm": {
- "duration": 0,
- "period": "Year"
}, - "product": [
- {
- "name": "Listing",
- "settingsList": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}
], - "suppressNotifications": true,
- "suppressTasks": true
}
Response samples
- 200
{- "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
- Payload
{- "sellingName": "string",
- "spaceId": 0,
- "setupFee": 0,
- "regularFee": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "maximumTerm": {
- "duration": 0,
- "period": "Year"
}, - "product": [
- {
- "name": "Listing",
- "settingsList": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}
], - "suppressNotifications": true,
- "suppressTasks": true
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "products": [
- "Listing"
], - "sellingName": "string",
- "spaceName": "string",
- "spaceId": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "suppressNotifications": true,
- "suppressTasks": true
}
], - "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
- 200
{- "data": [
- {
- "name": "Listing",
- "settingsList": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}
], - "total": 0
}
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
- 200
{- "id": 0,
- "name": "string",
- "billingAccountId": 0,
- "billingType": "FIXED",
- "accountingPeriod": "Year",
- "fixedPrice": 0,
- "conclusionDate": "2019-08-24",
- "salesMan": {
- "id": 0,
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "customFields": [
- {
- "key": "string",
- "value": "string"
}
], - "contractStatus": "ACTIVE",
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "bookable": true,
- "validFrom": "2019-08-24",
- "validUntil": "2019-08-24",
- "licenceBookings": [
- {
- "id": 0,
- "name": "string",
- "products": [
- "Listing"
], - "mandatoryConnectionProduct": [
- "Listing"
], - "maxSubscriptions": 0,
- "activeSubscriptions": 0,
- "setupFee": 0,
- "regularFee": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "cycleTerm": {
- "duration": 0,
- "period": "Year"
}, - "licenceStatus": "ACTIVE",
- "cancelled": true,
- "suppressNotifications": true,
- "suppressTasks": true
}
]
}
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
- Payload
{- "name": "string",
- "billingAccountId": 0,
- "billingType": "FIXED",
- "accountingPeriod": "Year",
- "fixedPrice": 0,
- "conclusionDate": "2019-08-24",
- "salesManId": 0,
- "customFields": [
- {
- "key": "string",
- "value": "string"
}
], - "validFrom": "2019-08-24",
- "validUntil": "2019-08-24",
- "licences": [
- {
- "offerId": 0,
- "maxSubscriptions": 0,
- "overwriteOffer": {
- "sellingName": "string",
- "setupFee": 0,
- "regularFee": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "maximumTerm": {
- "duration": 0,
- "period": "Year"
}, - "product": [
- {
- "name": "Listing",
- "settingsList": {
- "settings": [
- {
- "key": "string",
- "name": [
- null
], - "type": "select",
- "allowedValues": [
- null
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}
], - "suppressNotifications": true,
- "suppressTasks": true
}
}
]
}
Response samples
- 200
{- "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
- Payload
{- "conclusionDate": "2019-08-24",
- "salesManId": 0,
- "customFields": [
- {
- "key": "string",
- "value": "string"
}
], - "fixedPrice": 0,
- "validFrom": "2019-08-24",
- "validUntil": "2019-08-24"
}
Response samples
- 200
{- "value": 0
}
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
- 200
{- "id": 0,
- "businessName": "string",
- "address": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "differentAddress": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "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
- Payload
{- "businessName": "string"
}
Response samples
- 200
{- "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
- Payload
{- "businessName": "string",
- "address": {
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true
}, - "differentAddress": {
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true
}
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "businessName": "string",
- "parentType": "Company"
}
], - "total": 0
}
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
- 200
{- "data": [
- "string"
], - "total": 0
}
Response samples
- 200
{- "id": 0,
- "name": "string",
- "maxSubscriptions": 0,
- "activeSubscriptions": 0,
- "subscriptions": [
- {
- "id": 0,
- "note": "string",
- "location": {
- "key": 0,
- "value": "string"
}, - "licence": {
- "key": 0,
- "value": "string"
}, - "startDate": "2020-01-14",
- "endDate": "2020-12-31",
- "expireDate": "2020-12-31",
- "status": "PROCESSING",
- "productFields": [
- {
- "id": 0,
- "product": "Listing"
}
], - "warnings": [
- "string"
], - "errors": [
- "string"
], - "availableConnections": [
- {
- "subscriptionId": 0,
- "product": "string",
- "note": "string",
- "connected": true
}
], - "externalId": "string",
- "name": "string",
- "copyable": true,
- "subscriptionAddOns": [
- {
- "id": 0,
- "name": "string",
- "currentStatus": true,
- "product": "string"
}
], - "suppressNotifications": true,
- "suppressTasks": true
}
], - "bookedOffer": {
- "products": [
- "Listing"
], - "setupFee": 0,
- "regularFee": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "cycleTerm": {
- "duration": 0,
- "period": "Year"
}, - "suppressNotifications": true,
- "suppressTasks": true
}, - "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
- Payload
{- "cancelled": true,
- "name": "string",
- "maxSubscriptions": 0,
- "setupFee": 0,
- "regularFee": 0,
- "minimumTerm": {
- "duration": 0,
- "period": "Year"
}, - "suppressNotifications": true,
- "suppressTasks": true
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string",
- "maxSubscriptions": 0,
- "activeSubscriptions": 0,
- "products": [
- "Listing"
], - "mandatoryConnectionProduct": "Listing",
- "licenceStatus": "ACTIVE",
- "suppressNotifications": true,
- "suppressTasks": true
}
], - "total": 0
}
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
- 200
{- "data": [
- {
- "id": 0,
- "note": "string",
- "location": {
- "key": 0,
- "value": "string"
}, - "licence": {
- "key": 0,
- "value": "string"
}, - "startDate": "2020-01-14",
- "endDate": "2020-12-31",
- "expireDate": "2020-12-31",
- "status": "PROCESSING",
- "productFields": [
- {
- "id": 0,
- "product": "Listing"
}
], - "warnings": [
- "string"
], - "errors": [
- "string"
], - "availableConnections": [
- {
- "subscriptionId": 0,
- "product": "string",
- "note": "string",
- "connected": true
}
], - "externalId": "string",
- "name": "string",
- "copyable": true,
- "subscriptionAddOns": [
- {
- "id": 0,
- "name": "string",
- "currentStatus": true,
- "product": "string"
}
], - "suppressNotifications": true,
- "suppressTasks": true
}
], - "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
- Payload
{- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "callTracking": {
- "registerPermission": true,
- "callTrackingPermission": true
}, - "qrCode": {
- "name": "string",
- "destinationUrl": "string"
}, - "advertisement": {
- "destinationUrl": "string",
- "priority": "VeryLow",
- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": {
- "fileType": "jpg",
- "data": "string"
}
}
], - "campaignType": "open",
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "buIdList": [
- "string"
], - "buAIdList": [
- "string"
], - "kgsList": [
- "string"
], - "tIdList": [
- "string"
], - "locationList": [
- {
- "name": "string",
- "radius": 0,
- "matchType": "BROAD"
}
], - "taoIdList": [
- "string"
], - "ignoreTargeting": true
}, - "gelbeSeiten": {
- "taoIds": [
- "string"
]
}, - "reachEnhancement": {
- "destinationUrl": "string",
- "displayUrl": "string",
- "name": "string",
- "radius": 0,
- "categoryTaxonomyId": 0,
- "customSetting": {
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "segmentTextList": [
- {
- "suppressDefaultCampaign": true,
- "headlines": [
- "string"
], - "descriptions": [
- "string"
]
}
]
}, - "excludedLocations": [
- {
- "key": "string",
- "value": "string"
}
], - "includedLocations": [
- {
- "key": "string",
- "value": "string"
}
], - "budgetTarget": 0,
- "budgetTargetType": "Call"
}, - "budget": {
- "budgetTarget": 0,
- "budgetTargetType": "Call"
}, - "targeting": {
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "buIdList": [
- "string"
], - "buAIdList": [
- "string"
], - "kgsList": [
- "string"
], - "tIdList": [
- "string"
], - "locationList": [
- {
- "name": "string",
- "radius": 0,
- "matchType": "BROAD"
}
], - "taoIdList": [
- "string"
], - "ignoreTargeting": true
}, - "listingPortal": {
- "path": "string"
}, - "mandatoryConnection": {
- "subscriptionId": 0
}, - "webSite": {
- "subDomain": "string",
- "domain": "string",
- "templateId": 0,
- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "externalId": "string",
- "name": "string",
- "statisticAggregation": {
- "aggregationStart": "2019-08-24",
- "configuration": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}, - "monoSync": {
- "siteId": "string",
- "accountId": "string"
}, - "reachEnhancementSocial": {
- "name": "string",
- "radius": 0,
- "targetTypeId": 0,
- "facebookUrl": "string",
- "adCategory": "Housing",
- "budgetTarget": 0,
- "budgetTargetType": "Call"
}, - "dynamicVideo": {
- "settingValues": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "reachEnhancementLocalCampaigns": {
- "radius": 0,
- "budgetTarget": 0,
- "period": "Daily",
- "deliveryMethod": "Standard",
- "name": "string",
- "locationSourceType": "GMB",
- "callClicks": true,
- "drivingDirections": true,
- "roas": 0
}, - "meinungsmeister": {
- "orderAmount": 0,
- "differentDeliveryAddress": {
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "street": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true
}, - "evaluationSheetsSettings": {
- "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "color": "string"
}
}
}
Response samples
- 200
{- "subscriptionIds": [
- 0
], - "idSet": [
- {
- "locationId": 0,
- "subscriptionId": 0
}
], - "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
- Payload
{- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "connections": [
- 0
], - "externalId": "string",
- "name": "string"
}
Response samples
- 200
{- "value": 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
- Payload
{- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "externalId": "string",
- "name": "string"
}
Response samples
- 200
{- "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
- 200
{- "locationIds": [
- {
- "informationType": "TEXT",
- "description": "string",
- "value": "string"
}
], - "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
- 200
{- "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
- 200
{- "value": 0
}
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
- 200
{- "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
- Payload
{- "budgetTarget": 0
}
Response samples
- 200
{- "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
- 200
{- "budgetTargetType": "Call",
- "budgetTarget": 0
}
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
- 200
{- "id": 0,
- "destinationUrl": "string",
- "displayUrl": "string",
- "reachEnhancementType": "sea",
- "info": [
- {
- "key": "string",
- "value": "string"
}
], - "data": {
- "localCampaign": {
- "name": "string",
- "locationSourceType": "GMB",
- "callClicks": true,
- "drivingDirections": true,
- "roas": 0,
- "radius": 0,
- "languages": [
- "de"
]
}
}, - "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
- Payload
{- "destinationUrl": "string",
- "displayUrl": "string",
- "suppressLocationExtensions": true,
- "data": {
- "localCampaign": {
- "name": "string",
- "callClicks": true,
- "drivingDirections": true,
- "roas": 0,
- "radius": 0
}
}
}
Response samples
- 200
{- "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
- 200
{- "segmentId": 0,
- "segmentTextList": [
- {
- "suppressDefaultCampaign": true,
- "headlines": [
- "string"
], - "descriptions": [
- "string"
]
}
], - "excludedLocations": [
- {
- "key": "string",
- "value": "string"
}
], - "radius": 0,
- "bookable": true,
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "parentalTaxonomy": {
- "key": 0,
- "value": "string"
}, - "key": 0,
- "value": "string",
- "name": "string",
- "segmentStatus": "active",
- "includedLocations": [
- {
- "key": "string",
- "value": "string"
}
], - "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
- Payload
{- "categoryTaxonomyId": 0,
- "name": "string",
- "radius": 0,
- "excludedLocations": [
- {
- "key": "string",
- "value": "string"
}
], - "customSetting": {
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "segmentTextList": [
- {
- "suppressDefaultCampaign": true,
- "headlines": [
- "string"
], - "descriptions": [
- "string"
]
}
]
}, - "includedLocations": [
- {
- "key": "string",
- "value": "string"
}
]
}
Response samples
- 200
{- "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
- Payload
{- "categoryTaxonomyId": 0,
- "name": "string",
- "radius": 0,
- "customSetting": {
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "segmentTextList": [
- {
- "suppressDefaultCampaign": true,
- "headlines": [
- "string"
], - "descriptions": [
- "string"
]
}
]
}, - "excludedLocations": [
- {
- "key": "string",
- "value": "string"
}
], - "includedLocations": [
- {
- "key": "string",
- "value": "string"
}
]
}
Response samples
- 200
{- "value": 0
}
Get Taxonomy
Get the category taxonomy details
path Parameters
id required | integer <int64> id of the category taxonomy |
Responses
Response samples
- 200
{- "id": 0,
- "segmentTextList": [
- {
- "suppressDefaultCampaign": true,
- "headlines": [
- "string"
], - "descriptions": [
- "string"
]
}
], - "radius": 0,
- "bookable": true,
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "parentalTaxonomy": {
- "key": 0,
- "value": "string"
}, - "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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string",
- "suggestedCategoryList": [
- {
- "key": 0,
- "value": "string"
}
], - "radius": 0,
- "parentalTaxonomy": {
- "key": 0,
- "value": "string"
}, - "bookable": true
}
], - "total": 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
- 200
{- "data": [
- {
- "engineCode": "string",
- "name": "string",
- "canonicalName": "string",
- "parentId": "string",
- "countryCode": "string",
- "targetType": "string"
}
], - "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
- 200
{- "data": [
- {
- "segmentId": 0,
- "name": "string",
- "key": 0,
- "value": "string",
- "segmentStatus": "active",
- "segmentMessage": "string",
- "isCustomised": true
}
], - "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
- 200
{- "ids": [
- 0
], - "total": 0
}
GET Advertisement Banner Targeting
Get the targeting details for an advertisement subscription product
path Parameters
id required | integer <int64> subscription id of the advertisement subscription tied to the targeting |
Responses
Response samples
- 200
{- "id": 0,
- "ignoreTargeting": true,
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "buIdList": [
- "string"
], - "buAIdList": [
- "string"
], - "kgsList": [
- "string"
], - "tIdList": [
- "string"
], - "locationList": [
- {
- "name": "string",
- "radius": 0,
- "matchType": "BROAD"
}
], - "taoIdList": [
- "string"
]
}
PUT Advertisement Targeting
Method to update a targeting entry
path Parameters
id required | integer <int64> subscription id of the advertisement subscription tied to 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
- Payload
{- "ignoreTargeting": true,
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "buIdList": [
- "string"
], - "buAIdList": [
- "string"
], - "kgsList": [
- "string"
], - "tIdList": [
- "string"
], - "locationList": [
- {
- "name": "string",
- "radius": 0,
- "matchType": "BROAD"
}
], - "taoIdList": [
- "string"
]
}
Response samples
- 200
{- "ignoreTargeting": true,
- "keywordList": [
- {
- "value": "string",
- "matchType": "BROAD"
}
], - "buIdList": [
- "string"
], - "buAIdList": [
- "string"
], - "kgsList": [
- "string"
], - "tIdList": [
- "string"
], - "locationList": [
- {
- "name": "string",
- "radius": 0,
- "matchType": "BROAD"
}
], - "taoIdList": [
- "string"
]
}
GET Advertisement Targeting Types
Returns a list of all possible types of targeting for an advertisement license or subscription
query Parameters
id required | integer <int64> context id of the advertisement license or subscription |
contextType required | string Enum: "License" "Subscription" |
Responses
Response samples
- 200
{- "data": [
- "Keyword"
], - "total": 0
}
GET Advertisement Targeting Location List
Get location groups you can use for targeting settings
query Parameters
id required | integer id of workpace |
name | string name of locationg group |
Responses
Response samples
- 200
{- "data": [
- {
- "groupName": "string",
- "locationsGroup": [
- "string"
]
}
], - "total": 0
}
GET Advertisement 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 advertisement licence you want to get the informations for |
skip | integer skip entries |
take | integer take a given number of entries |
Responses
Response samples
- 200
{- "data": [
- {
- "key": "string",
- "value": "string"
}
], - "total": 0
}
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
- 200
{- "id": 0,
- "destinationUrl": "string",
- "advertisementType": "string",
- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": "string"
}
], - "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
- Payload
{- "destinationUrl": "string",
- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": "string"
}
], - "priority": "VeryLow"
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "advertisementType": "string",
- "textFields": [
- {
- "fieldType": "string",
- "name": "string",
- "minValue": 0,
- "maxValue": 0,
- "mandatory": true
}
], - "imageFields": [
- {
- "name": "string",
- "minWidth": 0,
- "minHeight": 0,
- "maxWidth": 0,
- "maxHeight": 0,
- "mandatory": true
}
]
}
], - "total": 0
}
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
- 200
{- "id": 0,
- "redirectPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "basePhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "poolSize": 0,
- "whisper": {
- "key": 0,
- "value": "string"
}, - "welcomeAnnouncement": {
- "key": 0,
- "value": "string"
}, - "conversionTrackingProfile": {
- "key": 0,
- "value": "string"
}, - "conversionTrackingCaller": true,
- "spamAnalysis": true,
- "spamProtect": true,
- "dynamicCallTracking": true,
- "quarantine": true,
- "note": "string",
- "extensions": [
- {
- "id": 0,
- "extension": 0,
- "connectedSubscription": {
- "key": 0,
- "value": "string"
}, - "note": "string"
}
], - "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
- Payload
{- "redirectPhone": 0,
- "whisper": 0,
- "welcomeAnnouncement": 0,
- "conversionTrackingProfile": 0,
- "conversionTrackingCaller": true,
- "spamAnalysis": true,
- "spamProtect": true,
- "dynamicCallTracking": true,
- "quarantine": true,
- "note": "string",
- "conversionTracked": true
}
Response samples
- 200
{- "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
- Payload
{- "connectedSubscription": 0,
- "note": "string"
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "key": 0,
- "value": "string"
}
], - "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
- 200
{- "data": [
- {
- "key": 0,
- "value": "string"
}
], - "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
- 200
{- "data": [
- {
- "key": 0,
- "value": "string"
}
], - "total": 0
}
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
- 200
{- "id": 0,
- "listingPortal": "Firmeneintrag",
- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": "string"
}
]
}
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
- Payload
{- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": "string"
}
]
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "source": "FE_ordering_process",
- "licenseType": "FREE",
- "name": "string",
- "approved": true,
- "date": "2019-08-24"
}
], - "total": 0
}
GET ListingPortal Stage
Get entry from stage table
path Parameters
id required | integer id of a stage entry |
Responses
Response samples
- 200
{- "id": 0,
- "source": "FE_ordering_process",
- "licenseType": "FREE",
- "externalId": "string",
- "action": "string",
- "data": {
- "company": {
- "id": 0,
- "name": "string",
- "shortName": "string",
- "legalType": "AG",
- "contact": {
- "id": 0,
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "salesMan": {
- "id": 0,
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "externalId": "string",
- "licences": [
- "string"
], - "imprint": "string",
- "globalImprint": true,
- "dataPrivacy": "string",
- "globalDataPrivacy": true,
- "imprintUrl": "string",
- "dataPrivacyUrl": "string",
- "isClaimed": true,
- "vatNr": "string",
- "customFieldsCompany": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "location": {
- "id": 0,
- "externalId": "string",
- "name": "string",
- "categories": [
- {
- "key": 0,
- "value": "string",
- "aliasId": 0,
- "aliasName": "string"
}
], - "address": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "mainPhone": {
- "id": 0,
- "phone": "string",
- "tracked": true,
- "localPhone": "string"
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
], - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "closed": true,
- "eMail": "string",
- "website": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "currentOffer": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "currentOfferText": "string",
- "serviceArea": [
- {
- "key": "POSTAL_CODE",
- "value": "string"
}
], - "isClaimed": true,
- "openingHoursInfo": {
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
], - "timeZone": "string"
}, - "profileQuality": {
- "id": 0,
- "quality": 0,
- "includingProfile": [
- "string"
], - "excludingProfile": [
- "string"
]
}
}, - "locationAdditional": {
- "id": 0,
- "name": "string",
- "description": "string",
- "yearOfFoundation": "string",
- "products": [
- "string"
], - "services": [
- "string"
], - "specialFields": [
- "string"
], - "memberships": [
- "string"
], - "trademarks": [
- "string"
], - "languages": [
- "string"
], - "keywords": [
- "string"
], - "paymentMethods": [
- "string"
], - "possiblePaymentMethods": [
- "string"
], - "imprint": "string",
- "locationImprint": true,
- "dataPrivacy": "string",
- "locationDataPrivacy": true,
- "imprintUrl": "string",
- "dataPrivacyUrl": "string",
- "slogan": "string"
}, - "billingAccount": {
- "id": 0,
- "businessName": "string",
- "address": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "differentAddress": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "parentType": "Company"
}, - "openingHours": {
- "id": 0,
- "days": [
- {
- "day": "Mon",
- "openingDayType": "singleInterval",
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
]
}
], - "note": "string",
- "dateInterval": {
- "from": "2019-08-24",
- "to": "2019-08-24"
}, - "openingHoursType": "default",
- "temporarilyClosedUntil": "2019-08-24"
}, - "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "pictures": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
]
}, - "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
- Payload
{- "id": 0,
- "source": "FE_ordering_process",
- "licenseType": "FREE",
- "externalId": "string",
- "action": "string",
- "data": {
- "company": {
- "id": 0,
- "name": "string",
- "shortName": "string",
- "legalType": "AG",
- "contact": {
- "id": 0,
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "salesMan": {
- "id": 0,
- "salutation": "string",
- "firstName": "string",
- "lastName": "string",
- "eMails": [
- "string"
], - "mainPhone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
]
}, - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "externalId": "string",
- "licences": [
- "string"
], - "imprint": "string",
- "globalImprint": true,
- "dataPrivacy": "string",
- "globalDataPrivacy": true,
- "imprintUrl": "string",
- "dataPrivacyUrl": "string",
- "isClaimed": true,
- "vatNr": "string",
- "customFieldsCompany": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "location": {
- "id": 0,
- "externalId": "string",
- "name": "string",
- "categories": [
- {
- "key": 0,
- "value": "string",
- "aliasId": 0,
- "aliasName": "string"
}
], - "address": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "mainPhone": {
- "id": 0,
- "phone": "string",
- "tracked": true,
- "localPhone": "string"
}, - "alternativePhones": [
- {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
], - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "closed": true,
- "eMail": "string",
- "website": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "currentOffer": {
- "id": 0,
- "url": "string",
- "display": "string"
}, - "currentOfferText": "string",
- "serviceArea": [
- {
- "key": "POSTAL_CODE",
- "value": "string"
}
], - "isClaimed": true,
- "openingHoursInfo": {
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
], - "timeZone": "string"
}, - "profileQuality": {
- "id": 0,
- "quality": 0,
- "includingProfile": [
- "string"
], - "excludingProfile": [
- "string"
]
}
}, - "locationAdditional": {
- "id": 0,
- "name": "string",
- "description": "string",
- "yearOfFoundation": "string",
- "products": [
- "string"
], - "services": [
- "string"
], - "specialFields": [
- "string"
], - "memberships": [
- "string"
], - "trademarks": [
- "string"
], - "languages": [
- "string"
], - "keywords": [
- "string"
], - "paymentMethods": [
- "string"
], - "possiblePaymentMethods": [
- "string"
], - "imprint": "string",
- "locationImprint": true,
- "dataPrivacy": "string",
- "locationDataPrivacy": true,
- "imprintUrl": "string",
- "dataPrivacyUrl": "string",
- "slogan": "string"
}, - "billingAccount": {
- "id": 0,
- "businessName": "string",
- "address": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "differentAddress": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "parentType": "Company"
}, - "openingHours": {
- "id": 0,
- "days": [
- {
- "day": "Mon",
- "openingDayType": "singleInterval",
- "timeIntervals": [
- {
- "from": "string",
- "to": "string"
}
]
}
], - "note": "string",
- "dateInterval": {
- "from": "2019-08-24",
- "to": "2019-08-24"
}, - "openingHoursType": "default",
- "temporarilyClosedUntil": "2019-08-24"
}, - "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "pictures": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
]
}, - "name": "string",
- "approved": true,
- "sugarImport": true,
- "note": "string",
- "date": "2019-08-24"
}
Response samples
- 200
{- "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
- 200
{- "value": 0
}
GET Website
Get the website details for a subscription id.
path Parameters
id required | integer <int64> subscription id representing a website |
Responses
Response samples
- 200
{- "id": 0,
- "url": "string",
- "subDomain": "string",
- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": "string"
}
], - "template": {
- "key": 0,
- "value": "string"
}, - "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
- Payload
{- "textFields": [
- {
- "key": "string",
- "value": "string"
}
], - "imageFields": [
- {
- "key": "string",
- "value": "string"
}
]
}
Response samples
- 200
{- "value": 0
}
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
- 200
{- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
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
- 200
{- "data": [
- {
- "id": 0,
- "publisherId": "string",
- "locationId": "string",
- "url": "string",
- "name": "string",
- "address": "string",
- "phone": "string",
- "latitude": "string",
- "longitude": "string",
- "status": "string",
- "suppressionType": "string",
- "unavailableReasons": {
- "code": "string",
- "reason": "string"
}
}
], - "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
- 200
{- "data": [
- {
- "locationId": "string",
- "publisherId": "string",
- "status": "string",
- "additionalStatus": "string",
- "url": "string",
- "screenShotUrl": "string",
- "statusDetails": [
- {
- "code": "string",
- "type": "string",
- "message": "string"
}
], - "alternateBrands": [
- {
- "name": "string",
- "url": "string"
}
]
}
], - "total": 0
}
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
- 200
{- "verificationMethods": {
- "postData": [
- {
- "businessName": "string",
- "address": "string"
}
], - "phoneData": [
- {
- "number": "string"
}
], - "emailData": [
- {
- "domainName": "string",
- "userName": "string",
- "userNameEditable": true
}
], - "smsData": [
- {
- "number": "string"
}
]
}
}
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
- 200
{- "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
- 200
{- "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
- 200
{- "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
- 200
{- "id": 0,
- "publisherId": "string",
- "locationId": "string",
- "url": "string",
- "name": "string",
- "address": "string",
- "phone": "string",
- "latitude": "string",
- "longitude": "string",
- "status": "string",
- "suppressionType": "string",
- "unavailableReasons": {
- "code": "string",
- "reason": "string"
}
}
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
- 200
{- "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
- 200
{- "meta": {
- "uuid": "string",
- "errors": [
- {
- "code": 0,
- "type": "string",
- "message": "string"
}
]
}, - "data": {
- "count": 0,
- "entityIds": "string"
}
}
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
- 200
{- "meta": {
- "uuid": "string",
- "errors": [
- {
- "code": 0,
- "type": "string",
- "message": "string"
}
]
}, - "data": {
- "count": 0,
- "entityIds": "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
- 200
{- "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
- 200
{- "status": "PROCESSING",
- "profileUrl": "string",
- "error": {
- "type": "string",
- "error": "string"
}, - "actionType": "DUPLICATE",
- "duplicate": [
- {
- "requestRights": "string",
- "locationName": "string",
- "address": {
- "countryCode": "string",
- "postCode": "string",
- "city": "string",
- "addressLines": [
- "string"
]
}, - "verificationState": "string",
- "googleLocationId": "string",
- "phoneNumbers": {
- "primary": "string",
- "additional": [
- "string"
]
}, - "latLang": {
- "lat": 0,
- "long": 0
}
}
], - "selectedDuplicate": {
- "requestRights": "string",
- "locationName": "string",
- "address": {
- "countryCode": "string",
- "postCode": "string",
- "city": "string",
- "addressLines": [
- "string"
]
}, - "verificationState": "string",
- "googleLocationId": "string",
- "phoneNumbers": {
- "primary": "string",
- "additional": [
- "string"
]
}, - "latLang": {
- "lat": 0,
- "long": 0
}
}, - "verify": {
- "availableMethods": [
- "ADDRESS"
], - "selectedMethod": {
- "requestTimestamp": "2021-01-30T08:30:00Z",
- "verificationMethod": {
- "verificationMethod": "ADDRESS",
- "mailerContact": "string",
- "email": "string",
- "phone": "string"
}
}
}, - "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" "REQUEST_VIDEO" |
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
- Payload
{- "actionType": "DUPLICATE_MATCH",
- "duplicateMatch": {
- "requestRights": "string",
- "locationName": "string",
- "address": {
- "countryCode": "string",
- "postCode": "string",
- "city": "string",
- "addressLines": [
- "string"
]
}, - "verificationState": "string",
- "googleLocationId": "string",
- "phoneNumbers": {
- "primary": "string",
- "additional": [
- "string"
]
}, - "latLang": {
- "lat": 0,
- "long": 0
}
}, - "requestPin": {
- "verificationMethod": "ADDRESS",
- "mailerContact": "string",
- "email": "string",
- "phone": "string"
}, - "confirmPin": "string",
- "useMarkeeData": true
}
Response samples
- 200
{- "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
- 200
{- "type": "ACCOUNT_TYPE_UNSPECIFIED",
- "accountId": "string",
- "accountName": "string",
- "primaryOwner": "string",
- "inherited": true,
- "subscriptions": [
- 0
], - "locationId": 0,
- "error": {
- "type": "string",
- "error": "string"
}
}
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
- 200
{- "data": [
- {
- "type": "ACCOUNT_TYPE_UNSPECIFIED",
- "accountId": "string",
- "accountName": "string",
- "primaryOwner": "string",
- "inherited": true,
- "subscriptions": [
- 0
], - "locationId": 0,
- "error": {
- "type": "string",
- "error": "string"
}
}
], - "error": {
- "type": "string",
- "error": "string"
}, - "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
- Payload
{- "type": "ACCOUNT_TYPE_UNSPECIFIED",
- "accountId": "string",
- "accountName": "string",
- "primaryOwner": "string",
- "inherited": true,
- "subscriptions": [
- 0
], - "locationId": 0,
- "error": {
- "type": "string",
- "error": "string"
}
}
Response samples
- 200
{- "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
- Payload
{- "contextType": "Workspace",
- "contextTypeId": 0,
- "account": "string",
- "nextPageToken": "string",
- "includeVerifications": true
}
Response samples
- 200
{- "locations": [
- {
- "name": "string",
- "title": "string",
- "address": "string",
- "verifications": [
- {
- "name": "string",
- "method": "string",
- "state": "string",
- "createTime": "string"
}
], - "duplicate": "string"
}
], - "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
- 200
{- "data": [
- {
- "name": "string",
- "baseUrl": "string"
}
], - "total": 0
}
GET Listing Connection URL
If a location has an active listing subscription and the owner needs to link her/his 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. Note: for now we support only FACEBOOK, GOOGLEMYBUSINESS, LINKEDIN
path Parameters
id required | integer <int64> location id |
query Parameters
publisher required | string Enum: "LINKEDIN" "GOOGLEMYBUSINESS" "FACEBOOK" publisher to get connection url |
Responses
Response samples
- 200
{- "value": "string"
}
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
- 200
{- "id": 0,
- "configuration": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}, - "name": "string",
- "apiKey": "string",
- "image": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "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
- Payload
{- "configuration": [
- {
- "key": "string",
- "value": "string"
}
], - "name": "string",
- "image": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
}
Response samples
- 200
{- "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
- Payload
{- "workspaceId": 0,
- "websiteWidgetType": "Review",
- "configuration": [
- {
- "key": "string",
- "value": "string"
}
], - "name": "string",
- "image": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "configuration": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}, - "websiteWidgetType": "Review"
}
], - "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
- 200
{- "data": [
- {
- "configuration": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}, - "websiteWidgetType": "Review"
}
], - "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
- 200
{- "id": 0,
- "configuration": {
- "id": 0,
- "configuration": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}, - "name": "string",
- "apiKey": "string",
- "image": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "subscriptionCount": 0,
- "websiteWidgetType": "Review",
- "scriptUrl": "string"
}, - "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
- Payload
{- "customWidgetId": "string"
}
Response samples
- 200
{- "value": 0
}
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
- 200
{- "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
- Payload
{- "name": "string",
- "destinationUrl": "string",
- "note": "string"
}
Response samples
- 200
{- "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
- 200
{- "qrType": "CustomRedirect"
}
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
- 200
{- "statisticSource": "matchcraft",
- "configuration": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}
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
- 200
{- "id": 0,
- "statisticSource": "matchcraft",
- "aggregationStart": "2019-08-24",
- "configuration": {
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
}
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
- 200
{- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
]
}
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
- 200
{- "id": 0,
- "videoUrl": "string",
- "generatedAt": "2019-08-24T14:15:22Z",
- "settings": [
- {
- "key": "string",
- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "select",
- "allowedValues": [
- "string"
], - "required": "true",
- "value": "string",
- "url": "string",
- "httpAction": "string",
- "parentKey": "string"
}
], - "warnings": [
- "string"
], - "errors": [
- "string"
], - "youtube": {
- "youtubeId": "string",
- "title": "string",
- "description": "string",
- "url": "string",
- "standardChannel": {
- "channel": {
- "key": "string",
- "value": "string"
}, - "playlist": {
- "key": "string",
- "value": "string"
}
}, - "customChannel": {
- "channel": {
- "key": "string",
- "value": "string"
}, - "playlist": {
- "key": "string",
- "value": "string"
}
}, - "privacyLevel": "public",
- "youtubeUpload": true
}, - "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
|
Responses
Request samples
- Payload
{- "settingValues": [
- {
- "key": "string",
- "value": "string"
}
]
}
Response samples
- 200
{- "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
- 200
{- "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
- Payload
{- "title": "string",
- "description": "string",
- "customChannel": {
- "channel": {
- "key": "string",
- "value": "string"
}, - "playlist": {
- "key": "string",
- "value": "string"
}
}, - "privacyLevel": "public"
}
Response samples
- 200
{- "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
- 200
{- "value": 0
}
GET Meinungsmeister
Get the Meinungsmeister details for a subscription id.
path Parameters
id required | integer <int64> subscription Id |
Responses
Response samples
- 200
{- "id": 0,
- "productName": "string",
- "orderStatus": "new",
- "orderAmount": 0,
- "differentDeliveryAddress": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "reviewWidget": "string",
- "evaluationSheet": {
- "logo": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "color": "string"
}, - "vendorId": "string"
}
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
- 200
{- "id": 0,
- "destinationUrl": "string",
- "displayUrl": "string",
- "reachEnhancementType": "sea",
- "info": [
- {
- "key": "string",
- "value": "string"
}
], - "data": {
- "localCampaign": {
- "name": "string",
- "locationSourceType": "GMB",
- "callClicks": true,
- "drivingDirections": true,
- "roas": 0,
- "radius": 0,
- "languages": [
- "de"
]
}
}, - "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
- Payload
{- "destinationUrl": "string",
- "displayUrl": "string",
- "suppressLocationExtensions": true,
- "data": {
- "localCampaign": {
- "name": "string",
- "callClicks": true,
- "drivingDirections": true,
- "roas": 0,
- "radius": 0
}
}
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "segmentId": 0,
- "name": "string",
- "key": 0,
- "value": "string",
- "segmentStatus": "active",
- "segmentMessage": "string",
- "isCustomised": true
}
], - "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
- 200
{- "languages": [
- "de"
], - "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
- Payload
{- "languages": [
- "de"
]
}
Response samples
- 200
{- "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
- Payload
{- "languages": [
- "de"
]
}
Response samples
- 200
{- "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
- 200
{- "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
- Payload
{- "name": "string"
}
Response samples
- 200
{- "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
- 200
{- "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
- Payload
{- "name": "string"
}
Response samples
- 200
{- "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
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "segmentId": 0,
- "urls": [
- "string"
], - "headlines": [
- "string"
], - "descriptions": [
- "string"
], - "callToActions": [
- "string"
], - "marketingImages": [
- {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}
], - "logoImages": [
- {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}
], - "videos": [
- "string"
]
}
], - "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
- Payload
{- "urls": [
- "string"
], - "headlines": [
- "string"
], - "descriptions": [
- "string"
], - "callToActions": [
- "string"
], - "marketingImages": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
], - "logoImages": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
], - "videos": [
- "string"
]
}
Response samples
- 200
{- "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
- 200
{- "id": 0,
- "segmentId": 0,
- "urls": [
- "string"
], - "headlines": [
- "string"
], - "descriptions": [
- "string"
], - "callToActions": [
- "string"
], - "marketingImages": [
- {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}
], - "logoImages": [
- {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}
], - "videos": [
- "string"
]
}
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
- Payload
{- "urls": [
- "string"
], - "headlines": [
- "string"
], - "descriptions": [
- "string"
], - "callToActions": [
- "string"
], - "marketingImages": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
], - "logoImages": [
- {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
], - "videos": [
- "string"
]
}
Response samples
- 200
{- "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
- 200
{- "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
- 200
{- "ids": [
- 0
], - "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
- 200
{- "ids": [
- 0
], - "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
- 200
{- "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
- Payload
{- "budgetTarget": 0
}
Response samples
- 200
{- "value": 0
}
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
- 200
{- "response": {
- "total": 0,
- "data": [
- {
- "messageId": "string",
- "incoming": true,
- "text": "string",
- "image": "string",
- "sendTime": "string"
}
]
}
}
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
- 200
{- "total": 0,
- "data": [
- {
- "displayName": "string",
- "lastMessage": "string",
- "sendTime": "string",
- "answered": true,
- "conversationId": "string",
- "subscriptionId": 0,
- "locationId": 0,
- "locationName": "string",
- "channelId": 0,
- "channelName": "string",
- "agentId": 0,
- "companyId": 0
}
]
}
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
- 200
{- "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
- 200
{- "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
- Payload
{- "text": "string",
- "image": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
}
Response samples
- 200
{- "value": 0
}
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
- Payload
{- "welcomeMessage": "string",
- "offlineMessage": "string",
- "privacyPolicyUrl": "string",
- "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "availableHours": [
- {
- "endDay": "FRIDAY",
- "endTime": {
- "hours": 0,
- "nanos": 0,
- "minutes": 0,
- "seconds": 0
}, - "startDay": "SATURDAY",
- "startTime": {
- "hours": 0,
- "nanos": 0,
- "minutes": 0,
- "seconds": 0
}, - "timeZone": "string"
}
], - "agentType": "string"
}
Response samples
- 200
{- "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
- 200
{- "count": 0,
- "data": [
- {
- "agentId": 0,
- "subscriptionId": 0,
- "locationId": 0,
- "locationName": "string",
- "welcomeMessage": "string",
- "offlineMessage": "string",
- "privacyPolicyUrl": "string",
- "brandId": 0,
- "brandName": "string",
- "agentName": "string",
- "displayName": "string",
- "agentType": "string",
- "logo": "string",
- "availableHours": [
- {
- "endDay": "FRIDAY",
- "endTime": {
- "hours": 0,
- "nanos": 0,
- "minutes": 0,
- "seconds": 0
}, - "startDay": "SATURDAY",
- "startTime": {
- "hours": 0,
- "nanos": 0,
- "minutes": 0,
- "seconds": 0
}, - "timeZone": "string"
}
]
}
]
}
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
- Payload
{- "welcomeMessage": "string",
- "offlineMessage": "string",
- "privacyPolicyUrl": "string",
- "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "availableHours": [
- {
- "endDay": "FRIDAY",
- "endTime": {
- "hours": 0,
- "nanos": 0,
- "minutes": 0,
- "seconds": 0
}, - "startDay": "SATURDAY",
- "startTime": {
- "hours": 0,
- "nanos": 0,
- "minutes": 0,
- "seconds": 0
}, - "timeZone": "string"
}
], - "agentType": "string"
}
Response samples
- 200
{- "value": 0
}
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
- 200
{- "count": 0,
- "data": [
- {
- "id": 0,
- "name": "string",
- "displayName": "string"
}
]
}
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
- Payload
{- "active": true
}
Response samples
- 200
{- "value": 0
}
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
- 200
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
- 200
{- "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
- Payload
{- "generalSetting": {
- "imprintUrl": "string",
- "privacyUrl": "string",
- "termsConditionsUrl": "string",
- "defaultCountry": "string"
}, - "passwordPolicySetting": {
- "passwordMinLength": 0,
- "passwordUppercaseChar": 0,
- "passwordLowercaseChar": 0,
- "passwordDigits": 0,
- "passwordSpecialChar": 0
}, - "emailSetting": {
- "emailName": "string",
- "emailSender": "string",
- "emailFooter": "string",
- "emailLogo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
}, - "supportSetting": {
- "supportEmail": "string",
- "supportPhone": "string",
- "supportWebsite": {
- "displayName": "string",
- "url": "string"
}
}, - "selfServiceSetting": {
- "language": "de"
}
}
Response samples
- 200
{- "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 |
object (SupportSettingWebsite) | |
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 |
defaultCountry | string default country setting for this workspace, indicating where (most of the) locations are located. ISO 3166-1 alpha-2 |
Responses
Request samples
- Payload
{- "imprintUrl": "string",
- "privacyUrl": "string",
- "termsConditionsUrl": "string",
- "emailName": "string",
- "emailSender": "string",
- "emailFooter": "string",
- "emailLogo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "supportPhone": "string",
- "supportEmail": "string",
- "supportWebsite": {
- "displayName": "string",
- "url": "string"
}, - "language": "de",
- "passwordMinLength": 0,
- "passwordUppercaseChar": 0,
- "passwordLowercaseChar": 0,
- "passwordDigits": 0,
- "passwordSpecialChar": 0,
- "defaultCountry": "string"
}
Response samples
- 200
{- "value": 0
}
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
- Payload
{- "primaryColor": "string",
- "loginBackgroundColor": "string",
- "domain": "string",
- "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "favicon": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "googleMapApiKey": "string",
- "redirectUrl": "string"
}
Response samples
- 200
{- "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
- Payload
{- "primaryColor": "string",
- "loginBackgroundColor": "string",
- "domain": "string",
- "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "favicon": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}
}
Response samples
- 200
{- "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
- Payload
{- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "type": "text",
- "allowedValues": [
- "string"
], - "required": "true",
- "url": "string",
- "parentKey": "string",
- "httpAction": "string"
}
Response samples
- 200
{- "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
- 200
{- "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
- Payload
{- "name": [
- {
- "lang": "de",
- "value": "string"
}
], - "required": "true"
}
Response samples
- 200
{- "value": 0
}
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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string",
- "includedWorkspaces": [
- {
- "key": 0,
- "value": "string"
}
]
}
], - "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
- Payload
{- "name": "string",
- "includedWorkspaces": [
- {
- "key": 0,
- "value": "string"
}
], - "allowedDomain": [
- "string"
], - "language": "string"
}
Response samples
- 200
{- "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
- 200
{- "id": 0,
- "name": "string",
- "scanAPIKey": "string",
- "includedWorkspaces": [
- {
- "key": 0,
- "value": "string"
}
], - "excludedPortals": [
- "string"
], - "allowedDomain": [
- "string"
], - "logo": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "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
- Payload
{- "name": "string",
- "includedWorkspaces": [
- {
- "key": 0,
- "value": "string"
}
], - "excludedPortals": [
- "string"
], - "allowedDomain": [
- "string"
], - "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "showErrorPortals": true,
- "activeProducts": true,
- "language": "string"
}
Response samples
- 200
{- "value": 0
}
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
- 200
{- "id": 0,
- "name": "string",
- "status": "active",
- "startDate": "2019-08-24",
- "startTime": "14:15:22Z",
- "endDate": "2019-08-24",
- "endTime": "14:15:22Z",
- "workspace": {
- "key": 0,
- "value": "string"
}, - "template": {
- "key": 0,
- "value": "string"
}, - "contentElements": [
- {
- "key": 0,
- "value": "string"
}
], - "email": {
- "subject": "string",
- "body": "string"
}, - "logo": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "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
- Payload
{- "name": "string",
- "workspaceId": 0,
- "startDate": "2019-08-24",
- "startTime": "14:15:22Z",
- "endDate": "2019-08-24",
- "endTime": "14:15:22Z",
- "status": "active",
- "template": {
- "key": 0,
- "value": "string"
}, - "contentElements": [
- {
- "key": 0,
- "value": "string"
}
], - "email": {
- "subject": "string",
- "body": "string"
}, - "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "privacyUrl": "string",
- "imprintUrl": "string",
- "targetAllLocations": true
}
Response samples
- 200
{- "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
- Payload
{- "name": "string",
- "startDate": "2019-08-24",
- "startTime": "14:15:22Z",
- "endDate": "2019-08-24",
- "endTime": "14:15:22Z",
- "status": "planned",
- "template": {
- "key": 0,
- "value": "string"
}, - "contentElements": [
- {
- "key": 0,
- "value": "string"
}
], - "email": {
- "subject": "string",
- "body": "string"
}, - "logo": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "privacyUrl": "string",
- "imprintUrl": "string",
- "targetAllLocations": true
}
Response samples
- 200
{- "value": 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
- 200
{- "data": [
- {
- "id": 0,
- "name": "string",
- "status": "active",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "feedback": 0
}
], - "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
- 200
{- "type": [
- "string"
], - "location": {
- "key": 0,
- "value": "string"
}, - "address": {
- "id": 0,
- "country": "string",
- "postCode": "string",
- "city": "string",
- "state": "string",
- "house": "string",
- "additive": "string",
- "subLocality": "string",
- "coordinate": {
- "lat": 0,
- "lon": 0
}, - "suppress": true,
- "street": "string"
}, - "contact": {
- "phone": "string",
- "email": "string"
}, - "logo": "string",
- "privacyLink": "string",
- "impressumLink": "string",
- "valid": true,
- "context": {
- "key": "string",
- "value": "string"
}
}
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
- 200
{- "data": [
- {
- "templateGroup": {
- "key": 0,
- "value": "string"
}, - "availableEmailTemplates": [
- {
- "id": 0,
- "name": "string",
- "reportType": "alert"
}
]
}
], - "total": 0
}
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
- 200
{- "value": 0
}
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
- 200
"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
- 200
{- "value": 0
}
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
- 200
{- "data": [
- {
- "id": 0,
- "userName": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "active": true,
- "groups": [
- "string"
], - "tags": [
- "string"
]
}
], - "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
- Payload
{- "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": [
- {
- "key": "string",
- "value": "string"
}
], - "tags": [
- "string"
], - "profilePicture": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "salutation": "string",
- "userType": "agency service",
- "phone": {
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}
}
Response samples
- 200
{- "value": 0
}
Response samples
- 200
{- "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": [
- {
- "key": "string",
- "value": "string"
}
], - "tags": [
- "string"
], - "salutation": "string",
- "userType": "agency service",
- "profilePicture": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "phone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "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
- Payload
{- "userName": "string",
- "email": "string",
- "locked": true,
- "position": "string",
- "firstName": "string",
- "lastName": "string",
- "languageCode": "string",
- "url": "string",
- "template": 0,
- "settings": [
- {
- "key": "string",
- "value": "string"
}
], - "tags": [
- "string"
], - "profilePicture": {
- "imageType": "GoogleProfilImage",
- "fileType": "jpg",
- "data": "string",
- "url": "string"
}, - "salutation": "string"
}
Response samples
- 200
{- "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
- 200
{- "value": true
}
Response samples
- 200
{- "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": [
- {
- "key": "string",
- "value": "string"
}
], - "tags": [
- "string"
], - "salutation": "string",
- "userType": "agency service",
- "profilePicture": {
- "id": 0,
- "fileName": "string",
- "url": "string",
- "imageType": "GoogleProfilImage"
}, - "phone": {
- "id": 0,
- "phoneType": "landline",
- "phone": "string",
- "tracked": true
}, - "ssoUser": true
}
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
- Payload
{- "userId": 0,
- "loggedInUserPassword": "string"
}
Response samples
- 200
{- "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
- 200
{- "data": [
- "string"
], - "total": 0,
- "locationPermission": [
- "string"
]
}
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
- 200
{- "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
- 200
{- "value": 0
}
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
- Payload
{- "email": "string",
- "url": "string",
- "template": 0
}
Response samples
- 200
{- "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
- Payload
{- "token": "string",
- "password": "string"
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "id": 0,
- "firstName": "string",
- "lastName": "string",
- "contextId": 0,
- "spaceName": "string",
- "groupId": 0,
- "groupName": "string",
- "contextType": "string"
}
], - "total": 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
- 200
{- "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
- 200
{- "data": [
- {
- "key": "string",
- "value": "string"
}
], - "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
- 200
{- "data": [
- {
- "data": [
- {
- "key": "string",
- "value": "string"
}
], - "total": 0,
- "sum": 0,
- "contextType": "string"
}
], - "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
- 200
{- "data": [
- {
- "key": "string",
- "value": "string"
}
], - "total": 0,
- "sum": 0,
- "contextType": "string"
}
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
- 200
{- "data": [
- {
- "kpi": "string",
- "unit": "string",
- "sum": 0,
- "periodicChange": 0,
- "periodicImprovement": true,
- "extendedKpiSums": [
- {
- "key": "string",
- "value": 0,
- "periodicChange": 0,
- "periodicImprovement": true
}
], - "meta": [
- {
- "key": "string",
- "value": 0,
- "type": "string"
}
]
}
], - "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
- 200
{- "data": [
- {
- "kpi": "string",
- "unit": "string",
- "sum": 0,
- "extendedKpiSums": [
- {
- "key": "string",
- "value": 0,
- "periodicChange": 0,
- "periodicImprovement": true
}
], - "data": [
- {
- "key": "string",
- "value": 0,
- "extendedKpiValues": [
- {
- "key": "string",
- "value": 0,
- "periodicChange": 0,
- "periodicImprovement": true
}
], - "meta": [
- {
- "key": "string",
- "value": 0,
- "type": "string"
}
]
}
], - "meta": [
- {
- "key": "string",
- "value": 0,
- "type": "string"
}
]
}
], - "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
- 200
{- "data": [
- {
- "kpi": "string",
- "extendedKpiList": [
- "string"
]
}
], - "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
- 200
{- "data": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "caller": "string",
- "calledTracked": "string",
- "calledReal": "string",
- "duration": 0,
- "status": 0,
- "subscriberId": "string",
- "merchantName": "string",
- "spam": true,
- "valid": true
}
], - "total": 0
}
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
- 200
{- "data": [
- {
- "id": 0,
- "location": {
- "key": 0,
- "value": "string"
}, - "startDate": "2019-08-24",
- "processingDate": "2019-08-24",
- "portal": "string",
- "status": "OPEN",
- "ignore": true,
- "taskType": "ProfileLinking",
- "context": {
- "key": 0,
- "value": "string"
}, - "note": "string"
}
], - "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
- Payload
{- "ignore": true,
- "note": "string",
- "status": "OPEN"
}
Response samples
- 200
{- "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
- 200
{- "data": [
- {
- "key": 0,
- "value": "string"
}
], - "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
- 200
{- "data": [
- {
- "key": "string",
- "value": 0
}
], - "total": 0
}
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
- 200
{- "data": [
- {
- "key": "string",
- "value": 0
}
], - "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
- 200
{- "data": [
- {
- "subscriptionId": 0,
- "locationId": 0,
- "locationName": "string",
- "companyName": "string",
- "timeUsed": 0,
- "fullfilled": 0,
- "status": "string"
}
], - "total": 0
}