Passa al contenuto principale

Contacthub API (1.299.1)

Download OpenAPI specification:Download

The Contacthub API allows you to collect, store, update and export the digital data of your customers.

Analytics

Analytics and stats endpoints.

Number of customer events by category

Counts the number of events aggregated by category for a customer. The default date range is the last year and the default resolution mode is DAILY.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

mode
string
Enum: "DAILY" "WEEKLY" "MONTHLY"

The distribution mode. limitation date range:

  • DAILY -> 1 year
  • WEEKLY -> 5 years
  • MONTHLY -> 10 years the system automatically changes the start parameter if it exceeds the limit.

Responses

Response samples

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

Customer buying behaviors

Gets the customer buying behavior counters. The default date range is the last year.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

Responses

Response samples

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

Workspace information and total number of customers

Gets workspace information and total number of customers

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "status": "string",
  • "customers": 0
}

Nodes information and total number of customers

Gets nodes information and total number of customers

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Number of customers

Counts the total number of customers.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Number of customers by creation date

Counts the number of customers aggregate by registeredAt. The default date range is the last year and the default resolution mode is MONTHLY.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

mode
string
Enum: "DAILY" "WEEKLY" "MONTHLY"

The distribution mode. limitation date range:

  • DAILY -> 1 year
  • WEEKLY -> 5 years
  • MONTHLY -> 10 years the system automatically changes the start parameter if it exceeds the limit.
nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Number of customers by available communication channels

Counts the number of customers by the available communication channels: email and mobile, email only, mobile only, not reachable.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Number of customers by update date

New customers added/changed/deleted in the date range. The default date range is the last month, and the max date range is 1 year for (1 month for deleted customers)

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

type
string
Default: "ADDED"
Enum: "ADDED" "UPDATED" "DELETED"

Specifies the type of aggregation (ADDED, UPDATED, DELETED).

nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Number of events by update date

New events added/changed/deleted in the date range. The default date range is the last month, and the max date range is 1 year (1 month for deleted events).

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

type
string
Default: "ADDED"
Enum: "ADDED" "UPDATED" "DELETED"

Specifies the type of aggregation (ADDED, UPDATED, DELETED).

nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Number of events by type and context

Events in the date range aggregated by type and context. Field 'date' of the event is used to filtered and aggregate events. The default date range is the last month, and the max date range is 1 year.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

context
string
Default: "ALL"
Enum: "WEB" "MOBILE" "ECOMMERCE" "RETAIL" "SOCIAL" "DIGITAL_CAMPAIGN" "CONTACT_CENTER" "IOT" "OTHER" "ALL"

Specifies the context.

nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Events Kpi Purchases

Events Kpi Purchases. Field 'date' of the event is used to filtered and aggregate events. The default date range is the last month.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

type
string
Default: "ALL"
Enum: "ECOMMERCE" "RETAIL" "ALL"

Specifies kpi purchases type.

nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Events Kpi Ecommerce

Events Kpi Ecommerce. Field 'date' of the event is used to filtered and aggregate events. The default date range is the last month.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Events Kpi Web

Events Kpi Web. Field 'date' of the event is used to filtered and aggregate events. The default date range is the last month.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
start
string <date-time>

Start date.

end
string <date-time>

End date.

nodeId
string <uuid>

Filter the entities belonging to this node id.

Responses

Response samples

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

Bulk-jobs

Bulk-jobs endpoints.

Get bulk jobs per node

Gets the list of bulk jobs filtered by node id. Can also be filtered by status and entity type.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

query Parameters
status
string (BulkJobStatus)
Enum: "LOADED" "SCHEDULED" "PROCESSING" "STOPPED" "PROCESSED" "FAILED"
Example: status=LOADED

Job status to search for

entity
string (BulkJobEntity)
Enum: "CUSTOMER" "EVENT"
Example: entity=CUSTOMER

Job entity type to search for

size
integer

Size of the response.

sort
string

Sorting of the response.

page
integer

Page of the response.

Responses

Response samples

Content type
application/json
{
  • "page": {
    },
  • "elements": [
    ]
}

Create a bulk job

Creates new bulk job resource and uploads the input file from which the bulk job will retrieve the data. The job status will be LOADED or FAILED based on the result of the file upload. A maximum of 10 jobs with status LOADED can exist for each node.

Please note that entities are not guaranteed to be created in the same order as they are in the file.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Request Body schema: multipart/form-data
file
required
string <binary>

CSV file data.

operation
required
string (BulkJobOperation)
Enum: "UPSERT" "INSERT" "DELETE"

The bulk job operation mode.

entity
string (BulkJobEntity)
Enum: "CUSTOMER" "EVENT"

The entity type of the bulk job.

eventType
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

Type of the target event/s (immutable).

Responses

Request samples

Content type
multipart/form-data
externalId,base.firstName,base.contacts.email
100,John,Doe@example.com

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "filename": "string",
  • "operation": "UPSERT",
  • "workspaceId": "string",
  • "nodeId": "string",
  • "entity": "CUSTOMER",
  • "eventType": "abandonedCart",
  • "bulkJobName": "string",
  • "status": "LOADED",
  • "errorMessage": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "processedEntities": 0,
  • "failedEntities": 0,
  • "totalEntities": 0
}

Get a single bulk job

Gets a bulk job by id.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

jobId
required
string <uuid>

The unique identifier of the job

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "filename": "string",
  • "operation": "UPSERT",
  • "workspaceId": "string",
  • "nodeId": "string",
  • "entity": "CUSTOMER",
  • "eventType": "abandonedCart",
  • "bulkJobName": "string",
  • "status": "LOADED",
  • "errorMessage": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "processedEntities": 0,
  • "failedEntities": 0,
  • "totalEntities": 0
}

Get bulk job results

Gets bulk job results in .csv format; can be accessed only when a job is either PROCESSED or FAILED.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

jobId
required
string <uuid>

The unique identifier of the job

Responses

Configuration

Configuration endpoints.

Get workspace configuration

Gets the workspace configuration.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "industry": "GDO",
  • "timezone": "Europe/Rome",
  • "currency": "EUR",
  • "customerUniquenessPolicy": "MERGE",
  • "tier": null
}

Modify workspace configuration

Modifies the workspace configuration.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

Object necessary to modify the workspace configuration.

name
string

Name of workspace.

industry
string
Default: "NotDefined"
Enum: "GDO" "Luxury" "Automotive" "NotDefined"

Industry of workspace.

logo
string or null <uri>

Url of workspace logo.

timezone
string or null (Timezone)
Default: "Europe/Rome"
Enum: "Europe/Rome" "Europe/Paris" "Europe/London"

Default timezone of workspace.

currency
string
Default: "EUR"
Enum: "EUR" "USD" "JPY"

Default currency of workspace.

customerUniquenessPolicy
string or null
Default: "MERGE"
Value: "MERGE"

[Deprecated]: the only value accepted is MERGE

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "industry": "GDO",
  • "timezone": "Europe/Rome",
  • "currency": "EUR",
  • "customerUniquenessPolicy": "MERGE"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "industry": "GDO",
  • "timezone": "Europe/Rome",
  • "currency": "EUR",
  • "customerUniquenessPolicy": "MERGE",
  • "tier": null
}

Get the workspace throttling

Gets the workspace throttling configuration. The value 0 (zero) means that throttling is disabled.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

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

Modify the workspace throttling

Modifies the workspace throttling configuration. The value 0 (zero) means that throttling is disabled.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

Object necessary to modify the workspace throttling configuration.

maxRequestsPerMinute
integer >= 0

max requests per minute for workspace.

Responses

Request samples

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

Response samples

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

List event configurations

Gets the list of the built-in event configurations.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
resolveReferences
boolean

Whether to resolve references or not.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Get event configuration

Gets the details of a built-in event.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

eventType
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

The name of event type.

query Parameters
resolveReferences
boolean

Whether to resolve references or not.

Responses

Response samples

Content type
application/json
{
  • "id": "abandonedCart",
  • "type": "abandonedCart",
  • "mode": "ACTIVE",
  • "label": "string",
  • "description": "string",
  • "propertiesSchema": { },
  • "enabled": true
}

Modify event configuration

Enables or disables a built-in event. This endpoint is deprecated. Please use /workspaces/{workspaceId}/configuration/events/{eventType}/enabled.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

eventType
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

The name of event type.

query Parameters
resolveReferences
boolean

Whether to resolve references or not.

Request Body schema: application/json
required

Event object for enable or disable.

id
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

Type of the target event/s (immutable).

type
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

Type of the target event/s (immutable).

enabled
boolean
Default: true

Flag for enable-disable event.

Responses

Request samples

Content type
application/json
{
  • "id": "abandonedCart",
  • "type": "abandonedCart",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "abandonedCart",
  • "type": "abandonedCart",
  • "mode": "ACTIVE",
  • "label": "string",
  • "description": "string",
  • "propertiesSchema": { },
  • "enabled": true
}

Get event properties

Gets the event type properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

eventType
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

The name of event type.

query Parameters
resolveReferences
boolean

Whether to resolve references or not.

Responses

Response samples

Content type
application/json
{ }

Get event extended properties

Gets the event type extended properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

eventType
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

The name of event type.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Modify event extended properties

Modifies an event type extended properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

eventType
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

The name of event type.

Request Body schema: application/json
required

The json schema that defines the extended profile.

Each json schema property can include the following custom property: label, enabled, indexed and mergePolicy.

Property indexed can only be changed by users with role CLAB_OPERATOR.

In property names it is not possible to use "." (e.g. "my.property")

additional property
(object or object or object or object) or (object or object) or (object or object) or (object or object)
One of
One of
type
required
string
Enum: "number" "integer" "boolean"
object

Responses

Request samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Modify event state

Enables or disables a built-in event type.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

eventType
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

The name of event type.

Request Body schema: application/json
required

The value of the state.

value
boolean

True to enable the property, False to disable the property.

Responses

Request samples

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

Response samples

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

Get event types

Gets configured event types of a workspace.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "id": "abandonedCart",
  • "mode": "ACTIVE",
  • "enabled": true
}

Get configured event types for products update policy

Gets configured event types that updates products registry

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

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

Modify configured event types for products update policy

Modifies configured event types that updates products registry

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

list of event types.

eventTypes
Array of strings or null (ProductAwareEventType)
Enum: "completedOrder" "abandonedCart" "addedCompare" "addedProduct" "addedWishlist" "removedCompare" "removedProduct" "removedWishlist" "viewedProduct" "reviewedProduct"

set of event types

Responses

Request samples

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

Response samples

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

Get plan model

Gets the available custom fields and the extended properties of the given plan model.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

planModel
required
string (PlanModel)
Enum: "ABANDONED_CART" "ATTENDANCE_EVENT" "COUPON" "ORDER" "ORDER_LINE" "PRODUCT_INTERACTION" "SERVICE_SUBSCRIBED" "SERVICE_UNSUBSCRIBED" "WEB_BROWSING_EVENT"

The model of event which is exported to plan.

Responses

Response samples

Content type
application/json
{
  • "plan": [
    ],
  • "hub": {
    }
}

Get product extended properties

Gets the product extended properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Modify product extended properties

Modifies the product extended properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The json schema that defines the extended profile.

Each json schema property can include the following custom property: label, enabled, indexed and mergePolicy.

Property indexed can only be changed by users with role CLAB_OPERATOR.

In property names it is not possible to use "." (e.g. "my.property")

additional property
(object or object or object or object) or (object or object) or (object or object) or (object or object)
One of
One of
type
required
string
Enum: "number" "integer" "boolean"
object

Responses

Request samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Get workspace retention policy status

Gets the retention policy status for a workspace.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
{
  • "property1": {
    },
  • "property2": {
    }
}

Get workspace retention policy

Gets the retention policy for each built-in event of a specific workspace.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Modify workspace retention policy

Configures the retention policy for each built-in event of a specific workspace.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The retention policy for each built-in event.

additional property
object (EventRetentionPolicy)
months
integer >= 0

Retention time in months.

Responses

Request samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Get workspace events consent policy

Gets the workspace events consent policy.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "property1": [
    ],
  • "property2": [
    ]
}

Modify workspace events consent policy

Modifies the workspace events consent policy.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The consent policy for each built-in event.

property name*
additional property
Array of strings

Type of event which the consent policy is added to.

Responses

Request samples

Content type
application/json
{
  • "property1": [
    ],
  • "property2": [
    ]
}

Response samples

Content type
application/json
{
  • "property1": [
    ],
  • "property2": [
    ]
}

Get workspace events payload size

Gets the workspace events payload size.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Modify workspace events payload size

Modifies the workspace events payload size.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The payload size for each built-in event.

additional property
object
maxBytes
integer [ 65535 .. 380928 ]

Max payload size in bytes.

Responses

Request samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

List nodes

Gets a paged list of the nodes.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
page
integer [ 0 .. 50 ]
Default: 0

Paging: the page number.

size
integer [ 0 .. 50 ]
Default: 20

Paging: the page size.

nodeType
string
Enum: "ENTRY" "AGGREGATE"

The type of the node.

Responses

Response samples

Content type
application/json
{
  • "page": {
    },
  • "elements": [
    ]
}

Get node retention policy

Gets the retention policy for each built-in event of a specific node (entry or aggregate).

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the node (entry or aggregate).

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "events": {
    }
}

Modify node retention policy

Configures the retention policy for each built-in event for a specific node (entry or aggregate).

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of entry node (entry or aggregate).

Request Body schema: application/json
required

The retention policy for each built-in event.

enabled
boolean

Events retention policy state.

object (RetentionPolicyByEvent)

a map by event id of the retention status for every event of the workspace

EXAMPLE

  {
    "campaignSent": {
      "months": 6
    },
    "addedReward": {
      "months": 12
    }
  }

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "events": {
    }
}

Response samples

Content type
application/json
{
  • "enabled": true,
  • "events": {
    }
}

List entry nodes

Gets a paged list of the entries node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
page
integer [ 0 .. 50 ]
Default: 0

Paging: the page number.

size
integer [ 0 .. 50 ]
Default: 20

Paging: the page size.

Responses

Response samples

Content type
application/json
{
  • "page": {
    },
  • "elements": [
    ]
}

Create entry node

Creates a new entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The entry node object.

name
required
string

The name of entry node.

description
string or null

The description of entry node.

imageUrl
string or null <uri>

The url of logo.

object (UniqueCustomer)
sourcePriority
Array of strings <uuid> [ items <uuid > ]

Array of source id

mandatoryProperties
Array of strings

Array of mandatory properties.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "http://example.com",
  • "uniqueCustomer": {
    },
  • "sourcePriority": [
    ],
  • "mandatoryProperties": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "http://example.com",
  • "uniqueCustomer": {
    },
  • "sourcePriority": [
    ],
  • "mandatoryProperties": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Get entry node

Gets the details of a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "http://example.com",
  • "uniqueCustomer": {
    },
  • "sourcePriority": [
    ],
  • "mandatoryProperties": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Modify entry node

Modifies a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Request Body schema: application/json
required

The entry node object.

id
required
string <uuid>

The identifier of entry node.

name
required
string

The name of entry node.

description
string or null

The description of entry node.

imageUrl
string or null <uri>

The url of logo.

required
object (UniqueCustomer)
sourcePriority
Array of strings <uuid> [ items <uuid > ]

Array of source id

mandatoryProperties
Array of strings

Array of mandatory properties.

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "imageUrl": "http://example.com",
  • "uniqueCustomer": {
    },
  • "sourcePriority": [
    ],
  • "mandatoryProperties": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "http://example.com",
  • "uniqueCustomer": {
    },
  • "sourcePriority": [
    ],
  • "mandatoryProperties": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Delete entry node

Deletes a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Responses

Empty entry node

Removes all the data in a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

query Parameters
eventsOnly
boolean

Empty events only.

Responses

Get entry node retention policy

Gets the retention policy for each built-in event of a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Modify entry node retention policy

Configures the retention policy for each built-in event of a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Request Body schema: application/json
required

The retention policy for each built-in event.

additional property
object (EventRetentionPolicy)
months
integer >= 0

Retention time in months.

Responses

Request samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Get entry node retention policy state

Gets the retention policy state for a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Responses

Response samples

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

Modify entry node retention policy state

Configures the retention policy state for a specific entry node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the entry node.

Request Body schema: application/json
required

The retention policy state.

enabled
boolean

Events retention policy state.

Responses

Request samples

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

Response samples

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

List aggregate nodes

Gets the list of the aggregate nodes.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Create aggregate node

Creates a new aggregate node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The aggregate node object.

name
string

The name of aggregate node.

description
string or null

The description of aggregate node.

imageUrl
string or null

The url of the logo.

entryNodes
Array of strings <uuid> non-empty [ items <uuid > ]
object
Array of objects or null

Exclusion filters can be applied on the aggregate node to exclude customers and associated events (max 10 filters).

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "entryNodes": [
    ],
  • "matchingProperties": {
    },
  • "exclusionFilters": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "entryNodes": [
    ],
  • "matchingProperties": {
    },
  • "exclusionFilters": [
    ],
  • "state": "ACTIVE",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Get aggregate node

Gets the details of a specific aggregate node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

aggregateNodeId
required
string <uuid>

The unique identifier of the aggregate node.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "entryNodes": [
    ],
  • "matchingProperties": {
    },
  • "exclusionFilters": [
    ],
  • "state": "ACTIVE",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Modify aggregate node

Modifies an aggregate node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

aggregateNodeId
required
string <uuid>

The unique identifier of the aggregate node.

Request Body schema: application/json
required

The aggregate node object. The properties entryNodes and matchingProperties cannot be changed.

name
string

The name of aggregate node.

description
string or null

The description of aggregate node.

imageUrl
string or null

The url of the logo.

entryNodes
Array of strings <uuid> non-empty [ items <uuid > ]
object
Array of objects or null

Exclusion filters can be applied on the aggregate node to exclude customers and associated events (max 10 filters).

state
string
Enum: "ACTIVE" "NEW" "LOCKED" "REMOVED"

State of aggregate node.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "entryNodes": [
    ],
  • "matchingProperties": {
    },
  • "exclusionFilters": [
    ],
  • "state": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "entryNodes": [
    ],
  • "matchingProperties": {
    },
  • "exclusionFilters": [
    ],
  • "state": "ACTIVE",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Delete aggregate node

Deletes an aggregate node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

aggregateNodeId
required
string <uuid>

The unique identifier of the aggregate node.

Responses

Modify aggregate node state

Changes the state of an aggregate node. Currently the only supported transition is from NEW to ACTIVE.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

aggregateNodeId
required
string <uuid>

The unique identifier of the aggregate node.

Request Body schema: application/json
required

The aggregate node state.

state
string
Enum: "ACTIVE" "NEW" "LOCKED" "REMOVED"

State of aggregate node.

Responses

Request samples

Content type
application/json
{
  • "state": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "state": "ACTIVE"
}

List aggregate node send source subscriptions

Gets all the send source subscriptions of an aggregate node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

aggregateNodeId
required
string <uuid>

The unique identifier of the aggregate node.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get customer base properties

Gets all the customer base properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

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

Modify customer base property state

Enables or disables a customer base property.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

name
required
string

The name of the customer base property.

Request Body schema: application/json
required

The object to enable or disable the property.

name
string

The json path of the base property.

description
string

The description of base property.

enabled
boolean

Flag for enable/disable the base property.

Responses

Request samples

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

Response samples

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

Get customer extended properties

Gets customer extended properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Modify customer extended properties

Modifies customer extended properties.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The json schema that defines the extended profile.

Each json schema property can include the following custom property: label, enabled, indexed, and mergePolicy. For properties of type String, the property maxLength is required; the default value (i.e. if no other value is passed) is 255 for scalar properties, 1000 for String array properties (in this case, the maxLength property refers to the sum of the lengths of strings in the array plus length of separators)

MaxLength property must be between 1 and 6000

Property indexed can only be changed by users with role CLAB_OPERATOR.

In property names it is not possible to use "." (e.g. "my.property")

additional property
(object or object or object or object) or (object or object) or (object or object) or (object or object)
One of
One of
type
required
string
Enum: "number" "integer" "boolean"
object

Responses

Request samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

List sources

Gets the workspace source list.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Create source

Creates a new source. Only CLAB_OPERATOR and ADMIN roles are allowed to create a Send source. Please note that sources with the following providers can no longer be created (Javascript, MAGENTO, ANDROID_SDK, OBJECTIVEC_SDK, NODEJS_SDK, JAVA_SDK, SCALA_SDK, DOTNET_SDK)

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

The source configuration object.

One of
provider
string
Value: "API"

The provider of the source.

object
name
string

The name of source.

description
string or null

The description of source.

nodes
Array of strings <uuid> non-empty [ items <uuid > ]

List of unique identifier where source is enabled.

enabled
boolean
Default: true

Flag for enable-disable source.

Responses

Request samples

Content type
application/json
{
  • "provider": "CONTACTPLAN",
  • "properties": {
    },
  • "name": "string",
  • "description": "string",
  • "nodes": [
    ],
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "provider": "CONTACTPLAN",
  • "properties": {
    },
  • "name": "string",
  • "description": "string",
  • "nodes": [
    ],
  • "enabled": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "token": "string"
}

Get source

Gets a source details.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

sourceId
required
string <uuid>

The unique identifier of the source.

Responses

Response samples

Content type
application/json
{
  • "provider": "CONTACTPLAN",
  • "properties": {
    },
  • "name": "string",
  • "description": "string",
  • "nodes": [
    ],
  • "enabled": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "token": "string"
}

Modify source

Modifies a source. Only CLAB_OPERATOR and ADMIN roles are allowed to modify a Send source.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

sourceId
required
string <uuid>

The unique identifier of the source.

Request Body schema: application/json
required

The source configuration object.

One of
provider
string
Default: "API"
Enum: "API" "MAGENTO" "ANDROID_SDK" "OBJECTIVEC_SDK" "NODEJS_SDK" "JAVA_SDK" "SCALA_SDK" "DOTNET_SDK"

The provider of the source.

object
name
string

The name of source.

description
string or null

The description of source.

nodes
Array of strings <uuid> non-empty [ items <uuid > ]

List of unique identifier where source is enabled.

enabled
boolean
Default: true

Flag for enable-disable source.

id
string <uuid>

Unique identifier of source.

Responses

Request samples

Content type
application/json
{
  • "provider": "CONTACTPLAN",
  • "properties": {
    },
  • "name": "string",
  • "description": "string",
  • "nodes": [
    ],
  • "enabled": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Response samples

Content type
application/json
{
  • "provider": "CONTACTPLAN",
  • "properties": {
    },
  • "name": "string",
  • "description": "string",
  • "nodes": [
    ],
  • "enabled": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "token": "string"
}

Delete source

Deletes a source.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

sourceId
required
string <uuid>

The unique identifier of the source.

Responses

Refresh source token

Refreshes the source token.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

sourceId
required
string <uuid>

The unique identifier of the source.

Responses

Response samples

Content type
application/json
{
  • "provider": "CONTACTPLAN",
  • "properties": {
    },
  • "name": "string",
  • "description": "string",
  • "nodes": [
    ],
  • "enabled": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "token": "string"
}

Get default customer matching policy

Gets the default unique customer matching policies.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

Content type
application/json
{
  • "properties": [
    ],
  • "caseSensitive": true
}

Get customer matching policy

Gets the node unique customer matching policies. This route is deprecated, please use GET on /workspaces/{workspaceId}/configuration/nodes/entries/{nodeId}

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the node.

Responses

Response samples

Content type
application/json
{
  • "properties": [
    ],
  • "caseSensitive": true
}

Modify customer matching policy

Updates the unique customer matching policies for the aggregation on the selected node. This route is deprecated, please use PUT on /workspaces/{workspaceId}/configuration/nodes/entries/{nodeId}

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string <uuid>

The unique identifier of the node.

Request Body schema: application/json
required

The matching policy configuration for the selected node.

properties
Array of strings non-empty

Rules of aggregations.

caseSensitive
boolean

Flag that specifies if the matching policy check will be performed considering the field text case.

Responses

Request samples

Content type
application/json
{
  • "properties": [
    ],
  • "caseSensitive": true
}

Response samples

Content type
application/json
{
  • "properties": [
    ],
  • "caseSensitive": true
}

List users

Gets the users paginated list.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
search
string

Term to filter results based on a specific pattern contained in the name, surname, username or email.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Get user

Gets a user details.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

id
required
integer

The unique identifier of the user.

Responses

Response samples

Content type
application/json
{
  • "id": 229,
  • "name": "Claire",
  • "registeredAt": null,
  • "updatedAt": null,
  • "nodes": [
    ]
}

Modify user

Modify user nodes.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

id
required
string <uuid>

The unique identifier of the user.

Request Body schema: application/json
required

The user configuration object.

required
Array of objects
Array
id
string <uuid>

Unique identifier of the node.

permission
string
Default: "R"
Enum: "R" "RW" "W"

Permission mode.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": 229,
  • "name": "Claire",
  • "registeredAt": null,
  • "updatedAt": null,
  • "nodes": [
    ]
}

Get customer properties

Gets the customer json schema with references resolved if the relative parameter is true

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
resolveReferences
boolean

Whether to resolve references or not.

Responses

Response samples

Content type
application/json
{ }

Modify customer base property state

Enables or disables a customer base property.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

baseProperty
required
string

The base property to toggle.

Request Body schema: application/json
required

The value of the flag.

value
boolean

True to enable the property, False to disable the property.

Responses

Request samples

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

Response samples

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

Consents

Consent endpoints.

Get consent

Gets an operation on consents.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

id
required
string

Identifier of the consent log.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "date": "2019-08-24T14:15:22Z",
  • "type": "DISCLAIMER_READ",
  • "property": "string",
  • "value": "string",
  • "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2",
  • "userId": 0
}

List consents

Gets list of operations on consents.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
customerId
string

Identifier of the customer.

uniqueKey
string

The json structured data containing the values of the unique customer property

startDate
string <date>

The date interval lower bound.

endDate
string <date>

The date interval upper bound.

type
string (ConsentEventType)
Enum: "DISCLAIMER_READ" "CONSENT_CHANGED" "CONSENT_RESTRICTED" "CONSENT_OBJECTED" "DATA_PORTABILITY_REQUESTED" "FORCED_DELETE"

The type of consent log event.

property
string

Json path of property.

sort
string

Sort field and direction.

nodes
string

Comma separated node ids.

Responses

Response samples

Content type
{
  • "elements": [
    ],
  • "page": {
    }
}

Customers

Customers endpoints.

Search customers

Searches customers using the provided query parameters.

The matched items are paged and sorted (by descending update date as default).

The maximum number of matched elements is 10000.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
nodeId
required
string <uuid>

The nodeId of the customer.

externalId
string

The externalId of the customer.

query
string

Complex query filter.

fields
string

Comma-separated list of properties to include in the response.

size
integer

Size of the response.

sort
string

Sorting of the response.

page
integer

Page of the response.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Create Customer

Creates a new customer.

If customer uniqueness policy is MERGE and the customer already exists, it will be updated.

Customer uniqueness is based on properties specified in /workspaces/{workspaceId}/configuration/nodes/entries/{nodeId}/unique-customer-matching-policy.

The request body must contain: node id, the entry node unique properties and the mandatory fields.

If the request body contains properties that do not appear within the existing customer, those properties are added.

If the existing customer does contain the property, the value is replaced.

All collection elements are appended to the existing ones and deduplicated.

For single object in the base.subscriptions collection only, missing properties in the request body will be maintained.

Customer's payload must not exceed 64kB. All the base properties of type String have maxLength = 255 except for the following: - base.address.street = 500 - base.pictureUrl = 1000 - tags.auto and tags.manual = 1000 each (considering the sum of all the Strings length in the array) Extended properties String length can be configured using the dedicated endpoint

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
sessionId
string

The unique identifier of the session.

Request Body schema: application/json
required

Object necessary to create customer.

externalId
string or null

The external id of customer.

nodeId
required
string <uuid>

Entry node id (immutable).

object or null (BaseCustomerProps)
object or null (ConsentCustomerProps)
(ExtendedPropertyString (object or null)) or (ExtendedPropertyBoolean (object or null)) or (ExtendedPropertyNumber (object or null)) or (ExtendedPropertyInteger (object or null)) or (ExtendedPropertyArray (object or null)) (ExtendedPropertiesValues)

The key/value pair for the extended properties defined during workspace creation

extra
string or null

Custom data defined by workspace not based on a declarated schema.

object or null

The default tags property of customers.

enabled
boolean

Flag for enable-disable customer.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",
  • "base": {
    },
  • "consents": {
    },
  • "extended": {
    },
  • "extra": "string",
  • "tags": {
    },
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "intId": 0,
  • "externalId": "string",
  • "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",
  • "base": {
    },
  • "consents": {
    },
  • "extended": {
    },
  • "extra": "string",
  • "tags": {
    },
  • "enabled": true,
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0,
  • "deleted": -1,
  • "sourceInfo": {
    }
}

Get customer

Gets the details of a customer.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "intId": 0,
  • "externalId": "string",
  • "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",
  • "base": {
    },
  • "consents": {
    },
  • "extended": {
    },
  • "extra": "string",
  • "tags": {
    },
  • "enabled": true,
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0,
  • "deleted": -1,
  • "sourceInfo": {
    }
}

Partially modify customer

Updates partially the customer.

If the request body contains properties that do not appear within the existing customer, those properties are added.

If the existing customer does contain the property, the value is replaced.

All collection elements are deduplicated.

For base.subscriptions collection, if the request body contains properties that do not appear within the existing collection, those properties are added.

Missing properties will be maintained.

Use mode STRICT to avoid this behaviour.

Customer's payload must not exceed 64kB. All the base properties of type String have maxLength = 255 except for the following: - base.address.street = 500 - base.pictureUrl = 1000 - tags.auto and tags.manual = 1000 each (considering the sum of all the Strings length in the array)

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

query Parameters
sessionId
string

The unique identifier of the session.

mode
string or null (CustomerOperationMode)
Value: "STRICT"

The mode of customer operation

Request Body schema: application/json
required

Object necessary to update the customer.

The following properties are immutable:

  • id
  • nodeId
  • intId
  • version
  • sourceInfo
  • registeredAt
  • updatedAt
  • deleted
externalId
string or null

The external id of customer.

object or null (BaseCustomerProps)
object or null (ConsentCustomerProps)
(ExtendedPropertyString (object or null)) or (ExtendedPropertyBoolean (object or null)) or (ExtendedPropertyNumber (object or null)) or (ExtendedPropertyInteger (object or null)) or (ExtendedPropertyArray (object or null)) (ExtendedPropertiesValues)

The key/value pair for the extended properties defined during workspace creation

extra
string or null

Custom data defined by workspace not based on a declarated schema.

object or null

The default tags property of customers.

enabled
boolean

Flag for enable-disable customer.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "base": {
    },
  • "consents": {
    },
  • "extended": {
    },
  • "extra": "string",
  • "tags": {
    },
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "intId": 0,
  • "externalId": "string",
  • "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",
  • "base": {
    },
  • "consents": {
    },
  • "extended": {
    },
  • "extra": "string",
  • "tags": {
    },
  • "enabled": true,
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0,
  • "deleted": -1,
  • "sourceInfo": {
    }
}

Modify customer

Updates the customer.

The request body must contain: node id, the entry node unique properties and the mandatory fields.

If the request body contains properties that do not appear within the existing customer, those properties are added.

If the existing customer does contain the property, the value is replaced.

All collection elements are deduplicated and treated as set.

For base.subscriptions collection, if the request body contains properties that do not appear within the existing collection, those properties are added.

Missing properties won't be modified.

Use mode STRICT to avoid this behaviour.

Customer's payload must not exceed 64kB. All the base properties of type String have maxLength = 255 except for the following:

  • base.address.street = 500
  • base.pictureUrl = 1000
  • tags.auto and tags.manual = 1000 each (considering the sum of all the Strings length in the array)
Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

query Parameters
sessionId
string

The unique identifier of the session.

mode
string or null (CustomerOperationMode)
Value: "STRICT"

The mode of customer operation

Request Body schema: application/json
required

Object necessary to update customers.

The following properties are immutable:

  • id
  • nodeId
  • intId
  • version
  • sourceInfo
  • registeredAt
  • updatedAt
  • deleted
id
string <uuid>

The customer id (immutable).

intId
integer

The internal customer id (immutable and system generated).

externalId
string or null

The external id of customer.

nodeId
required
string <uuid>

Entry node id (immutable).

object or null (BaseCustomerProps)
object or null (ConsentCustomerProps)
(ExtendedPropertyString (object or null)) or (ExtendedPropertyBoolean (object or null)) or (ExtendedPropertyNumber (object or null)) or (ExtendedPropertyInteger (object or null)) or (ExtendedPropertyArray (object or null)) (ExtendedPropertiesValues)

The key/value pair for the extended properties defined during workspace creation

extra
string or null

Custom data defined by workspace not based on a declarated schema.

object or null

The default tags property of customers.

enabled
boolean

Flag for enable-disable customer.

registeredAt
string <date-time>

The registration timestamp (immutable and system generated).

updatedAt
string <date-time>

The customer update timestamp (ignored and system generated).

version
integer or null

Version of the customer (ignored and system generated).

deleted
integer
Enum: -1 0 1

deleted state of the customer (immutable and system generated)

  • -1 forgotten customer (after a deletion for data protection)
  • 0 not deleted customer
  • 1 deleted customer
object

Information about sources that operated on customer.

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "intId": 0,
  • "externalId": "string",
  • "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",
  • "base": {
    },
  • "consents": {
    },
  • "extended": {
    },
  • "extra": "string",
  • "tags": {
    },
  • "enabled": true,
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0,
  • "deleted": -1,
  • "sourceInfo": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "intId": 0,
  • "externalId": "string",
  • "nodeId": "959356e3-6168-4a92-b4a5-b9d462be6177",
  • "base": {
    },
  • "consents": {
    },
  • "extended": {
    },
  • "extra": "string",
  • "tags": {
    },
  • "enabled": true,
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0,
  • "deleted": -1,
  • "sourceInfo": {
    }
}

Delete customer

Deletes a customer.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

Responses

Response samples

Content type
application/json
{ }

Create customer subscription

Creates a customer subscription. The maxLength allowed for String properties is 255

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

Request Body schema: application/json
required

Object necessary to create the customer subscription.

id
required
string

The ID used to identify the subscription. It must meet the following requirements:

  • it must contain at least one character
  • it may only contain the following special characters: underscore ('_'), hyphen ('-'), and space (' ')
  • it can't start or end with a space
  • it must start with a character or a digit
name
string or null

The name of the subscription.

type
string or null

The type of subscription.

kind
string or null
Enum: "DIGITAL_MESSAGE" "SERVICE" "OTHER"

The kind of subscription.

subscribed
required
boolean

The flag that defines a subscriber.

startDate
string or null <date-time>

The start date of the subscription.

endDate
string or null <date-time>

The end date of the subscription.

subscriberId
string or null

The ID used to identify the subscriber.

registeredAt
string or null <date-time>

The date and time the subscription is first registered in Contacthub.

updatedAt
string or null <date-time>

The date time of the last modification to the subscription in Contacthub

object or null

The subscribe context information.

object or null

The unsubscribe context information.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "kind": "DIGITAL_MESSAGE",
  • "subscribed": true,
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "subscriberId": "string",
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "subscribeContext": {
    },
  • "unsubscribeContext": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "kind": "DIGITAL_MESSAGE",
  • "subscribed": true,
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "subscriberId": "string",
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "subscribeContext": {
    },
  • "unsubscribeContext": {
    }
}

Get customer subscription

Gets the details of a customer subscription.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

propertyId
required
string

The unique identifier of the customer subscription.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "kind": "DIGITAL_MESSAGE",
  • "subscribed": true,
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "subscriberId": "string",
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "subscribeContext": {
    },
  • "unsubscribeContext": {
    }
}

Modify customer subscription

Modifies a customer subscription. The maxLength allowed for String properties is 255

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

propertyId
required
string

The unique identifier of the customer subscription.

Request Body schema: application/json
required

Object necessary to update the customer subscription.

id
required
string

The ID used to identify the subscription. It must meet the following requirements:

  • it must contain at least one character
  • it may only contain the following special characters: underscore ('_'), hyphen ('-'), and space (' ')
  • it can't start or end with a space
  • it must start with a character or a digit
name
string or null

The name of the subscription.

type
string or null

The type of subscription.

kind
string or null
Enum: "DIGITAL_MESSAGE" "SERVICE" "OTHER"

The kind of subscription.

subscribed
required
boolean

The flag that defines a subscriber.

startDate
string or null <date-time>

The start date of the subscription.

endDate
string or null <date-time>

The end date of the subscription.

subscriberId
string or null

The ID used to identify the subscriber.

registeredAt
string or null <date-time>

The date and time the subscription is first registered in Contacthub.

updatedAt
string or null <date-time>

The date time of the last modification to the subscription in Contacthub

object or null

The subscribe context information.

object or null

The unsubscribe context information.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "kind": "DIGITAL_MESSAGE",
  • "subscribed": true,
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "subscriberId": "string",
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "subscribeContext": {
    },
  • "unsubscribeContext": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "kind": "DIGITAL_MESSAGE",
  • "subscribed": true,
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "subscriberId": "string",
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "subscribeContext": {
    },
  • "unsubscribeContext": {
    }
}

Delete customer subscription

Deletes a customer subscription.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

propertyId
required
string

The unique identifier of the customer subscription.

Responses

List customer sessions

Gets the list of sessions assigned to a customer.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

Responses

Response samples

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

Create customer session

Creates a customer session. The maxLength allowed for String properties is 255

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

Request Body schema: application/json
required

Object necessary to create a session customer.

value
string

The session id of customer. The value is unique for a single node.

Responses

Request samples

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

Response samples

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

Get customer session

Gets a customer session.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

sessionId
required
string

The unique identifier of the session.

Responses

Response samples

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

Delete customer session

Deletes a customer session.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

sessionId
required
string

The unique identifier of the session.

Responses

List entry customers

Lists the entry customers that are part of an aggregate customer.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

query Parameters
page
required
integer

The page of the paginated resource.

size
required
integer

The size of the paginated resource.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Data-protection

Data protection endpoints.

Export customer data

Exports all customer data including the associated events.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

Responses

Response samples

Content type
application/json
{
  • "customer": {
    },
  • "events": [
    ]
}

Forget customer

Forgets a customer removing all the data across the entire platform and logging this special operation.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

customerId
required
string <uuid>

The unique identifier of the customer.

Responses

Events

Event endpoints.

Search events

Searches events using the provided query parameters.

The matched items are paged and sorted (by descending date as default).

The maximum number of matched elements is 10000.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
customerId
string

The unique identifier of the customer.

nodeId
string <uuid>

Filter the entities belonging to this node id.

type
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

The name of event type.

context
string (EventContext)
Enum: "WEB" "MOBILE" "ECOMMERCE" "RETAIL" "SOCIAL" "DIGITAL_CAMPAIGN" "CONTACT_CENTER" "IOT" "OTHER"

The name of event context.

mode
string
Enum: "ACTIVE" "PASSIVE"

The mode of the event:

  • ACTIVE, if the customer made the event
  • PASSIVE, if the customer receive the event
dateFrom
string <date-time>

From date-time.

dateTo
string <date-time>

To date-time.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Create event

Inserts a new event.

Event's payload must not exceed 64kB.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

Object necessary to create an event.

Json schema related to event type /workspaces/{workspaceId}/configuration/events/{eventType}/properties

The request body must contain: type, context, properties and at least one of the properties customerId or bringBackProperties.

CustomerId and bringBackProperties are mutually exclusive.

BringBackProperties are not allowed for aggregate nodes.

One of
customerId
required
string <uuid>

Customer id.

object or null (BringBackProperty)
type
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

Type of the target event/s (immutable).

properties
required
object

The json schema related to event type. [Read here]..

context
required
string (EventContext)
Enum: "WEB" "MOBILE" "ECOMMERCE" "RETAIL" "SOCIAL" "DIGITAL_CAMPAIGN" "CONTACT_CENTER" "IOT" "OTHER"

Context of the target event/s (immutable for patch).

contextInfo
object

The json schema related to event context. [Read here]..

date
string <date-time>

The timestamp of event (generated with current time if absent).

object or null (Tracking)

Responses

Request samples

Content type
application/json
{
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "bringBackProperties": {
    },
  • "type": "abandonedCart",
  • "properties": { },
  • "context": "WEB",
  • "contextInfo": { },
  • "date": "2019-08-24T14:15:22Z",
  • "tracking": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Get event

Gets a specific event.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

id
required
string <uuid>

The unique identifier of event.

query Parameters
nav
string
Value: "CUSTOMER"

used to expose the previous and next event ID 's filtered by the 'nav' parameter sorted by date - currently the only allowed value is CUSTOMER.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "bringBackProperties": {
    },
  • "type": "abandonedCart",
  • "properties": { },
  • "context": "WEB",
  • "contextInfo": { },
  • "date": "2019-08-24T14:15:22Z",
  • "origin": "NATIVE",
  • "prev": "string",
  • "next": "string",
  • "tracking": {
    },
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0
}

Modify event

Modifies a specific event replacing all its property values.

Event's payload must not exceed 64kB.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

id
required
string <uuid>

The unique identifier of event.

Request Body schema: application/json
required

Object necessary to update an event.

The request body must contain: type, context, properties, customerId and bringBackProperties if already presents.

The following properties are immutable:

  • id - customerId - bringBackProperties - type - registeredAt

These properties are automatically generated:

  • updatedAt - version - origin
id
string <uuid>

Unique identifier of event (immutable).

customerId
string <uuid>

Customer id (immutable).

object or null (BringBackProperty)
type
required
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

Type of the target event/s (immutable).

properties
required
object

The json schema related to event type. [Read here].

context
required
string (EventContext)
Enum: "WEB" "MOBILE" "ECOMMERCE" "RETAIL" "SOCIAL" "DIGITAL_CAMPAIGN" "CONTACT_CENTER" "IOT" "OTHER"

Context of the target event/s (immutable for patch).

contextInfo
object

The json schema related to event context. [Read here].

date
string <date-time>

The timestamp of event.

origin
string or null
Enum: "NATIVE" "DUPLICATE"

Origin of the event (immutable and system generated).

object or null (Tracking)
registeredAt
string <date-time>

The time at which the event was created (immutable and system generated).

updatedAt
string or null <date-time>

The time at which the event was last updated (ignored and system generated).

version
integer

Version of the event (ignored and system generated).

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "bringBackProperties": {
    },
  • "type": "abandonedCart",
  • "properties": { },
  • "context": "WEB",
  • "contextInfo": { },
  • "date": "2019-08-24T14:15:22Z",
  • "origin": "NATIVE",
  • "tracking": {
    },
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0
}

Partially modify event

Modifies partially a specific event.

Event's payload must not exceed 64kB.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

id
required
string <uuid>

The unique identifier of event.

Request Body schema: application/json
required

Object necessary to partially update an event.

The following properties are immutable:

  • id - customerId - bringBackProperties - type - context - registeredAt

These properties are automatically generated:

  • updatedAt - version - origin
id
string <uuid>

Unique identifier of event (immutable).

customerId
string <uuid>

Customer id (immutable).

object or null (BringBackProperty)
type
string (EventType)
Enum: "abandonedCart" "abandonedSession" "addedCompare" "addedProduct" "addedReward" "addedWishlist" "campaignBlacklisted" "campaignBounced" "campaignLinkClicked" "campaignMarkedSpam" "campaignOpened" "campaignOptinRequested" "campaignSent" "campaignSubscribed" "campaignUnsubscribed" "changedSetting" "clickedLink" "closedTicket" "completedOrder" "eventConfirmed" "eventDeclined" "eventEligible" "eventInvited" "eventNoShow" "eventNotInvited" "eventParticipated" "eventRegistered" "formCompiled" "genericActiveEvent" "genericPassiveEvent" "grantedCoupon" "loggedIn" "loggedOut" "openedTicket" "orderShipped" "removedCompare" "removedProduct" "removedReward" "removedWishlist" "repliedTicket" "reviewedProduct" "searched" "serviceSubscribed" "serviceUnsubscribed" "surveyCompiled" "viewedPage" "viewedProduct" "viewedProductCategory"

Type of the target event/s (immutable).

properties
object or null

The json schema related to event type. [Read here].

context
string (EventContext)
Enum: "WEB" "MOBILE" "ECOMMERCE" "RETAIL" "SOCIAL" "DIGITAL_CAMPAIGN" "CONTACT_CENTER" "IOT" "OTHER"

Context of the target event/s (immutable for patch).

contextInfo
object or null

The json schema related to event context. [Read here].

date
string <date-time>

The timestamp of event.

origin
string or null
Enum: "NATIVE" "DUPLICATE"

Origin of the event (immutable and system generated).

object or null (Tracking)
registeredAt
string <date-time>

The time at which the event was created (immutable and system generated).

updatedAt
string or null <date-time>

The time at which the event was last updated (ignored and system generated).

version
integer

Version of the event (ignored and system generated).

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "bringBackProperties": {
    },
  • "type": "abandonedCart",
  • "properties": { },
  • "context": "WEB",
  • "contextInfo": { },
  • "date": "2019-08-24T14:15:22Z",
  • "origin": "NATIVE",
  • "tracking": {
    },
  • "registeredAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "version": 0
}

Delete event

Deletes a specific event.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

id
required
string <uuid>

The event identifier.

Responses

Model

Model endpoints.

Get customer base properties

Gets the customer base properties that are available in the customer schema.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

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

Get merge policy types

Gets the list of the merge policy types.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

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

Get source provider types

Gets the list of the source provider types.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Response samples

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

Get event context types

Gets the list of the event context types.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
resolveReferences
boolean
Default: false

If true, the response json will include the schema of nested fields

Responses

Response samples

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

Get send source subscriptions

Gets the list of the send source subscriptions.

Authorizations:
OAuth2
path Parameters
subscriberSourceId
required
string

The unique identifier of the userdb in Contactsend.

workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
groupPk
integer

Unique identifier of the customer group associated with the userdb.

Responses

Response samples

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

Get send source subscriber fields

Gets the list of the send source subscriber fields.

Authorizations:
OAuth2
path Parameters
subscriberSourceId
required
string

The unique identifier of the userdb in Contactsend.

workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
groupPk
integer

Unique identifier of the customer group associated with the userdb.

Responses

Response samples

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

Get analytics event category types

Gets the list of the event category types for analytics.

Responses

Response samples

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

Send-sources

Contactsend source endpoints.

Get send source configurations

Gets send source configurations.

Authorizations:
OAuth2

Responses

Response samples

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

Get node send source configuration

Gets send source configuration for a specific node.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

nodeId
required
string

The unique identifier of the node.

Responses

Response samples

Content type
application/json
{
  • "portfolio": 0,
  • "id": "string",
  • "name": "string",
  • "industry": "ECOMMERCE",
  • "workspaceStatus": "ENABLED",
  • "nodeId": "string",
  • "nodeName": "string",
  • "nodeType": "ENTRY",
  • "contactSendSource": {
    }
}

Get send source configuration by user DB

Gets send source configuration by send customer group and user DB.

Authorizations:
OAuth2
path Parameters
groupPk
required
string

The unique identifier of the customer group.

userdbId
required
string

The unique identifier of send user DB.

Responses

Response samples

Content type
application/json
{
  • "portfolio": 0,
  • "id": "string",
  • "name": "string",
  • "industry": "ECOMMERCE",
  • "workspaceStatus": "ENABLED",
  • "nodeId": "string",
  • "nodeName": "string",
  • "nodeType": "ENTRY",
  • "contactSendSource": {
    }
}

Get send source configurations by customer group

Gets send source configurations by send customer group.

Authorizations:
OAuth2
path Parameters
groupPk
required
string

The unique identifier of the send customer group.

Responses

Response samples

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

Updates

Updates endpoints.

Get the last update offset

Gets the last update offset. It can refer to a customer or an event update.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
nodeId
string <uuid>

Filter the entities belonging to this node id.

entity
string
Enum: "CUSTOMER" "EVENT"

Filter the entities by type.

Responses

Response samples

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

Get an update stream

Gets a stream of customer and event updates starting by the specified offset.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

query Parameters
size
integer [ 0 .. 4000 ]
Default: 50

Paging: the page size.

timestamp
integer

The timestamp of the first modified entity; ignored if the offset parameter has been defined.

offset
integer

The greatest offset known by the client (not included in the returned result).

nodeId
string <uuid>

Filter the entities belonging to this node id.

entity
string
Enum: "CUSTOMER" "EVENT"

Filter the entities by type.

Responses

Response samples

Content type
application/json
{
  • "nextOffset": 0,
  • "updates": [
    ]
}

User

User endpoint.

Get current user info

Gets the authenticated user info.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "id": 229,
  • "name": "My name",
  • "surname": "My surname",
  • "groups": [
    ],
  • "lang": "en",
  • "email": "user@example.com",
  • "roles": [
    ],
  • "mc": true
}

Workspaces

Workspaces endpoints.

Get workspaces

Gets a paged list of the workspaces.

Authorizations:
OAuth2
query Parameters
name
string

Filter by name substring

groupPk
number

Filter by group pk

page
integer [ 0 .. 50 ]
Default: 0

Paging: the page number.

size
integer [ 0 .. 50 ]
Default: 20

Paging: the page size.

Responses

Response samples

Content type
application/json
{
  • "elements": [
    ],
  • "page": {
    }
}

Create a workspace

Creates a workspace

Authorizations:
OAuth2
Request Body schema: application/json
required

json containing the workspace configuration.

name
required
string
slug
required
string
groupPk
required
integer
shard
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "slug": "string",
  • "groupPk": 0,
  • "shard": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "slug": "string",
  • "groupPk": 0,
  • "shard": "string",
  • "status": "ENABLED"
}

Get a workspace

Gets the provisioning configuration of the given workspace.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string

Unique identifier of workspace

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "slug": "string",
  • "groupPk": 0,
  • "shard": "string",
  • "status": "ENABLED"
}

Delete workspace

Deletes a specific workspace.

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Responses

Modify workspace status

Modifies workspace status

Authorizations:
OAuth2
path Parameters
workspaceId
required
string <uuid>

The unique identifier of the workspace.

Request Body schema: application/json
required

json containing the new status of the workspace.

status
string (WorkspaceStatus)
Enum: "ENABLED" "SUSPENDED" "DISABLED"

Status of the workspace.

Responses

Request samples

Content type
application/json
{
  • "status": "ENABLED"
}

Response samples

Content type
application/json
{
  • "status": "ENABLED"
}

Return the list of available shards

Returns the list of available shards.

Authorizations:
OAuth2

Responses

Response samples

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

Health

Health endpoint.

Return the application health state

Returns the application health state.

Responses

Response samples

Content type
application/json
{ }