Download OpenAPI specification:Download
Unblu Web API v3
The Java libraries containing the web API models and the Jersey client are available on Maven Central and GitHub.
For more information, refer to the project's page on GitHub.
getCurrentAccountSecret operation
{- "$_type": "AccountSecret",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "secretKey": "string"
}With this service the accounts of the unblu system can be managed. Most of the provided interface needs super admin permissions. Especially if the edited account is not the one of the current user.
The Account object can be expanded. If the query parameter expand is set to contactAddressId and/or billingAddressId (e.g ?expand=contactAddressId,billingAddressId) the address id's will be automatically resolved and wrapped into the object. This can also be done when sending the object
Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to create
| $_type | string Default: "Account" Value: "Account" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| name | string The name of the account. Maximum length of 250 characters and can not be empty. |
string or Address (object) expand-query-key: billingAddress type: ExpandableField The id to an address which is used for billing, if the contact address should not be used. Should be null, if only contact address should be used. | |
string or Address (object) expand-query-key: contactAddress type: ExpandableField The id of the contact address for the account. Is also used for billing if no extra billing address is defined. | |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the entity: id that can be expanded. | |
object A map of localized versions of the name of this entity | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. |
Create an Account with translations of the name for it
{- "$_type": "Account",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "name": "with-translations-test",
- "billingAddress": null,
- "contactAddress": null,
- "avatar": null,
- "translations": {
- "de": {
- "$_type": "AccountTranslation",
- "id": null,
- "name": "Kreditanstalt",
- "description": null
}, - "en": {
- "$_type": "AccountTranslation",
- "id": null,
- "name": "Loan bank",
- "description": null
}
}, - "configuration": null,
- "metadata": null,
- "text": null
}Create an Account with translations of the name for it
{- "$_type": "Account",
- "id": "A7d9E_0-c3cC4aoFDb85t6n",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "name": "with-translations-test",
- "billingAddress": null,
- "contactAddress": null,
- "avatar": null,
- "translations": {
- "de": {
- "$_type": "AccountTranslation",
- "id": "IO4wYQFeQ2y86kxBWrKaBQ",
- "name": "Kreditanstalt",
- "description": null
}, - "en": {
- "$_type": "AccountTranslation",
- "id": "IO4wYQFeQ2y86kxBWrKaBQ",
- "name": "Loan bank",
- "description": null
}
}, - "configuration": null,
- "metadata": null,
- "text": null
}Create a new account with a new admin which will receive an email with the initial password.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
the new account and admin user information
| $_type | string Default: "AccountUserContainer" Value: "AccountUserContainer" |
object (Account) Model of an account. The contact and the billing address can be directly resolved when using the expand feature. | |
object (User) Model of a user. A user is normally an agent and/or a person who manages the system |
Create an Account and an Admin user for it
{- "$_type": "AccountUserContainer",
- "account": {
- "$_type": "Account",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "name": "with-admin-test",
- "billingAddress": null,
- "contactAddress": null,
- "avatar": null,
- "translations": null,
- "configuration": null,
- "metadata": null,
- "text": null
}, - "adminUser": {
- "$_type": "User",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "avatar": null,
- "username": "test@email.com",
- "email": "test@email.com",
- "phone": null,
- "teamId": null,
- "authorizationRole": "ADMIN",
- "displayName": "J. Doe",
- "firstName": "John",
- "lastName": "Doe",
- "externallyManaged": null,
- "virtualUser": null,
- "configuration": null,
- "metadata": null
}
}{- "$_type": "AccountUserContainer",
- "account": {
- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}, - "adminUser": {
- "$_type": "User",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "username": "string",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "authorizationRole": "SUPER_ADMIN",
- "displayName": "string",
- "firstName": "string",
- "lastName": "string",
- "externallyManaged": true,
- "virtualUser": true,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
}Deletes the entity for the given ID
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Disables ingress for the given account.
Calling this method triggers the ingress deactivation process. This consists of a single step:
getMigrationStatus to DONE_INGRESS_INACTIVE and thegetIngressStatus to GLOBALgetMigrationStatus changes to ERROR.readIngressStatus to retrieve the current status and find the potential source of the problems. Once you've resolved the issues that caused the deactivation process to fail, use restartIngressMigration to restart the process.
| accountId | string |
{- "accountId": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Enables ingress for the given account. Before calling this method, you must have configured ingress correctly.
Calling this method triggers the ingress activation process. The process consists of the following steps:
getMigrationStatus to DONE_INGRESS_ACTIVE and thegetIngressStatus to ACCOUNTgetMigrationStatus changes to ERROR.readIngressStatus to retrieve the current status and find the potential source of the problems. If the process failed because of an invalid configuration, ingress is automatically activated once the configuration has been rectified.restartIngressMigration to restart the process once you've resolved all migration issues.
| accountId | string |
{- "accountId": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns an account by the given name or null, if there is no such account
| name | string The name of the account which should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}Returns the account object of the current logged in user
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}Checks if the account name is available for the given account id
| name | string The name which should be checked |
| accountId | string The account id of the user for who the account should be set. When changing the name of an existing account, its id should be given. When the name is set to the one of the account, it will then also return true. |
trueReturns the entity for the given ID
| id | string ID of the entity which should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}readIngressStatus operation
| accountId | string |
{- "$_type": "AccountIngressStatus",
- "enabled": true,
- "ingressStatus": "ACCOUNT",
- "migrationStatus": "MIGRATING",
- "errorDetails": [
- "string"
], - "warningDetails": [
- "string"
]
}Gets a list of the entities with the given IDs. IDs that can't be found are ignored
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The IDs for which to fetch the entities
[- "string"
][- {
- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}
]Retries the ingress migration process for the given account. This is necessary when main_account#ingress_migration_status is ERROR.
When the service is executed, it updates the ingress_activation_status to MIGRATING. This causes the ingress migration leader selection task to resume the migration.
| accountId | string |
{- "accountId": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Search for accounts
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "AccountQuery" Value: "AccountQuery" |
Array of any (AccountSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (AccountOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "AccountQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampAccountSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "AccountOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "AccountResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}Allows to update the current account as admin. If user is super admin, he can also update other accounts
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The account entity to update
| $_type | string Default: "Account" Value: "Account" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| name | string The name of the account. Maximum length of 250 characters and can not be empty. |
string or Address (object) expand-query-key: billingAddress type: ExpandableField The id to an address which is used for billing, if the contact address should not be used. Should be null, if only contact address should be used. | |
string or Address (object) expand-query-key: contactAddress type: ExpandableField The id of the contact address for the account. Is also used for billing if no extra billing address is defined. | |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the entity: id that can be expanded. | |
object A map of localized versions of the name of this entity | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. |
{- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}{- "$_type": "Account",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "name": "string",
- "billingAddress": "string",
- "contactAddress": "string",
- "avatar": "string",
- "translations": {
- "property1": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "AccountTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated. This feature will be removed with Unblu 8
The entity to create
| $_type | string Default: "Address" Value: "Address" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| organisationName | string Name of the organisation. Maximum of 250 characters. Can be omitted. |
| addressLine1 | string First address line. Maximum of 250 characters. Can be omitted. |
| addressLine2 | string Second address line. Maximum of 250 characters. Can be omitted. |
| zip | string Zip code of the city. Maximum of 20 characters. Can not be omitted. |
| city | string City name. Maximum of 250 characters. Can not be omitted. |
| state | string Country state. Maximum of 250 characters. Can be omitted. |
| country | string Country. Maximum of 250 characters. Can not be omitted. |
{- "$_type": "Address",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "organisationName": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "zip": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}{- "$_type": "Address",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "organisationName": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "zip": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}Deletes the entity for the given ID. This feature will be removed with Unblu 8
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the entity for the given ID. This feature will be removed with Unblu 8
| id | string ID of the entity which should be returned |
{- "$_type": "Address",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "organisationName": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "zip": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}Gets a list of the entities with the given IDs. IDs that can't be found are ignored. This feature will be removed with Unblu 8
The IDs for which to fetch the entities
[- "string"
][- {
- "$_type": "Address",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "organisationName": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "zip": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}
]Search for addresses in the current account. This feature will be removed with Unblu 8
| $_type | string Default: "AddressQuery" Value: "AddressQuery" |
Array of any (AddressSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (AddressOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "AddressQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampAddressSearchFilter",
- "field": "CREATION_TIMESTAMP",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "AddressOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "AddressResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "Address",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "organisationName": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "zip": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}
]
}Updates the entity in the system with the given entity. This feature will be removed with Unblu 8
The entity to update
| $_type | string Default: "Address" Value: "Address" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| organisationName | string Name of the organisation. Maximum of 250 characters. Can be omitted. |
| addressLine1 | string First address line. Maximum of 250 characters. Can be omitted. |
| addressLine2 | string Second address line. Maximum of 250 characters. Can be omitted. |
| zip | string Zip code of the city. Maximum of 20 characters. Can not be omitted. |
| city | string City name. Maximum of 250 characters. Can not be omitted. |
| state | string Country state. Maximum of 250 characters. Can be omitted. |
| country | string Country. Maximum of 250 characters. Can not be omitted. |
{- "$_type": "Address",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "organisationName": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "zip": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}{- "$_type": "Address",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "organisationName": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "zip": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to create
| $_type | string Default: "ApiKey" Value: "ApiKey" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| apiKey | string Api key string. When creating the entity it can be set to a specific value or omitted (in the second case a random value will be generated by the server). Can not be updated. |
| name | string Name of the api key. Maximum of 250 characters. Can be omitted, but should not. |
| description | string Description of the api key. E.g. where or for what it is used. Maximum of 500 characters. Can be omitted. |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Deletes the entity for the given ID
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the api key object for the given api key string in the current account
| apiKey | string The api key for which the object should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns the default api key for the given account id. If the id of the account does not match with the one from the current user, null is returned
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns the entity for the given ID
| id | string ID of the entity which should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Gets a list of the entities with the given IDs. IDs that can't be found are ignored
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The IDs for which to fetch the entities
[- "string"
][- {
- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]Search for api keys in the current account
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "ApiKeyQuery" Value: "ApiKeyQuery" |
Array of any (ApiKeySearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (ApiKeyOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "ApiKeyQuery",
- "searchFilters": [
- {
- "$_type": "ApiKeyApiKeySearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsStringOperator",
- "type": "EQUALS",
- "value": "string"
}
}
], - "orderBy": [
- {
- "$_type": "ApiKeyOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "ApiKeyResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]
}Updates the entity in the system with the given entity.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to update
| $_type | string Default: "ApiKey" Value: "ApiKey" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| apiKey | string Api key string. When creating the entity it can be set to a specific value or omitted (in the second case a random value will be generated by the server). Can not be updated. |
| name | string Name of the api key. Maximum of 250 characters. Can be omitted, but should not. |
| description | string Description of the api key. E.g. where or for what it is used. Maximum of 500 characters. Can be omitted. |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "$_type": "ApiKey",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "apiKey": "string",
- "name": "string",
- "description": "string",
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Search for audit log entries
| $_type | string Default: "AuditChangeQuery" Value: "AuditChangeQuery" |
Array of any (AuditChangeSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (AuditChangeOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "AuditChangeQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampAuditChangeSearchFilter",
- "field": "CREATION_TIMESTAMP",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "AuditChangeOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "AuditChangeResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "AuditChange",
- "id": "string",
- "creationTimestamp": 0,
- "accountId": "string",
- "interactionType": "API",
- "interactionName": "string",
- "userName": "string",
- "userId": "string",
- "userRole": "string",
- "userAnonymous": true,
- "userVirtual": true,
- "userPropagated": true,
- "userImpersonationType": "string",
- "impersonationAccountId": "string",
- "impersonationUserId": "string",
- "userAuthInfo": "string",
- "sourceIp": "string",
- "productVersion": "string",
- "changeType": "CREATE",
- "entityType": "string",
- "entityName": "string",
- "entityId": "string",
- "oldState": "string",
- "newState": "string",
- "ownerType": "GLOBAL",
- "ownerId": "string",
- "ownerEntity": "string",
- "globalChange": true,
- "accountChange": true
}
]
}Service to log in with a user or to switch to other accounts/users by impersonating them
Authentication using a previously created authentication token from (createAuthenticationToken). Will create an authentication session if authentication succeeds (includes setting an authentication cookie)
| authenticationToken | string token to login with |
| redirectOnSuccess | string redirection URL when the operation is successful |
| redirectOnFailure | string redirection URL when the operation is not successful |
trueChanges password for currently logged in user, if the old password is currently matching the stored password
| oldPassword | string The old password for validation |
| newPassword | string The new password to set |
Change password
{- "oldPassword": "L0remPf18!",
- "newPassword": "L1rem_Hq23"
}truechecks if a 'potential' password is valid given the current password policy
| password | string Password to check against policy |
Check if the password will be accepted or not
{- "password": "L0remPf18!"
}[- "string"
]Creates a new authentication token, which can later be used for login.
| username | string The username for which the token is created |
| password | string The password of the user to authenticate |
Create a token for a given username and password
{- "username": "r@email.com",
- "password": "L0remPf18!"
}"string"Returns a compact user object, which contains the most important information about the current logged in user.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "CompactUser",
- "id": "string",
- "accountId": "string",
- "username": "string",
- "displayName": "string",
- "firstName": "string",
- "lastName": "string",
- "avatar": "string",
- "teamId": "string",
- "parentTeamIds": [
- "string"
], - "permissions": {
- "$_type": "Permissions",
- "allPermissions": true,
- "permissions": [
- "string"
], - "capacities": {
- "property1": 0,
- "property2": 0
}
}, - "authorizationRole": "SUPER_ADMIN",
- "passwordDefined": true,
- "virtual": true,
- "propagated": true,
- "impersonatedFromUserId": "string",
- "impersonatedFromAccountId": "string"
}Returns the permissions of the current user
{- "$_type": "Permissions",
- "allPermissions": true,
- "permissions": [
- "string"
], - "capacities": {
- "property1": 0,
- "property2": 0
}
}Impersonates with another user either via username or userid (one of the two may be null).
| username | string If set and userid is set to null, the user is searched by the name |
| userId | string If set, the username is ignored and the user for the given id is impersonated |
| superUser | boolean if true, the impersonated user will have the SUPER_ADMIN role (even if he hasn't normally). |
| redirectOnSuccess | string redirection URL when the operation is successful |
| redirectOnFailure | string redirection URL when the operation is not successful |
Impersonate as user 'admin' without keeping the superadmin rights
{- "username": "admin",
- "userId": null,
- "superUser": false,
- "redirectOnSuccess": null,
- "redirectOnFailure": null
}trueLogin using username and password credentials. Will create an authentication session if login succeeds (includes setting an authentication cookie)
| username | string user to use for login |
| password | string password to use for login |
| redirectOnSuccess | string redirection URL when the operation is successful |
| redirectOnFailure | string redirection URL when the operation is not successful |
Login with username and password
{- "username": "r@email.com",
- "password": "L0remPf18!",
- "redirectOnSuccess": null,
- "redirectOnFailure": null
}trueStart a session using a signed JWT as the login credentials. A logout token can be provided in the claim set of the signed JWT. This logout token is stored in the authentication session to be used later for the logoutWithSecureToken call. A new user with the role WEBUSER is created automatically. If authentication is successful, the response includes an authentication cookie; the response body is empty. x-unblu-apikey is a mandatory GET parameter for this operation, even though it is not part of the OpenAPI specification.
| $_type | string Default: "SecureTokenRequest" Value: "SecureTokenRequest" |
| token | string |
| type | string (ESecureTokenType) Enum: "JWT" "OIDC_ACCESS_TOKEN" enum-descriptions: ["JWT","OIDC_ACCESS_TOKEN"] Token type |
{- "$_type": "SecureTokenRequest",
- "token": "string",
- "type": "JWT"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Call this to logout (clear internal session and session cookie on response)
| redirectOnSuccess | string redirection URL when the operation is successful |
Logout with a redirection to unblu.com
{
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Call this to log out using a signed JWT containing the logout token in the claim set. Use this to allow backend server(s) to log out from visitor SSO. x-unblu-apikey is a mandatory GET parameter for this operation, even though it is not part of the OpenAPI specification.
| $_type | string Default: "SecureTokenRequest" Value: "SecureTokenRequest" |
| token | string |
| type | string (ESecureTokenType) Enum: "JWT" "OIDC_ACCESS_TOKEN" enum-descriptions: ["JWT","OIDC_ACCESS_TOKEN"] Token type |
{- "$_type": "SecureTokenRequest",
- "token": "string",
- "type": "JWT"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Resets the current impersonation. Will do nothing if there is no impersonation.
| redirectOnSuccess | string redirection URL when the operation is successful. Also if nothing needed to be done. |
| redirectOnFailure | string redirection URL when the operation is not successful |
Reset impersonation and redirect to the Global Configuration page on success
{- "redirectOnSuccess": "/app/config-global",
- "redirectOnFailure": null
}trueSends a reset password link to the user by email only if the user exists
| username | string The username of the user which receives a password reset mail |
Reset impersonation and redirect to the Global Configuration page on success
{- "username": "r@email.com"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Changes the language of the current user. It is stored also in the returned cookies
Note: A reload should be done afterwards.
| locale | string The new locale in the language-tag format (as defined in the IETF BCP 47) which should be used (e.g. en - english, de - german, fr - french, it - italian) |
Change the default locale to french
{- "locale": "fr"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Saves a new password for the user behind the given authentication token. The token can be created withcreateAuthenticationToken. The user needs to be authenticated first.
| authenticationToken | string for authentication. |
| password | string the new password to be used |
Set a new password
{- "authenticationToken": "Y2w5el...naW77w=",
- "password": "L0remPf18!"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Switches the account in a given authentication session. If successful, the user is treated, as if he/she was a member of the target account.
| accountId | string the account id to impersonate on |
| redirectOnSuccess | string redirection URL when the operation is successful |
| redirectOnFailure | string redirection URL when the operation is not successful |
Switch to account with a redirect to the Account Configuration page on success
{- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "redirectOnSuccess": "/app/config-account",
- "redirectOnFailure": null
}trueReturns the current availability state for a given user, account, named area, and locale.
| userId | string If specified, the availability will be returned for the specified user only |
| locale | string The locale in form of a BCP 47 language tag (including the region if available) to check the availability for. If omitted, the service will check the availability of agents who did not filter the queue by language. |
| namedAreaSiteId | string The site ID (meta tag or domain) of the named area to check the availability for. If omitted, the service will check the availability of agents who did not filter the queue by named area. |
| apiKey | string API key to specify the account; mandatory when called as an anonymous user |
| ignoreAgentAvailabilityOverride | boolean If true, the configuration property "com.unblu.agentavailability.availabilityOverride" will be ignored when evaluating agent availability. Defaults to false. |
"AVAILABLE"Returns true if an agent is available for a given user, account, named area, and locale.
| userId | string If specified, the availability will be returned for this user only. |
| locale | string The locale in form of a BCP 47 language tag (including the region if available) to check the availability for. If omitted, the service will check the availability of agents who did not filter the queue by language. |
| namedAreaSiteId | string The site ID (meta tag or domain) of the named area to check the availability for. If omitted, the service will check the availability of agents who did not filter the queue by named area. |
| apiKey | string API key to specify the account; mandatory when called as an anonymous user |
| ignoreAgentAvailabilityOverride | boolean If true, the configuration property "com.unblu.agentavailability.availabilityOverride" will be ignored when evaluating agent availability. Defaults to false. |
trueCreates the avatar in the system. The id can not be set for create operation, a new one is generated.
The entity to create
| $_type | string Default: "Avatar" Value: "Avatar" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| imageZoomFactor | number <float> Zoom factor to crop the original image. Must be bigger than 1. If omitted a minimal factor will be computed. |
| imageXPositionRatio | number <float> Ratio to determine the horizontal position of the cropping area. Must be between 0 and 1: 0 means moved at the left border, 1 means moved at the right border. If omitted 0.5 will be used. |
| imageYPositionRatio | number <float> Ratio to determine the vertical position of the cropping area. Must be between 0 and 1: 0 means moved at the top border, 1 means moved at the bottom border. If omitted 0.5 will be used. |
| imageRotationAngle | integer <int32> Clockwise angle in degree (0-380) for rotation. If omitted 0 will be used. |
| imageData | string Image content as data URL scheme (RFC2397 - |
{- "$_type": "Avatar",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "imageZoomFactor": 0,
- "imageXPositionRatio": 0,
- "imageYPositionRatio": 0,
- "imageRotationAngle": 0,
- "imageData": "string"
}{- "$_type": "Avatar",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "imageZoomFactor": 0,
- "imageXPositionRatio": 0,
- "imageYPositionRatio": 0,
- "imageRotationAngle": 0,
- "imageData": "string"
}Returns the avatar for the given id
| id | string Id of the entity which should be returned |
{- "$_type": "Avatar",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "imageZoomFactor": 0,
- "imageXPositionRatio": 0,
- "imageYPositionRatio": 0,
- "imageRotationAngle": 0,
- "imageData": "string"
}Service to manage all kind of bots. Additionally the bots use this service to interact with a conversation/dialog.
Accepts a dialog offer that was triggered either via a BotOnboardingOfferEvent, BotReboardingOfferEvent or a BotOffboardingOfferEventwebhook.
Accepting the dialog offer will result in the dialog bot participating in the offered dialog. As soon as it is the dialogs turn it will receive aBotDialogOpenEvent webhook.
| dialogOfferToken | string the onboarding-, reboarding- or offboarding-offer token contained in the webhook. |
Accept dialog offer
{- "dialogOfferToken": "AcviDb210C5BoFd6e_79oan-c-diOogO6lQerZwXgjGQ1NCQ"
}"string"Hides the typing indicator for the dialog bot.
If the typing indicator wasn't displayed, calling the endpoint has no effect.
| dialogToken | string The token that belongs to the bot's dialog |
{- "dialogToken": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Cancels all pending questions in a bot dialog.
| dialogToken | string The token belonging to the dialog |
{- "dialogToken": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Cancels a bot's question message. If the message is not from a bot, the call will throw an error.
| conversationId | string The ID of the conversation the question message was sent to |
| questionMessageId | string The ID of the question message that will be canceled |
{- "conversationId": "string",
- "questionMessageId": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Creates a new dialog bot that can be used for conversation onboarding, reboarding and offboarding.
The dialog bot to create.
| $_type | string Default: "DialogBotData" Value: "DialogBotData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the dialog bot. Maximum length of 250 characters. Can not be omitted. |
| description | string Description of the dialog bot. Maximum length of 500 characters. Can be omitted. |
| botPersonId | string ID of the person representing the bot |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| webhookEndpoint | string The endpoint url of the webhook registration. To this url the requests for the webhook events are done. Maximum length of 4000 characters. Based on the configured filters/flags the following events will be sent to the endpoint:
|
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string Optional secret which is send with each webhook event. Maximum length of 4000 characters. |
| onboardingOrder | integer <int32> Defines the onboarding order of this bot. If more than one bots want to participate in an onboarding, the one with the lowest order value will go first. |
| reboardingOrder | integer <int32> Defines the reboarding order of this bot. If more than one bots want to participate in an reboarding, the one with the lowest order value will go first. |
| offboardingOrder | integer <int32> Defines the offboarding priority of this bot. If more than one bots want to participate in an offboarding, the one with the lowest order value will go first. |
| onboardingFilter | string (EBotDialogFilter) Enum: "VISITORS" "AGENTS" "BOTH" "NONE" enum-descriptions: ["VISITORS: Only handle dialogs that with visitors as the counterpart.","AGENTS: Only handle dialogs with agents as the counterpart","BOTH: Handle dialogs with both agents and visitors as the counterpart","NONE: Don't handle any dialogs."] |
| reboardingEnabled | boolean Defines if this bot can reboard. A reboarding offer will be sent only if this flag is enabled, giving the bot the chance to be part of the reboarding. |
| offboardingFilter | string (EBotDialogFilter) Enum: "VISITORS" "AGENTS" "BOTH" "NONE" enum-descriptions: ["VISITORS: Only handle dialogs that with visitors as the counterpart.","AGENTS: Only handle dialogs with agents as the counterpart","BOTH: Handle dialogs with both agents and visitors as the counterpart","NONE: Don't handle any dialogs."] |
| needsCounterpartPresence | boolean Defines if the counterpart has to be online for the onboarding to start. E.g. if questions have to be answered live. |
| messageStateHandledExternally | boolean Defines if the delivered/read state of messages is handled externally or by the collaboration server. |
| automaticTypingStateHandlingEnabled | boolean Defines if the bot should automatically display a typing indicator after receiving a message from the counterpart person. The indication starts 1s after the message is received. The typing state can also be influenced through the web API, independently of this property. |
| onTimeoutBehavior | string (EBotDialogTimeoutBehavior) Enum: "ABORT" "HAND_OFF" enum-descriptions: ["ABORT: Abort on-boarding the conversation when it comes to timeout. Default for internal bots.","HAND_OFF: Proceed further in on-boarding the conversation when it comes to timeout. Default for external bots."] Defines what should happen with the conversation when it comes to timeout during on-boarding. |
Create a new dialog bot
{- "$_type": "DialogBotData",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "name": "test-bot-1",
- "description": null,
- "botPersonId": "BoL9zZSbQeGGXMfCLxWZ4g",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null,
- "onboardingOrder": 10,
- "reboardingOrder": 10,
- "offboardingOrder": 10,
- "onboardingFilter": "VISITORS",
- "reboardingEnabled": false,
- "offboardingFilter": "NONE",
- "needsCounterpartPresence": false,
- "messageStateHandledExternally": false,
- "automaticTypingStateHandlingEnabled": true,
- "onTimeoutBehavior": "HAND_OFF"
}New dialog bot
{- "$_type": "DialogBotData",
- "id": "c1a-ED06Dbat9daFBtC4l85",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-bot-1",
- "description": null,
- "botPersonId": "BoL9zZSbQeGGXMfCLxWZ4g",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null,
- "onboardingOrder": 10,
- "reboardingOrder": 10,
- "offboardingOrder": 10,
- "onboardingFilter": "VISITORS",
- "reboardingEnabled": false,
- "offboardingFilter": "NONE",
- "needsCounterpartPresence": false,
- "messageStateHandledExternally": false,
- "automaticTypingStateHandlingEnabled": true,
- "onTimeoutBehavior": "HAND_OFF"
}{- "$_type": "BotDialogClosedEvent",
- "timestamp": 0,
- "eventType": "string",
- "accountId": "string",
- "dialogToken": "string",
- "conversationId": "string",
- "counterpartPersonId": "string"
}Declines a dialog offer that was triggered either via a BotOnboardingOfferEvent, BotReboardingOfferEvent or aBotOffboardingOfferEvent webhook.
No further webhooks will be sent for this dialog.
| dialogOfferToken | string the onboarding-, reboarding- or offboarding-offer token contained in the webhook. |
Decline a dialog offer
{- "dialogOfferToken": "AcviDb210C5BoFd6e_79oan-c-diOogO6lQerZwXgjGQ1NCQ"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Deletes an existing dialog bot
| id | string The ID of the dialog bot which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Marks a message as delivered to the bot.
Note: If the message is also read use the dialogMessageRead end point directly as it will also mark the message as delivered.
| dialogToken | string The token that belongs to the bot's dialog |
| messageId | string The ID of the delivered message |
Mark a message as delivered
{- "dialogToken": "AcviDb210C5BoFd6e_79oan-c-daOogO9iQmqUbgNzZN4X2A",
- "messageId": "mGesYagET_2GipaDGinA9A"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Marks a message as read to the bot.
Note: This will also mark the message as delivered, if this hasn't happened yet.
| dialogToken | string The token that belongs to the bot's dialog |
| messageId | string The ID of the message that was read |
Mark a message as read
{- "dialogToken": "AcviDb210C5BoFd6e_79oan-c-daOogO9iQmqUbgNzZN4X2A",
- "messageId": "mGesYagET_2GipaDGinA9A"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Ends the dialog. Depending on the reason given and whether the dialog takes place during onboarding, reboarding, or offboarding, this will have specific effects. See the list below.
Reason: EBotDialogFinishReason.HAND_OFF:
EBotDialogFinishReason.SOLVED:EBotDialogFinishReason.ABORTED:| dialogToken | string The dialog token contained in each bot dialog webhook. |
| reason | string (EBotDialogFinishReason) Enum: "HAND_OFF" "SOLVED" "ABORTED" enum-descriptions: ["HAND_OFF: The bot is done with his part and the next bot can to the on-, re- or offboarding.","SOLVED: The problem of the dialog was solved and therefore no further bots are invoked.","ABORTED: The dialog was not successful and the on-, re- or offboarding has to be aborted."] Reason why a bot finished a dialog. |
Hand off the dialog to an agent
{- "dialogToken": "AcviDb210C5BoFd6e_79oan-c-daOogO9iQmqUbgNzZN4X2A",
- "reason": "HAND_OFF"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Searches for an existing dialog bot with the given name.
| name | string Name of the dialog bot. |
Dialog bot
{- "$_type": "DialogBotData",
- "id": "c1a-ED06Dbat9daFBtC4l85",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-bot-1",
- "description": null,
- "botPersonId": "BoL9zZSbQeGGXMfCLxWZ4g",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null,
- "onboardingOrder": 10,
- "reboardingOrder": 10,
- "offboardingOrder": 10,
- "onboardingFilter": "NONE",
- "reboardingEnabled": false,
- "offboardingFilter": "NONE",
- "needsCounterpartPresence": false,
- "messageStateHandledExternally": false,
- "automaticTypingStateHandlingEnabled": true,
- "onTimeoutBehavior": "HAND_OFF"
}Emits a WebhookPingEvent on the configured webhook for the dialog bot.
| dialogBotId | string The ID of the dialog bot |
Send a ping event for the given bot
{- "dialogBotId": "c1a-ED06Dbat9daFBtC4l85"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Reads an existing dialog bot.
| id | string The ID of the dialog bot. |
Dialog bot
{- "$_type": "DialogBotData",
- "id": "c1a-ED06Dbat9daFBtC4l85",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-bot-1",
- "description": null,
- "botPersonId": "BoL9zZSbQeGGXMfCLxWZ4g",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null,
- "onboardingOrder": 10,
- "reboardingOrder": 10,
- "offboardingOrder": 10,
- "onboardingFilter": "NONE",
- "reboardingEnabled": false,
- "offboardingFilter": "NONE",
- "needsCounterpartPresence": false,
- "messageStateHandledExternally": false,
- "automaticTypingStateHandlingEnabled": true,
- "onTimeoutBehavior": "HAND_OFF"
}Limits the length of a message the counterpart can send to the bot in a dialog.
The value is reset automatically when the bot hands off the dialog.
| dialogToken | string The dialog token included in each bot dialog webhook |
| maxChatInputLength | integer <int32> The maximum number of characters in a message |
{- "dialogToken": "string",
- "maxChatInputLength": 0
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Search for dialog bots in the current account
| $_type | string Default: "DialogBotQuery" Value: "DialogBotQuery" |
Array of any (DialogBotSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (DialogBotOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "DialogBotQuery",
- "searchFilters": [
- {
- "$_type": "BotPersonIdDialogBotSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsStringOperator",
- "type": "EQUALS",
- "value": "string"
}
}
], - "orderBy": [
- {
- "$_type": "DialogBotOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "DialogBotResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "DialogBotData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "botPersonId": "string",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string",
- "onboardingOrder": 0,
- "reboardingOrder": 0,
- "offboardingOrder": 0,
- "onboardingFilter": "VISITORS",
- "reboardingEnabled": true,
- "offboardingFilter": "VISITORS",
- "needsCounterpartPresence": true,
- "messageStateHandledExternally": true,
- "automaticTypingStateHandlingEnabled": true,
- "onTimeoutBehavior": "ABORT"
}
]
}Sends a message as a bot into an ongoing dialog.
It can only be used after the bot received the BotDialogOpenEvent webhook for this dialog.
The message to send
| $_type | string Default: "BotDialogPostMessage" Value: "BotDialogPostMessage" |
| dialogToken | string The token belonging to the dialog the bot wants the message to |
any (PostMessageData) Base class for all conversation messages sent to the collaboration server. Can be one of |
{- "$_type": "BotDialogPostMessage",
- "dialogToken": "string",
- "messageData": {
- "$_type": "ListPostMessageData",
- "type": "TEXT",
- "fallbackText": "string",
- "header": {
- "$_type": "MessageHeader",
- "imageUrl": "string",
- "imageAltText": "string",
- "title": "string",
- "body": "string",
- "bodyTextType": "SIMPLE_TEXT"
}, - "items": [
- {
- "$_type": "PostListMessageCardItemData",
- "imageUrl": "string",
- "imageAltText": "string",
- "title": "string",
- "body": "string",
- "bodyTextType": "SIMPLE_TEXT",
- "action": {
- "$_type": "MessageAction",
- "actionType": "LINK_INTERNAL",
- "label": "string",
- "value": "string"
}
}
], - "actions": [
- {
- "$_type": "MessageAction",
- "actionType": "LINK_INTERNAL",
- "label": "string",
- "value": "string"
}
], - "quickReplies": [
- {
- "$_type": "QuickReply",
- "text": "string"
}
]
}
}"string"Sends a message to a conversation as a bot.
This can be used at any time during a conversation. It is not related to bot dialogs.
The message to send
| $_type | string Default: "BotPostMessage" Value: "BotPostMessage" |
| conversationId | string The id of the conversation to which this message belongs to |
| senderPersonId | string ID of the bot person that sent the message. |
| recipientPersonIds | Array of strings Person IDs of the recipients of the message. If it is null, all active participations are recipients |
| internal | boolean Flag indicating whether the message is internal and only visible to agents. If 'false', the message is public and visible for everyone. Cannot be set for REPLY message type. |
| replyToMessageId | string Optional ID that identifies the message that this message is replying to |
any (PostMessageData) Base class for all conversation messages sent to the collaboration server. Can be one of |
Send card message from the bot
{- "$_type": "BotPostMessage",
- "conversationId": "AcviDb210C5BoFd6e_79oan",
- "senderPersonId": "nta30CBa-6d1a89cE57Db_F",
- "recipientPersonIds": [
- "PtwoVi1O-2G9FFCR_rZLKQ"
], - "internal": false,
- "replyToMessageId": null,
- "messageData": {
- "$_type": "CardPostMessageData",
- "type": "CARD",
- "fallbackText": "This is the plain body text",
- "imageUrl": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQBAMAAABykSv/AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAASUExURfolAT39/6qSgZ2hko6xpLeDbrzfdCUAAAFvSURBVHja7c8BDYBADASwBQfvAAkkSOCRgH8rmLgwAq2D1lYZy+hVIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiLvjxx7xuyOjI8QERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERedB5hXRH1koRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERH5S2Sm3Pdeq7vUBkC2AAAAAElFTkSuQmCC",
- "imageAltText": "test image",
- "title": "Title",
- "body": "This is the **body text** with markdown",
- "bodyTextType": "MARKDOWN",
- "actions": [
- {
- "$_type": "MessageAction",
- "actionType": "LINK_INTERNAL",
- "label": "Unblu homepage",
}, - {
- "$_type": "MessageAction",
- "actionType": "LINK_EXTERNAL",
- "label": "Wikipedia",
}, - {
- "$_type": "MessageAction",
- "actionType": "LINK_COBROWSABLE",
- "label": "Cobrowse Unblu homepage",
}, - {
- "$_type": "MessageAction",
- "actionType": "REPLY_MESSAGE",
- "label": "More info",
- "value": "Could you provide me with more info?"
}
], - "quickReplies": [
- {
- "$_type": "QuickReply",
- "text": "Thank you"
}, - {
- "$_type": "QuickReply",
- "text": "Great, that helped a lot"
}
]
}
}"string"Displays a typing indicator for the dialog bot, to show the counterpart person that something is happening.
The typing indicator is removed automatically after four seconds or when the bot sends a message, whichever occurs sooner. If the typing indicator is already displayed, calling this endpoint resets the four second timer.
| dialogToken | string The token that belongs to the bot's dialog |
{- "dialogToken": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Updates an existing dialog bot.
| $_type | string Default: "DialogBotData" Value: "DialogBotData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the dialog bot. Maximum length of 250 characters. Can not be omitted. |
| description | string Description of the dialog bot. Maximum length of 500 characters. Can be omitted. |
| botPersonId | string ID of the person representing the bot |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| webhookEndpoint | string The endpoint url of the webhook registration. To this url the requests for the webhook events are done. Maximum length of 4000 characters. Based on the configured filters/flags the following events will be sent to the endpoint:
|
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string Optional secret which is send with each webhook event. Maximum length of 4000 characters. |
| onboardingOrder | integer <int32> Defines the onboarding order of this bot. If more than one bots want to participate in an onboarding, the one with the lowest order value will go first. |
| reboardingOrder | integer <int32> Defines the reboarding order of this bot. If more than one bots want to participate in an reboarding, the one with the lowest order value will go first. |
| offboardingOrder | integer <int32> Defines the offboarding priority of this bot. If more than one bots want to participate in an offboarding, the one with the lowest order value will go first. |
| onboardingFilter | string (EBotDialogFilter) Enum: "VISITORS" "AGENTS" "BOTH" "NONE" enum-descriptions: ["VISITORS: Only handle dialogs that with visitors as the counterpart.","AGENTS: Only handle dialogs with agents as the counterpart","BOTH: Handle dialogs with both agents and visitors as the counterpart","NONE: Don't handle any dialogs."] |
| reboardingEnabled | boolean Defines if this bot can reboard. A reboarding offer will be sent only if this flag is enabled, giving the bot the chance to be part of the reboarding. |
| offboardingFilter | string (EBotDialogFilter) Enum: "VISITORS" "AGENTS" "BOTH" "NONE" enum-descriptions: ["VISITORS: Only handle dialogs that with visitors as the counterpart.","AGENTS: Only handle dialogs with agents as the counterpart","BOTH: Handle dialogs with both agents and visitors as the counterpart","NONE: Don't handle any dialogs."] |
| needsCounterpartPresence | boolean Defines if the counterpart has to be online for the onboarding to start. E.g. if questions have to be answered live. |
| messageStateHandledExternally | boolean Defines if the delivered/read state of messages is handled externally or by the collaboration server. |
| automaticTypingStateHandlingEnabled | boolean Defines if the bot should automatically display a typing indicator after receiving a message from the counterpart person. The indication starts 1s after the message is received. The typing state can also be influenced through the web API, independently of this property. |
| onTimeoutBehavior | string (EBotDialogTimeoutBehavior) Enum: "ABORT" "HAND_OFF" enum-descriptions: ["ABORT: Abort on-boarding the conversation when it comes to timeout. Default for internal bots.","HAND_OFF: Proceed further in on-boarding the conversation when it comes to timeout. Default for external bots."] Defines what should happen with the conversation when it comes to timeout during on-boarding. |
{- "$_type": "DialogBotData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "botPersonId": "string",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string",
- "onboardingOrder": 0,
- "reboardingOrder": 0,
- "offboardingOrder": 0,
- "onboardingFilter": "VISITORS",
- "reboardingEnabled": true,
- "offboardingFilter": "VISITORS",
- "needsCounterpartPresence": true,
- "messageStateHandledExternally": true,
- "automaticTypingStateHandlingEnabled": true,
- "onTimeoutBehavior": "ABORT"
}{- "$_type": "DialogBotData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "botPersonId": "string",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string",
- "onboardingOrder": 0,
- "reboardingOrder": 0,
- "offboardingOrder": 0,
- "onboardingFilter": "VISITORS",
- "reboardingEnabled": true,
- "offboardingFilter": "VISITORS",
- "needsCounterpartPresence": true,
- "messageStateHandledExternally": true,
- "automaticTypingStateHandlingEnabled": true,
- "onTimeoutBehavior": "ABORT"
}read operation
| id | string |
{- "$_type": "Call",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "conversationId": "string",
- "serviceProviderCallId": "string",
- "serviceProviderType": "ACS",
- "initiatorPersonId": "string",
- "callType": "AUDIO",
- "initiationTimestamp": 0,
- "acceptTimestamp": 0,
- "establishedTimestamp": 0,
- "endTimestamp": 0,
- "endReason": "NOT_ANSWERED",
- "participations": [
- {
- "$_type": "CallParticipation",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "joinedTimestamp": 0,
- "leftTimestamp": 0,
- "personId": "string",
- "ringingTimestamp": 0,
- "connectedTimestamp": 0,
- "leftReason": "HANG_UP",
- "publications": [
- {
- "$_type": "CallDialInPublication",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "type": "DIAL_IN",
- "dialInServiceProviderType": "VONAGE",
- "dialInId": "string",
- "dialInNumber": "string",
- "startTimestamp": 0,
- "endTimestamp": 0
}
]
}
]
}Search for call logs in the current account
| $_type | string Default: "CallQuery" Value: "CallQuery" |
Array of any (CallSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (CallOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "CallQuery",
- "searchFilters": [
- {
- "$_type": "ConversationIdCallSearchFilter",
- "field": "CONVERSATION_ID",
- "operator": {
- "$_type": "EqualsStringOperator",
- "type": "EQUALS",
- "value": "string"
}
}
], - "orderBy": [
- {
- "$_type": "CallOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "CallResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "Call",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "conversationId": "string",
- "serviceProviderCallId": "string",
- "serviceProviderType": "ACS",
- "initiatorPersonId": "string",
- "callType": "AUDIO",
- "initiationTimestamp": 0,
- "acceptTimestamp": 0,
- "establishedTimestamp": 0,
- "endTimestamp": 0,
- "endReason": "NOT_ANSWERED",
- "participations": [
- {
- "$_type": "CallParticipation",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "joinedTimestamp": 0,
- "leftTimestamp": 0,
- "personId": "string",
- "ringingTimestamp": 0,
- "connectedTimestamp": 0,
- "leftReason": "HANG_UP",
- "publications": [
- {
- "$_type": "CallDialInPublication",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "type": "DIAL_IN",
- "dialInServiceProviderType": "VONAGE",
- "dialInId": "string",
- "dialInNumber": "string",
- "startTimestamp": 0,
- "endTimestamp": 0
}
]
}
]
}
]
}Service to manage canned responses.
The canned responses a user can edit and the once he can use for chat can differ. The once he can edit are depending on his role. The ones he can use in a chat depends on the team setup and his role. See the following policies for the list of chat messages available for chat:
Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated.
The entity to create
| $_type | string Default: "CannedResponse" Value: "CannedResponse" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| ownerId | string Id of the owner of the entity. Can not be omitted. |
| ownerType | string (EPropertyOwnerType) Enum: "GLOBAL" "ACCOUNT" "TEAM" "USER" "AREA" "APIKEY" "PERSON" "CONVERSATION" "CONVERSATION_TEMPLATE" "EXTERNAL_MESSENGER_CHANNEL" "CUSTOM_ACTION" enum-descriptions: ["GLOBAL: Global system is owner","ACCOUNT: Account is owner","TEAM: Team is owner","USER: User is owner","AREA: NamedArea is owner","APIKEY: ApiKey is owner","PERSON: Person","CONVERSATION: Conversation","CONVERSATION_TEMPLATE: Conversation template","EXTERNAL_MESSENGER_CHANNEL: External messenger channel","CUSTOM_ACTION: Custom action"] Type of an owner of an entity |
Array of objects (Placeholder) [ items ] | |
| key | string Unused since Unblu7 and same as title for backward compatibility. |
| title | string The title of a canned response as unique identifier. Maximum of 250 characters. |
| text | string The text of a canned response. Can be omitted, but should not. |
| language | string The language of a canned response, specified using the language tag format as defined in IETF BCP 47. This field can be omitted, but doing so may lead to behavior that doesn't matches users' expectations. Only canned responses matching a conversation's language are displayed in the UI.
|
Create a new canned response for the account
{- "$_type": "CannedResponse",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "ownerId": null,
- "ownerType": "ACCOUNT",
- "placeholders": [ ],
- "key": "Have a nice day",
- "title": "Have a nice day",
- "text": "It was great chatting with you, have a nice day!",
- "language": "en"
}New canned response for the account
{- "$_type": "CannedResponse",
- "id": "EasFde6CRn83pnBCec_4Ds0",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "ownerId": "A7d9E_0-c3cC4aoFDb85t6n",
- "ownerType": "ACCOUNT",
- "placeholders": [ ],
- "key": "Have a nice day",
- "title": "Have a nice day",
- "text": "It was great chatting with you, have a nice day!",
- "language": "en"
}Deletes the entity for the given ID
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns all CannedResponses that are available inside chat sessions for the calling user.
The user may be allowed to edit more than the returned canned responses if he has the rights.
Note: For editing use the getByOwnerTypeAndId or getAll service.
[- {
- "$_type": "CannedResponse",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "placeholders": [
- {
- "$_type": "Placeholder",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderValues": [
- {
- "$_type": "PlaceholderValue",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderId": "string",
- "textValue": "string"
}
], - "cannedResponseId": "string",
- "type": "TEXT",
- "title": "string",
- "hint": "string"
}
], - "key": "string",
- "title": "string",
- "text": "string",
- "language": "string"
}
]Returns a list of all configuration scopes for which the calling user may add, delete or edit canned responses. Depending on the permissions of the users, these configuration scopes can be more than the ones which are available for the user in a chat.
[- {
- "$_type": "CannedResponseConfigurationScope",
- "name": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL"
}
]Returns all configurations scopes available for chat to the calling user that the calling user may add, delete and edit canned responses for.
Note: The returned scopes may be equal to or be a subset of the the scopes returned by getWritableConfigurationScopes depending on the user role.
[- {
- "$_type": "CannedResponseConfigurationScope",
- "name": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL"
}
]Returns the canned response for the given id
| id | string Id of the canned response which should be returned |
{- "$_type": "CannedResponse",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "placeholders": [
- {
- "$_type": "Placeholder",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderValues": [
- {
- "$_type": "PlaceholderValue",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderId": "string",
- "textValue": "string"
}
], - "cannedResponseId": "string",
- "type": "TEXT",
- "title": "string",
- "hint": "string"
}
], - "key": "string",
- "title": "string",
- "text": "string",
- "language": "string"
}Gets a list of canned responses for the given id's
The id's for which the canned responses should be fetched
[- "string"
][- {
- "$_type": "CannedResponse",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "placeholders": [
- {
- "$_type": "Placeholder",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderValues": [
- {
- "$_type": "PlaceholderValue",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderId": "string",
- "textValue": "string"
}
], - "cannedResponseId": "string",
- "type": "TEXT",
- "title": "string",
- "hint": "string"
}
], - "key": "string",
- "title": "string",
- "text": "string",
- "language": "string"
}
]Search for canned responses according to the policy that applies to the user making the API call
| $_type | string Default: "CannedResponseQuery" Value: "CannedResponseQuery" |
Array of any (CannedResponseSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (CannedResponseOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "CannedResponseQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampCannedResponseSearchFilter",
- "field": "KEY",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "CannedResponseOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "CannedResponseResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "CannedResponse",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "placeholders": [
- {
- "$_type": "Placeholder",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderValues": [
- {
- "$_type": "PlaceholderValue",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderId": "string",
- "textValue": "string"
}
], - "cannedResponseId": "string",
- "type": "TEXT",
- "title": "string",
- "hint": "string"
}
], - "key": "string",
- "title": "string",
- "text": "string",
- "language": "string"
}
]
}Updates the entity in the system with the given entity.
The entity to update
| $_type | string Default: "CannedResponse" Value: "CannedResponse" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| ownerId | string Id of the owner of the entity. Can not be omitted. |
| ownerType | string (EPropertyOwnerType) Enum: "GLOBAL" "ACCOUNT" "TEAM" "USER" "AREA" "APIKEY" "PERSON" "CONVERSATION" "CONVERSATION_TEMPLATE" "EXTERNAL_MESSENGER_CHANNEL" "CUSTOM_ACTION" enum-descriptions: ["GLOBAL: Global system is owner","ACCOUNT: Account is owner","TEAM: Team is owner","USER: User is owner","AREA: NamedArea is owner","APIKEY: ApiKey is owner","PERSON: Person","CONVERSATION: Conversation","CONVERSATION_TEMPLATE: Conversation template","EXTERNAL_MESSENGER_CHANNEL: External messenger channel","CUSTOM_ACTION: Custom action"] Type of an owner of an entity |
Array of objects (Placeholder) [ items ] | |
| key | string Unused since Unblu7 and same as title for backward compatibility. |
| title | string The title of a canned response as unique identifier. Maximum of 250 characters. |
| text | string The text of a canned response. Can be omitted, but should not. |
| language | string The language of a canned response, specified using the language tag format as defined in IETF BCP 47. This field can be omitted, but doing so may lead to behavior that doesn't matches users' expectations. Only canned responses matching a conversation's language are displayed in the UI.
|
{- "$_type": "CannedResponse",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "placeholders": [
- {
- "$_type": "Placeholder",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderValues": [
- {
- "$_type": "PlaceholderValue",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderId": "string",
- "textValue": "string"
}
], - "cannedResponseId": "string",
- "type": "TEXT",
- "title": "string",
- "hint": "string"
}
], - "key": "string",
- "title": "string",
- "text": "string",
- "language": "string"
}{- "$_type": "CannedResponse",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "placeholders": [
- {
- "$_type": "Placeholder",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderValues": [
- {
- "$_type": "PlaceholderValue",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "placeholderId": "string",
- "textValue": "string"
}
], - "cannedResponseId": "string",
- "type": "TEXT",
- "title": "string",
- "hint": "string"
}
], - "key": "string",
- "title": "string",
- "text": "string",
- "language": "string"
}Retrieve the number of canned response usages according to the search filter provided
to use for the search
| $_type | string Default: "CannedResponseUsageCountQuery" Value: "CannedResponseUsageCountQuery" |
Array of any (CannedResponseUsageSearchFilter) [ items ] List of filters to narrow the search of entities |
{- "$_type": "CannedResponseUsageCountQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampCannedResponseUsageSearchFilter",
- "field": "PERSON_ID",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
]
}{- "$_type": "CountResult",
- "count": 0
}Search for usages of canned responses
to use for the search
| $_type | string Default: "CannedResponseUsageQuery" Value: "CannedResponseUsageQuery" |
Array of any (CannedResponseUsageSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (CannedResponseUsageOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "CannedResponseUsageQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampCannedResponseUsageSearchFilter",
- "field": "PERSON_ID",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "CannedResponseUsageOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "CannedResponseUsageResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "CannedResponseUsage",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "cannedResponseId": "string",
- "personId": "string",
- "messageId": "string",
- "conversationId": "string"
}
]
}Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated. This feature will be removed with Unblu 8
The entity to create
| $_type | string Default: "Contact" Value: "Contact" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| ownerId | string Id of the owner of the entity. Can not be omitted. |
| ownerType | string (EPropertyOwnerType) Enum: "GLOBAL" "ACCOUNT" "TEAM" "USER" "AREA" "APIKEY" "PERSON" "CONVERSATION" "CONVERSATION_TEMPLATE" "EXTERNAL_MESSENGER_CHANNEL" "CUSTOM_ACTION" enum-descriptions: ["GLOBAL: Global system is owner","ACCOUNT: Account is owner","TEAM: Team is owner","USER: User is owner","AREA: NamedArea is owner","APIKEY: ApiKey is owner","PERSON: Person","CONVERSATION: Conversation","CONVERSATION_TEMPLATE: Conversation template","EXTERNAL_MESSENGER_CHANNEL: External messenger channel","CUSTOM_ACTION: Custom action"] Type of an owner of an entity |
| type | string (EContactType) Enum: "UNKNOWN_PHONE" "MOBILE_PHONE" "FIXNET_PHONE" "EMAIL" "URL" enum-descriptions: ["UNKNOWN_PHONE: Any phone number (fixnet, mobile,...)","MOBILE_PHONE: Mobile phone number","FIXNET_PHONE: Fixnet phone number","EMAIL: email address","URL: Url (e.g. company homepage url)"] Type of a contact information |
| data | string The data of the contact information. e.g. a phone number. It is used for presentation. Can not be omitted. |
| rawData | string The raw data of the contact information. In most cases it is the same as the data field. Can not be omitted. |
{- "$_type": "Contact",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "type": "UNKNOWN_PHONE",
- "data": "string",
- "rawData": "string"
}{- "$_type": "Contact",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "type": "UNKNOWN_PHONE",
- "data": "string",
- "rawData": "string"
}Deletes the entity for the given ID. This feature will be removed with Unblu 8
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the entity for the given ID. This feature will be removed with Unblu 8
| id | string ID of the entity which should be returned |
{- "$_type": "Contact",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "type": "UNKNOWN_PHONE",
- "data": "string",
- "rawData": "string"
}Gets a list of the entities with the given IDs. IDs that can't be found are ignored. This feature will be removed with Unblu 8
The IDs for which to fetch the entities
[- "string"
][- {
- "$_type": "Contact",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "type": "UNKNOWN_PHONE",
- "data": "string",
- "rawData": "string"
}
]Search for contacts in the current account. This feature will be removed with Unblu 8
| $_type | string Default: "ContactQuery" Value: "ContactQuery" |
Array of any (ContactSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (ContactOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "ContactQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampContactSearchFilter",
- "field": "CREATION_TIMESTAMP",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "ContactOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "ContactResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "Contact",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "type": "UNKNOWN_PHONE",
- "data": "string",
- "rawData": "string"
}
]
}Updates the entity in the system with the given entity. This feature will be removed with Unblu 8
The entity to update
| $_type | string Default: "Contact" Value: "Contact" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| ownerId | string Id of the owner of the entity. Can not be omitted. |
| ownerType | string (EPropertyOwnerType) Enum: "GLOBAL" "ACCOUNT" "TEAM" "USER" "AREA" "APIKEY" "PERSON" "CONVERSATION" "CONVERSATION_TEMPLATE" "EXTERNAL_MESSENGER_CHANNEL" "CUSTOM_ACTION" enum-descriptions: ["GLOBAL: Global system is owner","ACCOUNT: Account is owner","TEAM: Team is owner","USER: User is owner","AREA: NamedArea is owner","APIKEY: ApiKey is owner","PERSON: Person","CONVERSATION: Conversation","CONVERSATION_TEMPLATE: Conversation template","EXTERNAL_MESSENGER_CHANNEL: External messenger channel","CUSTOM_ACTION: Custom action"] Type of an owner of an entity |
| type | string (EContactType) Enum: "UNKNOWN_PHONE" "MOBILE_PHONE" "FIXNET_PHONE" "EMAIL" "URL" enum-descriptions: ["UNKNOWN_PHONE: Any phone number (fixnet, mobile,...)","MOBILE_PHONE: Mobile phone number","FIXNET_PHONE: Fixnet phone number","EMAIL: email address","URL: Url (e.g. company homepage url)"] Type of a contact information |
| data | string The data of the contact information. e.g. a phone number. It is used for presentation. Can not be omitted. |
| rawData | string The raw data of the contact information. In most cases it is the same as the data field. Can not be omitted. |
{- "$_type": "Contact",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "type": "UNKNOWN_PHONE",
- "data": "string",
- "rawData": "string"
}{- "$_type": "Contact",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "ownerId": "string",
- "ownerType": "GLOBAL",
- "type": "UNKNOWN_PHONE",
- "data": "string",
- "rawData": "string"
}Gets the list of conversation recordings belonging to a specific conversation
| conversationId | string ID of the conversation |
[- {
- "$_type": "ConversationRecordingHistoryData",
- "conversationId": "string",
- "blobStoreId": "string",
- "fileName": "string",
- "mimeType": "string",
- "totalSize": 0,
- "downloadLink": "string",
- "agentDeskDownloadLink": "string",
- "recordingStartTimestamp": 0,
- "recordingEndTimestamp": 0,
- "status": "INITIALIZING",
- "endReason": "NORMAL",
- "recordingType": "AUDIO",
- "callIds": [
- "string"
]
}
]Returns the length of conversation recording done between the given dates. If account id is specified, the result is restricted to the given account. If there were no recordings done in the given time for the account (if specified), zero is returned. Dates are rounded to the beginning/end of day.
| fromTime | integer <int64> date from which to count the conversation recording length. Value is rounded to the beginning of the day. |
| toTime | integer <int64> date to which to count the conversation recording length. Value is rounded to the end of the day. |
| accountId | string optional |
0Returns the conversation history data for a given conversation.
| conversationId | string id of the conversation |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ConversationHistoryData",
- "id": "string",
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "assigneePerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "contextPerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "endPerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "participants": [
- {
- "$_type": "ParticipantHistoryData",
- "state": "CREATED",
- "createdTimestamp": 0,
- "joinedTimestamp": 0,
- "activationTimestamp": 0,
- "offboardingTimestamp": 0,
- "leftTimestamp": 0,
- "leftReason": "FORWARDED",
- "leftComment": "string",
- "conversationRating": 0,
- "isHidden": true,
- "conversationStarred": true,
- "person": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}
}
], - "createdTimestamp": 0,
- "onboardingTimestamp": 0,
- "activationTimestamp": 0,
- "assigneeJoinTimestamp": 0,
- "reboardingTimestamp": 0,
- "offboardingTimestamp": 0,
- "endTimestamp": 0,
- "lastMessageTimestamp": 0,
- "lastCompletedRecordingTimestamp": 0,
- "queuedTimestamp": 0,
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "tokboxSessionId": "string",
- "conversationTemplateId": "string",
- "externalMessengerChannelIconId": "string",
- "externalMessengerChannelName": "string",
- "topic": "string",
- "sourceUrl": "string",
- "scheduledTimestamp": 0,
- "deletionTimestamp": 0,
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0
}Generic conversation history search.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The Conversation history query.
| $_type | string Default: "ConversationHistoryQuery" Value: "ConversationHistoryQuery" |
Array of any (ConversationHistorySearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (ConversationHistoryOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "ConversationHistoryQuery",
- "searchFilters": [
- {
- "$_type": "ParticipantPersonIdConversationHistorySearchFilter",
- "field": "CREATION_TIMESTAMP",
- "operator": {
- "$_type": "AllOfIdListOperator",
- "type": "ALL_OF",
- "values": [
- "string"
]
}
}
], - "orderBy": [
- {
- "$_type": "ConversationHistoryOrderBy",
- "field": "CREATION_TIMESTAMP",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}[- {
- "$_type": "ConversationHistoryData",
- "id": "string",
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "assigneePerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "contextPerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "endPerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "participants": [
- {
- "$_type": "ParticipantHistoryData",
- "state": "CREATED",
- "createdTimestamp": 0,
- "joinedTimestamp": 0,
- "activationTimestamp": 0,
- "offboardingTimestamp": 0,
- "leftTimestamp": 0,
- "leftReason": "FORWARDED",
- "leftComment": "string",
- "conversationRating": 0,
- "isHidden": true,
- "conversationStarred": true,
- "person": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}
}
], - "createdTimestamp": 0,
- "onboardingTimestamp": 0,
- "activationTimestamp": 0,
- "assigneeJoinTimestamp": 0,
- "reboardingTimestamp": 0,
- "offboardingTimestamp": 0,
- "endTimestamp": 0,
- "lastMessageTimestamp": 0,
- "lastCompletedRecordingTimestamp": 0,
- "queuedTimestamp": 0,
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "tokboxSessionId": "string",
- "conversationTemplateId": "string",
- "externalMessengerChannelIconId": "string",
- "externalMessengerChannelName": "string",
- "topic": "string",
- "sourceUrl": "string",
- "scheduledTimestamp": 0,
- "deletionTimestamp": 0,
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0
}
]Search messages belonging to a specific conversation
| conversationId required | string id of the conversation |
| $_type | string Default: "MessageQuery" Value: "MessageQuery" |
Array of any (MessageSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (MessageOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "MessageQuery",
- "searchFilters": [
- {
- "$_type": "SendTimestampMessageSearchFilter",
- "field": "SEND_TIMESTAMP",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "MessageOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "MessageResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "ConversationHistoryMessageData",
- "id": "string",
- "conversationId": "string",
- "sendTimestamp": 0,
- "serverTimestamp": 0,
- "senderPersonId": "string",
- "type": "TEXT",
- "internal": true,
- "replyToMessageId": "string",
- "recipientPersonIds": [
- "string"
], - "botThreadId": "string",
- "rejectionSeverity": "HIGH",
- "rejectionReason": "string",
- "text": "string"
}
]
}Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to create
| $_type | string Default: "ConversationTemplate" Value: "ConversationTemplate" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the named area. Maximum of 250 characters. Can not be omitted. |
| description | string Description of the named area. Maximum of 500 characters. Can be omitted. |
| defaultTemplate | boolean If true, this will be the default template for the initial engagement Type |
| initialEngagementType | string (EInitialEngagementType) Enum: "CHAT_REQUEST" "OFFLINE_CHAT_REQUEST" "VIDEO_REQUEST" "AUDIO_REQUEST" "HEADLESS_BROWSER_REQUEST" "DOMCAP_BROWSER_REQUEST" "MOBILE_COBROWSING_REQUEST" "WHITEBOARD_REQUEST" "SCREEN_SHARING_REQUEST" "VISITOR_COBROWSING" "HEADLESS_PIN" "DOMCAP_PIN" "MOBILE_PIN" "WHITEBOARD_PIN" "SCREEN_SHARING_PIN" "CHAT_PIN" "CHAT_INVITE" "HEADLESS_INVITE" "WHITEBOARD_INVITE" "SCREEN_SHARING_INVITE" "SCHEDULED_CONVERSATION" enum-descriptions: ["CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation.","OFFLINE_CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation while all agents are offline.","VIDEO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming video conversation.","AUDIO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming audio conversation.","HEADLESS_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming universal co-browsing conversation.","DOMCAP_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming embedded co-browsing conversation.","MOBILE_COBROWSING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming mobile co-browsing conversation.","WHITEBOARD_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming whiteboard conversation.","SCREEN_SHARING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming screen sharing conversation.","VISITOR_COBROWSING: (Api initiated, visitor centered) A visitor creates a conversation via API which is not added to the queue and where he can invite other visitor to do embedded","HEADLESS_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an universal co-browsing conversation.","DOMCAP_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an embedded co-browsing conversation.","MOBILE_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a mobile co-browsing conversation.","WHITEBOARD_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a whiteboard conversation.","SCREEN_SHARING_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a screen sharing conversation.","CHAT_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a chat conversation.","CHAT_INVITE: (Web-API initiated, agent centered) A chat conversation is created for a visitor to join a chat conversation.","HEADLESS_INVITE: (Agent initiated, agent centered) An agent creates universal co-browsing conversation and invites customer later.","WHITEBOARD_INVITE: (Agent initiated, agent centered) An agent creates whiteboard conversation and invites customer later.","SCREEN_SHARING_INVITE: (Agent initiated, agent centered) An agent creates screen sharing conversation and invites customer later.","SCHEDULED_CONVERSATION: (Agent initiated, agent centered) Conversation created with a certain topic and scheduled for some point in time."] The initial type of a conversation. The type used at creation time of the conversation determines the conversation template that is used. |
object A map of localized versions of the name and description of this entity | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
Create a ConversationTemplate with translations of the name and description for it
{- "$_type": "ConversationTemplate",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "name": "with-translations-test",
- "description": "The Conversation Template",
- "defaultTemplate": false,
- "initialEngagementType": "CHAT_INVITE",
- "translations": {
- "de": {
- "$_type": "ConversationTemplateTranslation",
- "id": null,
- "name": "Kreditanstalt",
- "description": "Bieten kurzfristige Darlehen"
}, - "en": {
- "$_type": "ConversationTemplateTranslation",
- "id": null,
- "name": "Loan bank",
- "description": "Offering short term loans"
}
}, - "configuration": null,
- "text": null,
- "metadata": null
}Create a ConversationTemplate with translations of the name and description for it
{- "$_type": "ConversationTemplate",
- "id": "ab32em6Be-5le_48rE1F9Ad",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "with-translations-test",
- "description": "The Conversation Template",
- "defaultTemplate": false,
- "initialEngagementType": "CHAT_INVITE",
- "translations": {
- "de": {
- "$_type": "ConversationTemplateTranslation",
- "id": "dPsIfqoiTjGhjtRyesrEBQ",
- "name": "Kreditanstalt",
- "description": "Bieten kurzfristige Darlehen"
}, - "en": {
- "$_type": "ConversationTemplateTranslation",
- "id": "dPsIfqoiTjGhjtRyesrEBQ",
- "name": "Loan bank",
- "description": "Offering short term loans"
}
}, - "configuration": null,
- "text": null,
- "metadata": null
}Deletes the entity for the given ID
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Gets the default conversation template for a given initial engagement type
| initialEngagementType | string (EInitialEngagementType) Enum: "CHAT_REQUEST" "OFFLINE_CHAT_REQUEST" "VIDEO_REQUEST" "AUDIO_REQUEST" "HEADLESS_BROWSER_REQUEST" "DOMCAP_BROWSER_REQUEST" "MOBILE_COBROWSING_REQUEST" "WHITEBOARD_REQUEST" "SCREEN_SHARING_REQUEST" "VISITOR_COBROWSING" "HEADLESS_PIN" "DOMCAP_PIN" "MOBILE_PIN" "WHITEBOARD_PIN" "SCREEN_SHARING_PIN" "CHAT_PIN" "CHAT_INVITE" "HEADLESS_INVITE" "WHITEBOARD_INVITE" "SCREEN_SHARING_INVITE" "SCHEDULED_CONVERSATION" enum-descriptions: ["CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation.","OFFLINE_CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation while all agents are offline.","VIDEO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming video conversation.","AUDIO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming audio conversation.","HEADLESS_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming universal co-browsing conversation.","DOMCAP_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming embedded co-browsing conversation.","MOBILE_COBROWSING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming mobile co-browsing conversation.","WHITEBOARD_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming whiteboard conversation.","SCREEN_SHARING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming screen sharing conversation.","VISITOR_COBROWSING: (Api initiated, visitor centered) A visitor creates a conversation via API which is not added to the queue and where he can invite other visitor to do embedded","HEADLESS_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an universal co-browsing conversation.","DOMCAP_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an embedded co-browsing conversation.","MOBILE_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a mobile co-browsing conversation.","WHITEBOARD_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a whiteboard conversation.","SCREEN_SHARING_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a screen sharing conversation.","CHAT_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a chat conversation.","CHAT_INVITE: (Web-API initiated, agent centered) A chat conversation is created for a visitor to join a chat conversation.","HEADLESS_INVITE: (Agent initiated, agent centered) An agent creates universal co-browsing conversation and invites customer later.","WHITEBOARD_INVITE: (Agent initiated, agent centered) An agent creates whiteboard conversation and invites customer later.","SCREEN_SHARING_INVITE: (Agent initiated, agent centered) An agent creates screen sharing conversation and invites customer later.","SCHEDULED_CONVERSATION: (Agent initiated, agent centered) Conversation created with a certain topic and scheduled for some point in time."] The initial type of a conversation. The type used at creation time of the conversation determines the conversation template that is used. |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ConversationTemplate",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "defaultTemplate": true,
- "initialEngagementType": "CHAT_REQUEST",
- "translations": {
- "property1": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns the entity for the given ID
| id | string ID of the entity which should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ConversationTemplate",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "defaultTemplate": true,
- "initialEngagementType": "CHAT_REQUEST",
- "translations": {
- "property1": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Gets a list of the entities with the given IDs. IDs that can't be found are ignored
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The IDs for which to fetch the entities
[- "string"
][- {
- "$_type": "ConversationTemplate",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "defaultTemplate": true,
- "initialEngagementType": "CHAT_REQUEST",
- "translations": {
- "property1": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]Search for conversation-templates in the current account
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "ConversationTemplateQuery" Value: "ConversationTemplateQuery" |
Array of any (ConversationTemplateSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (ConversationTemplateOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "ConversationTemplateQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampConversationTemplateSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "ConversationTemplateOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "ConversationTemplateResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "ConversationTemplate",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "defaultTemplate": true,
- "initialEngagementType": "CHAT_REQUEST",
- "translations": {
- "property1": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]
}Updates the entity in the system with the given entity.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to update
| $_type | string Default: "ConversationTemplate" Value: "ConversationTemplate" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the named area. Maximum of 250 characters. Can not be omitted. |
| description | string Description of the named area. Maximum of 500 characters. Can be omitted. |
| defaultTemplate | boolean If true, this will be the default template for the initial engagement Type |
| initialEngagementType | string (EInitialEngagementType) Enum: "CHAT_REQUEST" "OFFLINE_CHAT_REQUEST" "VIDEO_REQUEST" "AUDIO_REQUEST" "HEADLESS_BROWSER_REQUEST" "DOMCAP_BROWSER_REQUEST" "MOBILE_COBROWSING_REQUEST" "WHITEBOARD_REQUEST" "SCREEN_SHARING_REQUEST" "VISITOR_COBROWSING" "HEADLESS_PIN" "DOMCAP_PIN" "MOBILE_PIN" "WHITEBOARD_PIN" "SCREEN_SHARING_PIN" "CHAT_PIN" "CHAT_INVITE" "HEADLESS_INVITE" "WHITEBOARD_INVITE" "SCREEN_SHARING_INVITE" "SCHEDULED_CONVERSATION" enum-descriptions: ["CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation.","OFFLINE_CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation while all agents are offline.","VIDEO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming video conversation.","AUDIO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming audio conversation.","HEADLESS_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming universal co-browsing conversation.","DOMCAP_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming embedded co-browsing conversation.","MOBILE_COBROWSING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming mobile co-browsing conversation.","WHITEBOARD_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming whiteboard conversation.","SCREEN_SHARING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming screen sharing conversation.","VISITOR_COBROWSING: (Api initiated, visitor centered) A visitor creates a conversation via API which is not added to the queue and where he can invite other visitor to do embedded","HEADLESS_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an universal co-browsing conversation.","DOMCAP_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an embedded co-browsing conversation.","MOBILE_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a mobile co-browsing conversation.","WHITEBOARD_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a whiteboard conversation.","SCREEN_SHARING_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a screen sharing conversation.","CHAT_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a chat conversation.","CHAT_INVITE: (Web-API initiated, agent centered) A chat conversation is created for a visitor to join a chat conversation.","HEADLESS_INVITE: (Agent initiated, agent centered) An agent creates universal co-browsing conversation and invites customer later.","WHITEBOARD_INVITE: (Agent initiated, agent centered) An agent creates whiteboard conversation and invites customer later.","SCREEN_SHARING_INVITE: (Agent initiated, agent centered) An agent creates screen sharing conversation and invites customer later.","SCHEDULED_CONVERSATION: (Agent initiated, agent centered) Conversation created with a certain topic and scheduled for some point in time."] The initial type of a conversation. The type used at creation time of the conversation determines the conversation template that is used. |
object A map of localized versions of the name and description of this entity | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "ConversationTemplate",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "defaultTemplate": true,
- "initialEngagementType": "CHAT_REQUEST",
- "translations": {
- "property1": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "$_type": "ConversationTemplate",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "defaultTemplate": true,
- "initialEngagementType": "CHAT_REQUEST",
- "translations": {
- "property1": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "ConversationTemplateTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Adds a participant to a conversation.
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| personId | string Id of the person to add |
| connectedViaExternalMessenger | boolean If the participant is sending messages via a messenger channel, this parameter must be set to true. Otherwise false or do not set. |
| hidden | boolean If the person should be hidden or not. Note: only secondary agents and bots may be hidden. |
| conversationStarred | boolean If this conversation should be marked as starred for the person. If |
Add a participant to a conversation
{- "personId": "nta30CBa-6d1a89cE57Db_F",
- "connectedViaExternalMessenger": false,
- "hidden": false,
- "conversationStarred": false
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Changes the visibility of a conversation's participant.
| conversationId required | string |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| personId | string |
| hidden | boolean |
Mark an agent as visible
{- "personId": "nta30CBa-6d1a89cE57Db_F",
- "hidden": false
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Creates the conversation in the system. The conversation ID mustn't be set as a new one will be generated.
If called with the authorization role SUPERVISOR or REGISTERED_USER, there are a number of restrictions regarding the conversation to be created:
initialEngagementType must be a conversation type initiated by agents assigneePersonId must refer to the person entity of the agent making the call sourceId and externalMessengerChannelId are set they have to be unique for any active conversations. Ended conversations are ignored.| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "ConversationData" Value: "ConversationData" |
| creationTimestamp | integer <int64> Unix timestamp (ms) when the entity was created. It is defined when the entity is stored the first time in the system. |
| endTimestamp | integer <int64> Unix timestamp (ms) when the conversation ended, that is, all participants have finished their offboarding. |
| id | string Unique id of the conversation. When creating an entity this property can be omitted as it will be generated by the server. |
| accountId | string Account id to which the conversation belongs to. When creating a conversation, the accountId can be omitted, as it will be filled by the server automatically with the account of the currently logged in user. When editing an entity, you must include the account ID. |
| topic | string Topic of the conversation. Optional unless the initial engagement type is SCHEDULED_CONVERSATION, in which case it's mandatory. |
| scheduledTimestamp | integer <int64> Unix timestamp (ms) when the conversation is scheduled for. Can only be set for conversations with the initial engagement type SCHEDULED_CONVERSATION. |
any (ConversationRecipientData) Recipient of a conversation: Either a single | |
Array of objects (ParticipantData) [ items ] Current participants of the conversation | |
| assigneePersonId | string PersonId of the assigned agent (the main agent). Must be one of the participants. |
| contextPersonId | string PersonId of the context person (the main visitor). Must be one of the participants. |
| state | string (EConversationState) Enum: "CREATED" "ONBOARDING" "REBOARDING" "QUEUED" "ACTIVE" "UNASSIGNED" "OFFBOARDING" "ENDED" enum-descriptions: ["CREATED: Initial state of a conversation","ONBOARDING: Depending of the engagement type of the conversation, the conversation stays in the onboarding state as long as the person in the center of the conversation is doing his onboarding","REBOARDING: When a message is send to an unassigned conversation, the conversation first is put into the reboarding state as long as the person in the center of the conversation is doing the reboarding.","QUEUED: Depending of the engagement type of the conversation, the conversation is put in the queued state when it is inside the queue.","ACTIVE: Conversation is active","UNASSIGNED: After there is no assignee of a conversation anymore, the conversation goes to unassigned state until a message from a visitor is written to start reboarding again, or until the conversation is requeued.","OFFBOARDING: Conversation is being ended","ENDED: Conversation is ended"] Life cycle state of the conversation. Following transitions are possible:
|
| initialEngagementType | string (EInitialEngagementType) Enum: "CHAT_REQUEST" "OFFLINE_CHAT_REQUEST" "VIDEO_REQUEST" "AUDIO_REQUEST" "HEADLESS_BROWSER_REQUEST" "DOMCAP_BROWSER_REQUEST" "MOBILE_COBROWSING_REQUEST" "WHITEBOARD_REQUEST" "SCREEN_SHARING_REQUEST" "VISITOR_COBROWSING" "HEADLESS_PIN" "DOMCAP_PIN" "MOBILE_PIN" "WHITEBOARD_PIN" "SCREEN_SHARING_PIN" "CHAT_PIN" "CHAT_INVITE" "HEADLESS_INVITE" "WHITEBOARD_INVITE" "SCREEN_SHARING_INVITE" "SCHEDULED_CONVERSATION" enum-descriptions: ["CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation.","OFFLINE_CHAT_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming chat conversation while all agents are offline.","VIDEO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming video conversation.","AUDIO_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming audio conversation.","HEADLESS_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming universal co-browsing conversation.","DOMCAP_BROWSER_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming embedded co-browsing conversation.","MOBILE_COBROWSING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming mobile co-browsing conversation.","WHITEBOARD_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming whiteboard conversation.","SCREEN_SHARING_REQUEST: (Visitor initiated, visitor centered) A visitor creates an incoming screen sharing conversation.","VISITOR_COBROWSING: (Api initiated, visitor centered) A visitor creates a conversation via API which is not added to the queue and where he can invite other visitor to do embedded","HEADLESS_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an universal co-browsing conversation.","DOMCAP_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join an embedded co-browsing conversation.","MOBILE_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a mobile co-browsing conversation.","WHITEBOARD_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a whiteboard conversation.","SCREEN_SHARING_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a screen sharing conversation.","CHAT_PIN: (Agent initiated, visitor centered) An agent creates a conversation with a PIN invitation for the visitor to join a chat conversation.","CHAT_INVITE: (Web-API initiated, agent centered) A chat conversation is created for a visitor to join a chat conversation.","HEADLESS_INVITE: (Agent initiated, agent centered) An agent creates universal co-browsing conversation and invites customer later.","WHITEBOARD_INVITE: (Agent initiated, agent centered) An agent creates whiteboard conversation and invites customer later.","SCREEN_SHARING_INVITE: (Agent initiated, agent centered) An agent creates screen sharing conversation and invites customer later.","SCHEDULED_CONVERSATION: (Agent initiated, agent centered) Conversation created with a certain topic and scheduled for some point in time."] The initial type of a conversation. The type used at creation time of the conversation determines the conversation template that is used. |
| locale | string Locale of the conversation language (as BCP 47 language tag form including region if available) |
| tokboxSessionId | string Vonage (formerly TokBox) sessionId. When creating a conversation, this property can be omitted, as it is generated by the Collaboration Server. |
| visitorData | string Custom data for the visitor. The data is readable and writable on the visitor side. Don't include any confidential information. Security-related data should be stored in the conversation metadata. |
| conversationTemplateId | string Template ID of the conversation. If omitted, the default conversation template will be retrieved based on the initial engagement type. |
Array of objects (ConversationLink) [ items ] Links to open the conversation. When creating a conversation this property can be omitted as it will be generated by the server. | |
| externalMessengerChannelId | string ID of the external messenger channel the conversation should be linked to. If this property is null the conversation is an Unblu conversation and not linked to a messenger channel. |
| sourceId | string Custom ID to identify the source of the conversation. Typically used in connection with an external messenger to create a link to the external conversation. |
| sourceUrl | string URL identifying the system where the conversation was created. Null if created in Unblu. |
| endReason | string (EConversationEndReason) Enum: "ENDED_BY_PARTICIPANT" "MANDATORY_PARTICIPANT_GONE" "REQUEST_DECLINED" "REQUEST_NOT_ANSWERED" "EXTERNAL_CHANNEL_CLOSED" "SOLVED_BY_BOT" "CANCELED" "CALL_ENDED" "NO_AGENT_AVAILABLE" "OTHER" enum-descriptions: ["ENDED_BY_PARTICIPANT","MANDATORY_PARTICIPANT_GONE","REQUEST_DECLINED","REQUEST_NOT_ANSWERED","EXTERNAL_CHANNEL_CLOSED","SOLVED_BY_BOT","CANCELED","CALL_ENDED","NO_AGENT_AVAILABLE","OTHER"] Closing reason of a conversation |
| initialEngagementUrl | string The URL where the conversation originated. The following conversations always have an initial engagement URL:
|
| awaitedPersonType | string (EAwaitedPersonType) Enum: "NONE" "VISITOR" "AGENT" enum-descriptions: ["NONE","VISITOR","AGENT"] Indicates which type of person the conversation is waiting for |
| awaitedPersonTypeChangeTimestamp | integer <int64> Unix timestamp (ms) when the awaited person type last changed. |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}New conversation created
{- "$_type": "ConversationData",
- "creationTimestamp": 1546300800000,
- "endTimestamp": null,
- "id": "AcviDb210C5BoFd6e_79oan",
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "topic": null,
- "scheduledTimestamp": null,
- "recipient": {
- "$_type": "AccountData",
- "id": "A7d9E_0-c3cC4aoFDb85t6n",
- "displayName": "Main Account",
- "displayNameTranslations": { },
- "avatar": null
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "ACTIVE",
- "personId": "nta30CBa-6d1a89cE57Db_F",
- "connectedViaExternalMessenger": false,
- "hidden": false,
- "conversationStarred": false
}
], - "assigneePersonId": null,
- "contextPersonId": "nta30CBa-6d1a89cE57Db_F",
- "state": "QUEUED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "en",
- "tokboxSessionId": null,
- "visitorData": "test-visitorData-1234",
- "conversationTemplateId": "ab32em6Be-5le_48rE1F9Ad",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_VISITOR_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_SINGLE_VIEW",
- "url": "..."
}
], - "externalMessengerChannelId": null,
- "sourceId": null,
- "endReason": null,
- "initialEngagementUrl": null,
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": null,
- "configuration": null,
- "text": null,
- "metadata": null
}Deletes the conversation with the given ID.
Calls with the authorization role SUPERVISOR or REGISTERED_USER are only permissible if:
| id | string The ID of the conversation to be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Ends a conversation. If called with the authorization role SUPERVISOR or REGISTERED_USER, the agent making the call must have the necessary permissions to end a conversation.
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| reason | string (EConversationEndReason) Enum: "ENDED_BY_PARTICIPANT" "MANDATORY_PARTICIPANT_GONE" "REQUEST_DECLINED" "REQUEST_NOT_ANSWERED" "EXTERNAL_CHANNEL_CLOSED" "SOLVED_BY_BOT" "CANCELED" "CALL_ENDED" "NO_AGENT_AVAILABLE" "OTHER" enum-descriptions: ["ENDED_BY_PARTICIPANT","MANDATORY_PARTICIPANT_GONE","REQUEST_DECLINED","REQUEST_NOT_ANSWERED","EXTERNAL_CHANNEL_CLOSED","SOLVED_BY_BOT","CANCELED","CALL_ENDED","NO_AGENT_AVAILABLE","OTHER"] Closing reason of a conversation |
| comment | string |
End a conversation
{- "reason": "OTHER",
- "comment": "Some comment"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns the active conversation for the given source ID and channel ID. When called with the authorization role REGISTERED_USER, the agent making the call must be a participant in the conversation matching the search criteria. If they aren't, the call will fail. When called with the authorization role SUPERVISOR, the conversation matching the search criteria must include a participant who is an agent in their team (or one of their teams). If it doesn't, the call will fail.
Ended conversations for the same sourceId and channel are ignored. These can be retrieved using the /search service.
| sourceId | string The source ID the conversation was created with |
| externalMessengerChannelId | string The messenger channel ID the conversation is connected to. Can be null for internal conversations. |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns a list of all files that have been shared/sent within the specified conversation.
| conversationId required | string the id of conversation, for which the file list should be retrieved |
[- {
- "$_type": "ConversationFileData",
- "conversationId": "string",
- "ownerPersonId": "string",
- "name": "string",
- "mimeType": "string",
- "source": "string",
- "fileStoreId": "string",
- "totalSize": 0,
- "downloadLink": "string",
- "agentDeskDownloadLink": "string",
- "creationTimestamp": 0
}
]Retrieve the current recording state of the given conversation
| conversationId required | string The conversation to retrieve the recording state for |
{- "$_type": "ConversationRecordingState",
- "conversationId": "string",
- "recordingState": "IDLE",
- "recordingType": "AUDIO",
- "recordingStartTimestamp": 0
}Offboards a participant from a conversation.
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| personId | string |
| reason | string (EConversationLeftReason) Enum: "FORWARDED" "PARTICIPANT_LEFT" "REMOVED_AFTER_TIMEOUT" "ONBOARDING_DECLINED" "ONBOARDING_IDLE_TIMEOUT" "ONBOARDING_TIMEOUT" "USER_CHANGED" "KICKED" "CONVERSATION_UNASSIGNED" "CONVERSATION_REQUEUED" "PUBLIC_DIALIN_ENDED" "OTHER" enum-descriptions: ["FORWARDED","PARTICIPANT_LEFT","REMOVED_AFTER_TIMEOUT","ONBOARDING_DECLINED","ONBOARDING_IDLE_TIMEOUT","ONBOARDING_TIMEOUT","USER_CHANGED","KICKED","CONVERSATION_UNASSIGNED","CONVERSATION_REQUEUED","PUBLIC_DIALIN_ENDED","OTHER"] Participation left reason of a conversation |
| comment | string |
Offboard a participant
{- "personId": "nta30CBa-6d1a89cE57Db_F",
- "reason": "OTHER",
- "comment": "Some other important reason"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns the conversation for the given ID. If called with the authorization role SUPERVISOR or REGISTERED_USER, the agent making the call must be a participant in the conversation.
| id | string ID of the conversation which should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Search for conversations in the current account. If called with the authorization role REGISTERED_USER, the call only returns conversations matching the search criteria where the agent making a call is the participant. If the agent making the call has the user role SUPERVISOR, the results only include conversations of the agents in their team or teams.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "ConversationQuery" Value: "ConversationQuery" |
Array of any (ConversationSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (ConversationOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "ConversationQuery",
- "searchFilters": [
- {
- "$_type": "ParticipantPersonIdConversationSearchFilter",
- "field": "CREATION_TIMESTAMP",
- "operator": {
- "$_type": "AllOfIdListOperator",
- "type": "ALL_OF",
- "values": [
- "string"
]
}
}
], - "orderBy": [
- {
- "$_type": "ConversationOrderBy",
- "field": "CREATION_TIMESTAMP",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "ConversationResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]
}Sets an agent as assignee to a conversation.
Note: The person has to have an active participation in the conversation
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| personId | string |
Set the assigned agent
{- "personId": "nta30CBa-6d1a89cE57Db_F"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets the awaited person type in a conversation
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| awaitedPersonType | string (EAwaitedPersonType) Enum: "NONE" "VISITOR" "AGENT" enum-descriptions: ["NONE","VISITOR","AGENT"] Indicates which type of person the conversation is waiting for |
Set the conversation awaited person
{- "awaitedPersonType": "VISITOR"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets a visitor as context person of a conversation.
Note: The person has to have an active participation in the conversation
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| personId | string |
Set the primary visitor
{- "personId": "nta30CBa-6d1a89cE57Db_F"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets the locale of the conversation language (as BCP 47 language tag form including region if available).
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| locale | string the new locale |
Set the conversation locale to german
{- "locale": "de"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets a person, named area, team or account as the recipient of a conversation.
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "AccountData" AccountData TeamData PersonData NamedAreaData AccountData |
| id | string Unique id of the account. |
| displayName | string Display-Name of the account |
object Localized Display-Name of the account | |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the account: id that can be expanded. |
{- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets the scheduled time of the conversation. The timestamp is the Unix timestamp (ms) when the conversation is scheduled for, rounded to the nearest minute. Can only be set for conversations with initialEngagementType = "SCHEDULED_CONVERSATION".
When called with the authorization role SUPERVISOR or REGISTERED_USER, the behavior of the call depends on the configuration property com.unblu.conversation.message.allowNonAdminUsersChangeConversationScheduledTimeViaWebApi:
true, the agent making the call can only change the conversation's scheduledTimestamp if they're a participant in the conversation. false, the agent making the call can change the scheduledTimestamp provided their participation type in the conversation is listed in the configuration property com.unblu.conversation.message.allowChangeConversationScheduledTime. | conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| scheduledTimestamp | integer <int64> the new scheduledTimestamp rounded to nearest minute |
Set the conversation scheduledTimestamp
{- "scheduledTimestamp": 1551398400000
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets the starred status of a conversation for a particular person
| conversationId required | string the conversation to be starred/unstarred |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| personId | string the person for whom the starred status will be set |
| starred | boolean the starred status to b set |
{- "personId": "string",
- "starred": true
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets the topic of the conversation. Setting it to null deletes the topic, provided it isn't mandatory to specify a topic for the conversation type (e.g. SCHEDULED_CONVERSATION).
When called with the authorization role SUPERVISOR or REGISTERED_USER, the behavior of the call depends on the configuration property com.unblu.conversation.message.allowNonAdminUsersChangeConversationTopicViaWebApi:
true, the agent making the call can only change the conversation's topic if they're a participant in the conversation. false, the agent making the call can change the topic provided their participation type in the conversation is listed in the configuration property com.unblu.conversation.message.allowChangeConversationTopic. | conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| topic | string the new topic |
Set the conversation topic
{- "topic": "Topic of the conversation"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Sets custom visitor data. The data is readable on the visitor side. Don't include any confidential information. Security-related data should be stored in the conversation metadata.
| conversationId required | string the conversation where the custom data should be added |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
the custom visitor data
| $_type | string Default: "ConversationsSetVisitorDataBody" Value: "ConversationsSetVisitorDataBody" |
| visitorData | string Custom visitor data in any format. |
{- "$_type": "ConversationsSetVisitorDataBody",
- "visitorData": "string"
}{- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Manually start a conversation recording. The recording is only started if:
conversation.recording_failed webhook is triggered.| conversationId required | string The conversation for which a recording should be started |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Manually stop a conversation recording. The recording is stopped if:
| conversationId required | string The conversation for which a recording should be stopped |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Updates the configuration map for a specific conversation
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
the key-value map of settings that will be updated. The source for this map has to be the configuration attribute when you read the conversation using configuration in the expand query parameter.
| property name* | string |
Map to update the translations
{- "$_version": "4c0a388a98203ce7ffbba74b92d64495",
- "com.unblu.conversation.feature.callEnabled": "true",
- "com.unblu.conversation.feature.textChatEnabled": "false",
- "com.unblu.conversation.invitation.allowPublicLinkAccess": "false",
- "com.unblu.conversation.lifecycle.autoEndOnLeave": "SECONDARY_AGENT"
}Conversation after the settings update (loaded with expanded configuration)
{- "$_type": "ConversationData",
- "creationTimestamp": 1546300800000,
- "endTimestamp": null,
- "id": "AcviDb210C5BoFd6e_79oan",
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "topic": null,
- "scheduledTimestamp": null,
- "recipient": {
- "$_type": "AccountData",
- "id": "A7d9E_0-c3cC4aoFDb85t6n",
- "displayName": "Main Account",
- "displayNameTranslations": { },
- "avatar": null
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "ACTIVE",
- "personId": "nta30CBa-6d1a89cE57Db_F",
- "connectedViaExternalMessenger": false,
- "hidden": false,
- "conversationStarred": false
}
], - "assigneePersonId": null,
- "contextPersonId": "nta30CBa-6d1a89cE57Db_F",
- "state": "QUEUED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "en",
- "tokboxSessionId": null,
- "visitorData": null,
- "conversationTemplateId": "ab32em6Be-5le_48rE1F9Ad",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_VISITOR_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_SINGLE_VIEW",
- "url": "..."
}
], - "externalMessengerChannelId": null,
- "sourceId": null,
- "sourceUrl": null,
- "endReason": null,
- "initialEngagementUrl": null,
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": null,
- "configuration": {
- "$_version": "4cfc95dba376d286859d80694c9ef813",
- "com.unblu.conversation.feature.callEnabled": "true",
- "com.unblu.conversation.feature.textChatEnabled": "false",
- "com.unblu.conversation.invitation.allowPublicLinkAccess": "false",
- "com.unblu.conversation.lifecycle.autoEndOnLeave": "SECONDARY_AGENT"
}, - "text": null,
- "metadata": null
}Updates the metadata map for a specific conversation
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
the key-value map of metadata that will be updated. The source for this map has to be the metadata attribute when you read the conversation using metadata in the expand query parameter.
| property name* | string |
Map to update the medata
{- "$_version": "d41d8cd98f00b204e9800998ecf8427e",
- "foo": "bar",
- "lorem": "ipsum"
}Conversation after the metadata update (loaded with expanded metadata)
{- "$_type": "ConversationData",
- "creationTimestamp": 1546300800000,
- "endTimestamp": null,
- "id": "AcviDb210C5BoFd6e_79oan",
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "topic": null,
- "scheduledTimestamp": null,
- "recipient": {
- "$_type": "AccountData",
- "id": "A7d9E_0-c3cC4aoFDb85t6n",
- "displayName": "Main Account",
- "displayNameTranslations": { },
- "avatar": null
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "ACTIVE",
- "personId": "nta30CBa-6d1a89cE57Db_F",
- "connectedViaExternalMessenger": false,
- "hidden": false,
- "conversationStarred": false
}
], - "assigneePersonId": null,
- "contextPersonId": "nta30CBa-6d1a89cE57Db_F",
- "state": "QUEUED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "en",
- "tokboxSessionId": null,
- "visitorData": null,
- "conversationTemplateId": "ab32em6Be-5le_48rE1F9Ad",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_VISITOR_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_SINGLE_VIEW",
- "url": "..."
}
], - "externalMessengerChannelId": null,
- "sourceId": null,
- "sourceUrl": null,
- "endReason": null,
- "initialEngagementUrl": null,
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": null,
- "configuration": null,
- "text": null,
- "metadata": {
- "$_version": "cd8762c9c0e0525d8e49e173276420ff",
- "foo": "bar",
- "lorem": "ipsum"
}
}Updates the text map for a specific conversation
| conversationId required | string the conversation that is updated |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
the key-value map of translations that will be updated. The source for this map has to be the text attribute when you read the conversation using text in the expand query parameter.
object |
Map to update the translations
{- "$_version": {
- "$_version": "d41d8cd98f00b204e9800998ecf8427e"
}, - "com.unblu.conversation.concierge.visitorOnboardingDoneMessage": {
- "en": "Thank you, see you soon."
}, - "com.unblu.conversation.concierge.visitorOnboardingWelcomeMessage": {
- "en": "Hello, I am the concierge.",
- "fr": "Bonjour je suis le concierge."
}
}Conversation after the translations update (loaded with expanded text)
{- "$_type": "ConversationData",
- "creationTimestamp": 1546300800000,
- "endTimestamp": null,
- "id": "AcviDb210C5BoFd6e_79oan",
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "topic": null,
- "scheduledTimestamp": null,
- "recipient": {
- "$_type": "AccountData",
- "id": "A7d9E_0-c3cC4aoFDb85t6n",
- "displayName": "Main Account",
- "displayNameTranslations": { },
- "avatar": null
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "ACTIVE",
- "personId": "nta30CBa-6d1a89cE57Db_F",
- "connectedViaExternalMessenger": false,
- "hidden": false,
- "conversationStarred": false
}
], - "assigneePersonId": null,
- "contextPersonId": "nta30CBa-6d1a89cE57Db_F",
- "state": "QUEUED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "en",
- "tokboxSessionId": null,
- "visitorData": null,
- "conversationTemplateId": "ab32em6Be-5le_48rE1F9Ad",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_VISITOR_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_DESK",
- "url": "..."
}, - {
- "$_type": "ConversationLink",
- "type": "OPEN_IN_AGENT_SINGLE_VIEW",
- "url": "..."
}
], - "externalMessengerChannelId": null,
- "sourceId": null,
- "sourceUrl": null,
- "endReason": null,
- "initialEngagementUrl": null,
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": null,
- "configuration": null,
- "text": {
- "$_version": {
- "$_version": "f3cad33a9248c20423fd8328da6a4eff"
}, - "com.unblu.conversation.concierge.visitorOnboardingDoneMessage": {
- "en": "Thank you, see you soon."
}, - "com.unblu.conversation.concierge.visitorOnboardingWelcomeMessage": {
- "en": "Hello, I am the concierge.",
- "fr": "Bonjour je suis le concierge."
}
}, - "metadata": null
}Creates a new custom action. You must specify the expanded parameter "actionIcon".
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The custom action to create
| $_type | string Default: "CustomConversationActionData" Value: "CustomConversationActionData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| key | string The unique key of the action |
| name | string The name of the custom action. Maximum of 250 characters. Can not be omitted. |
| description | string The description of the custom action. Maximum of 500 characters. Can be omitted. |
object A map of localized versions of the name and description of this custom action | |
string or Avatar (object) expand-query-key: actionIcon type: ExpandableField The avatar ID of the avatar used as the action's icon. The ID can be expanded. | |
| state | string (ECustomActionState) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: State when a custom action is manually enabled","INACTIVE: State when a custom action is manually disabled","INACTIVE_UNAVAILABLE: State when a custom action is automatically disabled because it's webhook registration got automatically disabled"] Possible Custom Action State |
object (CustomActionWebhookRegistration) A web API model entity to hold information about the optional webhook registration triggered by the invocation of a custom action | |
| invokableFromFrontends | Array of strings (EFrontend) Items Enum: "VISITOR_SITE_INTEGRATION" "VISITOR_SITE_EMBEDDED" "VISITOR_DESK" "VISITOR_MOBILE" "VISITOR_POPOUT" "AGENT_DESK" "TEAMS_AGENT_DESK" "AGENT_SINGLE_CONVERSATION_DESK" "AGENT_MOBILE" The frontends that the action may be invoked from |
| invokableForConversationStates | Array of strings (EConversationState) Items Enum: "CREATED" "ONBOARDING" "REBOARDING" "QUEUED" "ACTIVE" "UNASSIGNED" "OFFBOARDING" "ENDED" The conversation states the action may be invoked in |
| invokableForParticipationStates | Array of strings (EConversationParticipationState) Items Enum: "CREATED" "ONBOARDING" "ACTIVE" "OFFBOARDING" "ENDED" The participation states a person may invoke the action in |
| invokableBy | Array of strings (EConversationImpactingParticipationType) Items Enum: "ASSIGNED_AGENT" "CONTEXT_PERSON" "SECONDARY_AGENT" "SECONDARY_VISITOR" "GHOST" The types of participant who may invoke the action |
| triggerSystemMessage | boolean A flag indicating whether the action should trigger a system message. The default value is true. |
| triggerVisitorMobileSdkEvent | boolean A flag indicating whether the action should trigger a visitor mobile SDK event. The default value is false. |
| triggerVisitorEmbeddedApiEvent | boolean A flag indicating whether the action should trigger an Embedded JS API event. The default value is false. |
| triggerVisitorFloatingApiEvent | boolean A flag indicating whether the action should trigger a Visitor JS API event. The default value is false. |
| triggerAgentMobileSdkEvent | boolean A flag indicating whether the action should trigger an agent mobile SDK event. The default value is false. |
| sortingOrder | integer <int32> The sorting order within the custom actions when displayed in the action bar. The default value is 5. |
| type | string (ECustomActionType) enum-descriptions: ["CONVERSATION: Conversation custom action type","PERSON: Person custom action type","MESSAGE: Message custom action type"] The type of the custom action CONVERSATION CONVERSATION PERSON MESSAGE |
| actionBarPosition | string (EActionBarItemPosition) Enum: "ALWAYS_VISIBLE" "ALWAYS_IN_OVERFLOW" "SHOW_IF_POSSIBLE" enum-descriptions: ["ALWAYS_VISIBLE: Action is always displayed in the action bar","ALWAYS_IN_OVERFLOW: Action is always displayed in the overflow section of the action bar","SHOW_IF_POSSIBLE: Action is displayed in the action bar if there is enough space"] The position of an item within an action bar |
| apiEventTriggerFilter | string (ECustomConversationActionEventTriggerFilter) Enum: "SELF" "OTHERS" "ALL" enum-descriptions: ["SELF: Trigger the custom action API event only for the person who invoked it","OTHERS: Trigger the custom action API event for everyone except the person who invoked it","ALL: Trigger the custom action API event for everyone"] Who a custom conversation action API event should be triggered for |
Create a new custom action
{- "$_type": "CustomConversationActionData",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "key": "conv1-custom-action",
- "name": "conv1-custom-action-name",
- "description": "Custom action to be triggered on conversation level",
- "translations": {
- "de": {
- "$_type": "CustomActionTranslation",
- "id": null,
- "name": "Meine Konversation Aktion",
- "description": null
}, - "en": {
- "$_type": "CustomActionTranslation",
- "id": null,
- "name": "My conversation action",
- "description": null
}
}, - "actionIcon": {
- "$_type": "Avatar",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "accountId": null,
- "imageZoomFactor": null,
- "imageXPositionRatio": null,
- "imageYPositionRatio": null,
- "imageRotationAngle": null,
- "imageData": "data:image/png;base64,iVBORw0KG...QmCC"
}, - "state": "ACTIVE",
- "triggerWebhook": {
- "$_type": "CustomActionWebhookRegistration",
- "apiVersion": "V3",
- "secret": null
}, - "invokableFromFrontends": [
- "AGENT_DESK",
- "AGENT_SINGLE_CONVERSATION_DESK"
], - "invokableForConversationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableForParticipationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableBy": [
- "ASSIGNED_AGENT",
- "SECONDARY_AGENT"
], - "triggerSystemMessage": true,
- "triggerVisitorMobileSdkEvent": true,
- "triggerVisitorEmbeddedApiEvent": true,
- "triggerVisitorFloatingApiEvent": true,
- "triggerAgentMobileSdkEvent": false,
- "sortingOrder": 3,
- "type": "CONVERSATION",
- "actionBarPosition": "ALWAYS_VISIBLE",
- "apiEventTriggerFilter": "ALL"
}New custom action
{- "$_type": "CustomConversationActionData",
- "id": "qIzXjL9hRx-aIQVADZdq7Q",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "key": "conv1-custom-action",
- "name": "conv1-custom-action-name",
- "description": "Custom action to be triggered on conversation level",
- "translations": {
- "de": {
- "$_type": "CustomActionTranslation",
- "id": "3GxKB_qhRjSwFbhKXjrz5w",
- "name": "Meine Konversation Aktion",
- "description": null
}, - "en": {
- "$_type": "CustomActionTranslation",
- "id": "3GxKB_qhRjSwFbhKXjrz5w",
- "name": "My conversation action",
- "description": null
}
}, - "actionIcon": {
- "$_type": "Avatar",
- "id": "_1dA8a75B-9v3r6Ct4EbADa",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "imageZoomFactor": null,
- "imageXPositionRatio": 0.5,
- "imageYPositionRatio": 0.5,
- "imageRotationAngle": 0,
- "imageData": "data:image/png;base64,iVBORw0KG...QmCC"
}, - "state": "ACTIVE",
- "triggerWebhook": {
- "$_type": "CustomActionWebhookRegistration",
- "apiVersion": "V3",
- "secret": null
}, - "invokableFromFrontends": [
- "AGENT_DESK",
- "AGENT_SINGLE_CONVERSATION_DESK"
], - "invokableForConversationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableForParticipationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableBy": [
- "ASSIGNED_AGENT",
- "SECONDARY_AGENT"
], - "triggerSystemMessage": true,
- "triggerVisitorMobileSdkEvent": true,
- "triggerVisitorEmbeddedApiEvent": true,
- "triggerVisitorFloatingApiEvent": true,
- "triggerAgentMobileSdkEvent": false,
- "sortingOrder": 3,
- "type": "CONVERSATION",
- "actionBarPosition": "ALWAYS_VISIBLE",
- "apiEventTriggerFilter": "ALL"
}{- "$_type": "CustomConversationActionInvocationEvent",
- "timestamp": 0,
- "eventType": "string",
- "accountId": "string",
- "actionType": "CONVERSATION",
- "actionKey": "string",
- "actionInvocationId": "string",
- "actionInvocationTimestamp": 0,
- "executedBy": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "conversation": {
- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
}Deletes a custom action. If there's a webhook registration connected to the action, the webhook is also deleted.
| id | string The ID of the custom action to delete |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Emits a WebhookPingEvent on the webhook for the custom action
| customActionId | string The ID of the custom action |
{- "customActionId": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns a CustomActionData by ID
| id | string |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
Custom action
{- "$_type": "CustomPersonActionData",
- "id": "ARmohixpSDSj8ypTbyUm-g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "key": "pr1-custom-action",
- "name": "pr1-custom-action-name",
- "description": "Custom action to be triggered on person target",
- "translations": {
- "en": {
- "$_type": "CustomActionTranslation",
- "id": "3GxKB_qhRjSwFbhKXjrz5w",
- "name": "My person action",
- "description": null
}
}, - "actionIcon": "_1dA8a75B-9v3r6Ct4EbADa",
- "state": "ACTIVE",
- "triggerWebhook": {
- "$_type": "CustomActionWebhookRegistration",
- "apiVersion": "V3",
- "secret": null
}, - "invokableFromFrontends": [
- "AGENT_DESK",
- "AGENT_SINGLE_CONVERSATION_DESK"
], - "invokableForConversationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableForParticipationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableBy": [
- "ASSIGNED_AGENT",
- "SECONDARY_AGENT"
], - "triggerSystemMessage": true,
- "triggerVisitorMobileSdkEvent": false,
- "triggerVisitorEmbeddedApiEvent": true,
- "triggerVisitorFloatingApiEvent": true,
- "triggerAgentMobileSdkEvent": false,
- "sortingOrder": 5,
- "type": "PERSON",
- "availableForTargetPersonTypes": [
- "ANONYMOUS_VISITOR",
- "AUTHENTICATED_VISITOR"
], - "availableForTargetFrontends": [
- "VISITOR_DESK",
- "VISITOR_SITE_INTEGRATION"
], - "apiEventTriggerFilter": "TARGET_PERSON"
}Search for custom actions
The query to use for the search
| $_type | string Default: "CustomActionQuery" Value: "CustomActionQuery" |
Array of any (CustomActionSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (CustomActionOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "CustomActionQuery",
- "searchFilters": [
- {
- "$_type": "KeyCustomActionSearchFilter",
- "field": "KEY",
- "operator": {
- "$_type": "EqualsStringOperator",
- "type": "EQUALS",
- "value": "string"
}
}
], - "orderBy": [
- {
- "$_type": "CustomActionOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "CustomActionResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "CustomConversationActionData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "key": "string",
- "name": "string",
- "description": "string",
- "translations": {
- "property1": {
- "$_type": "CustomActionTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "CustomActionTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "actionIcon": "string",
- "state": "ACTIVE",
- "triggerWebhook": {
- "$_type": "CustomActionWebhookRegistration",
- "endpoint": "string",
- "apiVersion": "V1",
- "secret": "string"
}, - "invokableFromFrontends": [
- "VISITOR_SITE_INTEGRATION"
], - "invokableForConversationStates": [
- "CREATED"
], - "invokableForParticipationStates": [
- "CREATED"
], - "invokableBy": [
- "ASSIGNED_AGENT"
], - "triggerSystemMessage": true,
- "triggerVisitorMobileSdkEvent": true,
- "triggerVisitorEmbeddedApiEvent": true,
- "triggerVisitorFloatingApiEvent": true,
- "triggerAgentMobileSdkEvent": true,
- "sortingOrder": 0,
- "type": "CONVERSATION",
- "actionBarPosition": "ALWAYS_VISIBLE",
- "apiEventTriggerFilter": "SELF"
}
]
}Updates a custom action. The parameter "actionIcon" may not be null.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The custom action to update
| $_type | string Default: "CustomConversationActionData" Value: "CustomConversationActionData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| key | string The unique key of the action |
| name | string The name of the custom action. Maximum of 250 characters. Can not be omitted. |
| description | string The description of the custom action. Maximum of 500 characters. Can be omitted. |
object A map of localized versions of the name and description of this custom action | |
string or Avatar (object) expand-query-key: actionIcon type: ExpandableField The avatar ID of the avatar used as the action's icon. The ID can be expanded. | |
| state | string (ECustomActionState) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: State when a custom action is manually enabled","INACTIVE: State when a custom action is manually disabled","INACTIVE_UNAVAILABLE: State when a custom action is automatically disabled because it's webhook registration got automatically disabled"] Possible Custom Action State |
object (CustomActionWebhookRegistration) A web API model entity to hold information about the optional webhook registration triggered by the invocation of a custom action | |
| invokableFromFrontends | Array of strings (EFrontend) Items Enum: "VISITOR_SITE_INTEGRATION" "VISITOR_SITE_EMBEDDED" "VISITOR_DESK" "VISITOR_MOBILE" "VISITOR_POPOUT" "AGENT_DESK" "TEAMS_AGENT_DESK" "AGENT_SINGLE_CONVERSATION_DESK" "AGENT_MOBILE" The frontends that the action may be invoked from |
| invokableForConversationStates | Array of strings (EConversationState) Items Enum: "CREATED" "ONBOARDING" "REBOARDING" "QUEUED" "ACTIVE" "UNASSIGNED" "OFFBOARDING" "ENDED" The conversation states the action may be invoked in |
| invokableForParticipationStates | Array of strings (EConversationParticipationState) Items Enum: "CREATED" "ONBOARDING" "ACTIVE" "OFFBOARDING" "ENDED" The participation states a person may invoke the action in |
| invokableBy | Array of strings (EConversationImpactingParticipationType) Items Enum: "ASSIGNED_AGENT" "CONTEXT_PERSON" "SECONDARY_AGENT" "SECONDARY_VISITOR" "GHOST" The types of participant who may invoke the action |
| triggerSystemMessage | boolean A flag indicating whether the action should trigger a system message. The default value is true. |
| triggerVisitorMobileSdkEvent | boolean A flag indicating whether the action should trigger a visitor mobile SDK event. The default value is false. |
| triggerVisitorEmbeddedApiEvent | boolean A flag indicating whether the action should trigger an Embedded JS API event. The default value is false. |
| triggerVisitorFloatingApiEvent | boolean A flag indicating whether the action should trigger a Visitor JS API event. The default value is false. |
| triggerAgentMobileSdkEvent | boolean A flag indicating whether the action should trigger an agent mobile SDK event. The default value is false. |
| sortingOrder | integer <int32> The sorting order within the custom actions when displayed in the action bar. The default value is 5. |
| type | string (ECustomActionType) enum-descriptions: ["CONVERSATION: Conversation custom action type","PERSON: Person custom action type","MESSAGE: Message custom action type"] The type of the custom action CONVERSATION CONVERSATION PERSON MESSAGE |
| actionBarPosition | string (EActionBarItemPosition) Enum: "ALWAYS_VISIBLE" "ALWAYS_IN_OVERFLOW" "SHOW_IF_POSSIBLE" enum-descriptions: ["ALWAYS_VISIBLE: Action is always displayed in the action bar","ALWAYS_IN_OVERFLOW: Action is always displayed in the overflow section of the action bar","SHOW_IF_POSSIBLE: Action is displayed in the action bar if there is enough space"] The position of an item within an action bar |
| apiEventTriggerFilter | string (ECustomConversationActionEventTriggerFilter) Enum: "SELF" "OTHERS" "ALL" enum-descriptions: ["SELF: Trigger the custom action API event only for the person who invoked it","OTHERS: Trigger the custom action API event for everyone except the person who invoked it","ALL: Trigger the custom action API event for everyone"] Who a custom conversation action API event should be triggered for |
Update custom action request
{- "$_type": "CustomMessageActionData",
- "id": "j3uz3AiSRp6wIB2wGq6L0g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "key": "msg1-custom-action_v2",
- "name": "msg1-custom-action-name",
- "description": "Custom action to be triggered on message target",
- "translations": {
- "en": {
- "$_type": "CustomActionTranslation",
- "id": "3GxKB_qhRjSwFbhKXjrz5w",
- "name": "My message action",
- "description": null
}
}, - "actionIcon": {
- "$_type": "Avatar",
- "id": "_1dA8a75B-9v3r6Ct4EbADa",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "imageZoomFactor": null,
- "imageXPositionRatio": 0.5,
- "imageYPositionRatio": 0.5,
- "imageRotationAngle": 0,
- "imageData": "data:image/png;base64,iVBORw0KG...QmCC"
}, - "state": "ACTIVE",
- "triggerWebhook": {
- "$_type": "CustomActionWebhookRegistration",
- "apiVersion": "V3",
- "secret": null
}, - "invokableFromFrontends": [
- "AGENT_DESK",
- "AGENT_SINGLE_CONVERSATION_DESK"
], - "invokableForConversationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableForParticipationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableBy": [
- "ASSIGNED_AGENT",
- "SECONDARY_AGENT"
], - "triggerSystemMessage": true,
- "triggerVisitorMobileSdkEvent": false,
- "triggerVisitorEmbeddedApiEvent": false,
- "triggerVisitorFloatingApiEvent": false,
- "triggerAgentMobileSdkEvent": false,
- "sortingOrder": 5,
- "type": "MESSAGE",
- "messageTypes": [
- "TEXT",
- "CARD",
- "LIST"
], - "fileMessageMimeTypeRegex": ".pdf",
- "invokableForMessagesSentBy": [
- "SELF",
- "OTHER_AGENT"
], - "apiEventTriggerFilter": "SENDER"
}Updated custom action response
{- "$_type": "CustomMessageActionData",
- "id": "j3uz3AiSRp6wIB2wGq6L0g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 2,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "key": "msg1-custom-action_v2",
- "name": "msg1-custom-action-name",
- "description": "Custom action to be triggered on message target",
- "translations": {
- "en": {
- "$_type": "CustomActionTranslation",
- "id": "3GxKB_qhRjSwFbhKXjrz5w",
- "name": "My message action",
- "description": null
}
}, - "actionIcon": "_1dA8a75B-9v3r6Ct4EbADa",
- "state": "ACTIVE",
- "triggerWebhook": {
- "$_type": "CustomActionWebhookRegistration",
- "apiVersion": "V3",
- "secret": null
}, - "invokableFromFrontends": [
- "AGENT_DESK",
- "AGENT_SINGLE_CONVERSATION_DESK"
], - "invokableForConversationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableForParticipationStates": [
- "ACTIVE",
- "ONBOARDING"
], - "invokableBy": [
- "ASSIGNED_AGENT",
- "SECONDARY_AGENT"
], - "triggerSystemMessage": true,
- "triggerVisitorMobileSdkEvent": false,
- "triggerVisitorEmbeddedApiEvent": false,
- "triggerVisitorFloatingApiEvent": false,
- "triggerAgentMobileSdkEvent": false,
- "sortingOrder": 5,
- "type": "MESSAGE",
- "messageTypes": [
- "TEXT",
- "CARD",
- "LIST"
], - "fileMessageMimeTypeRegex": ".pdf",
- "invokableForMessagesSentBy": [
- "SELF",
- "OTHER_AGENT"
], - "apiEventTriggerFilter": "SENDER"
}Service to manage deputy relationships. A deputy relationship is needed if deputy delegation should be executed for unhandled conversation requests.
Creates the given deputy relationship in the system. The id of the deputy relationship can not be set for create operation, a new one is generated.
The deputy relationship to create
| $_type | string Default: "DeputyRelationship" Value: "DeputyRelationship" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| agentUserId | string The agent user id to which the defined deputy belongs to |
| deputyType | string (EDeputyType) Enum: "AGENT" "TEAM" enum-descriptions: ["AGENT","TEAM"] |
| deputyId | string The id of the user or team which is the deputy of the defined agent user |
| escalationLevel | string (EDeputyDelegationEscalationLevel) Enum: "LEVEL_1" "LEVEL_2" "LEVEL_3" enum-descriptions: ["LEVEL_1","LEVEL_2","LEVEL_3"] The escalation levels for a deputy delegation |
{- "$_type": "DeputyRelationship",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "agentUserId": "string",
- "deputyType": "AGENT",
- "deputyId": "string",
- "escalationLevel": "LEVEL_1"
}{- "$_type": "DeputyRelationship",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "agentUserId": "string",
- "deputyType": "AGENT",
- "deputyId": "string",
- "escalationLevel": "LEVEL_1"
}Deletes the deputy relationship for the given id
| id | string The id of the deputy relationship which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the deputy relationship for the given id
| id | string Id of the deputy relationship which should be returned |
{- "$_type": "DeputyRelationship",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "agentUserId": "string",
- "deputyType": "AGENT",
- "deputyId": "string",
- "escalationLevel": "LEVEL_1"
}Gets a list of deputy relationships for the given id's
The id's for which the deputy relationships should be fetched
[- "string"
][- {
- "$_type": "DeputyRelationship",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "agentUserId": "string",
- "deputyType": "AGENT",
- "deputyId": "string",
- "escalationLevel": "LEVEL_1"
}
]Search for deputy relationships in the current account
| $_type | string Default: "DeputyRelationshipQuery" Value: "DeputyRelationshipQuery" |
Array of any (DeputyRelationshipSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (DeputyRelationshipOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "DeputyRelationshipQuery",
- "searchFilters": [
- {
- "$_type": "AgentUserIdDeputyRelationshipSearchFilter",
- "field": "AGENT_USER_ID",
- "operator": {
- "$_type": "EqualsStringOperator",
- "type": "EQUALS",
- "value": "string"
}
}
], - "orderBy": [
- {
- "$_type": "DeputyRelationshipOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "DeputyRelationshipResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "DeputyRelationship",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "agentUserId": "string",
- "deputyType": "AGENT",
- "deputyId": "string",
- "escalationLevel": "LEVEL_1"
}
]
}Updates the deputy relationship in the system with the given entity.
The deputy relationship to update
| $_type | string Default: "DeputyRelationship" Value: "DeputyRelationship" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| agentUserId | string The agent user id to which the defined deputy belongs to |
| deputyType | string (EDeputyType) Enum: "AGENT" "TEAM" enum-descriptions: ["AGENT","TEAM"] |
| deputyId | string The id of the user or team which is the deputy of the defined agent user |
| escalationLevel | string (EDeputyDelegationEscalationLevel) Enum: "LEVEL_1" "LEVEL_2" "LEVEL_3" enum-descriptions: ["LEVEL_1","LEVEL_2","LEVEL_3"] The escalation levels for a deputy delegation |
{- "$_type": "DeputyRelationship",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "agentUserId": "string",
- "deputyType": "AGENT",
- "deputyId": "string",
- "escalationLevel": "LEVEL_1"
}{- "$_type": "DeputyRelationship",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "agentUserId": "string",
- "deputyType": "AGENT",
- "deputyId": "string",
- "escalationLevel": "LEVEL_1"
}Batch writes the deputies of an agent. All previous existing deputies of that agent will be replaced.
The deputy relationships for that an agent with each escalation level.
| $_type | string Default: "WriteAgentDeputyRelationshipsBody" Value: "WriteAgentDeputyRelationshipsBody" |
| agentUserId | string The agent user ID for which the deputies should be defined |
Array of objects (DeputyDefinition) [ items ] All | |
Array of objects (DeputyDefinition) [ items ] All | |
Array of objects (DeputyDefinition) [ items ] All |
{- "$_type": "WriteAgentDeputyRelationshipsBody",
- "agentUserId": "string",
- "level1": [
- {
- "$_type": "DeputyDefinition",
- "type": "AGENT",
- "id": "string"
}
], - "level2": [
- {
- "$_type": "DeputyDefinition",
- "type": "AGENT",
- "id": "string"
}
], - "level3": [
- {
- "$_type": "DeputyDefinition",
- "type": "AGENT",
- "id": "string"
}
]
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Service to manage the domains of the account. A domain needs to be defined to use unblu on it.
Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated.
The entity to create
| $_type | string Default: "Domain" Value: "Domain" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| domainName | string The name/address of the domain. It should normally contain a protocol (e.g. http:// or https://) and the url of the domain (e.g. www.unblu.com). Maximum of 250 characters. Can not be omitted. 250 characters. |
{- "$_type": "Domain",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "domainName": "string"
}{- "$_type": "Domain",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "domainName": "string"
}Deletes the entity for the given ID
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the entity for the given ID
| id | string ID of the entity which should be returned |
{- "$_type": "Domain",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "domainName": "string"
}Gets a list of the entities with the given IDs. IDs that can't be found are ignored
The IDs for which to fetch the entities
[- "string"
][- {
- "$_type": "Domain",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "domainName": "string"
}
]Search for domains in the current account
| $_type | string Default: "DomainQuery" Value: "DomainQuery" |
Array of any (DomainSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (DomainOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "DomainQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampDomainSearchFilter",
- "field": "DOMAIN_NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "DomainOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "DomainResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "Domain",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "domainName": "string"
}
]
}Updates the entity in the system with the given entity.
The entity to update
| $_type | string Default: "Domain" Value: "Domain" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| domainName | string The name/address of the domain. It should normally contain a protocol (e.g. http:// or https://) and the url of the domain (e.g. www.unblu.com). Maximum of 250 characters. Can not be omitted. 250 characters. |
{- "$_type": "Domain",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "domainName": "string"
}{- "$_type": "Domain",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "domainName": "string"
}Manages all types of ExternalMessengerChannel and can be used to send messages from external messengers into a collaboration server conversation.
Creates a new external messenger channel
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The channel which should be created
| $_type | string Default: "CustomExternalMessengerChannel" CustomExternalMessengerChannel CustomExternalMessengerChannel |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the channel. Needs to be unique in the account. |
| description | string Optional description of the channel |
string or Avatar (object) expand-query-key: channelIcon type: ExpandableField Channel icon of the entity: id that can be expanded. | |
| sourceId | string Custom identifier to find the source of the channel. |
| type | string (EExternalMessengerChannelType) Enum: "CUSTOM" "WHATS_APP" "FACEBOOK" enum-descriptions: ["CUSTOM: Custom channel which is connected via rest and webhooks","WHATS_APP: WhatsApp channel which is managed by the collaboration server","FACEBOOK: Facebook channel which is managed by the collaboration server"] The type of the external messenger channel |
| webhookEndpoint | string The endpoint url of the webhook registration. To this url the requests for the webhook events are done. Maximum length of 4000 characters. Can not be omitted. |
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string A secret which is send with each webhook event. Maximum length of 4000 characters. Can be omitted. |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| messageStateHandledExternally | boolean Defines if the delivered/read state of messages is handled externally or by the collaboration server. |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
Create a new external messenger channel
{- "$_type": "CustomExternalMessengerChannel",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "name": "custom name",
- "description": "custom description",
- "channelIcon": null,
- "sourceId": "custom-sourceId",
- "type": "CUSTOM",
- "webhookApiVersion": "V3",
- "webhookSecret": "custom-secret",
- "webhookStatus": "ACTIVE",
- "messageStateHandledExternally": null,
- "metadata": null
}New external messenger channel
{- "$_type": "CustomExternalMessengerChannel",
- "id": "cne9hsne4rgxa2es6MenC8d",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "custom name",
- "description": "custom description",
- "channelIcon": "custom",
- "sourceId": "custom-sourceId",
- "type": "CUSTOM",
- "webhookApiVersion": "V3",
- "webhookSecret": "custom-secret",
- "webhookStatus": "ACTIVE",
- "messageStateHandledExternally": false,
- "metadata": null
}{- "$_type": "ExternalMessengerMessageStateEvent",
- "timestamp": 0,
- "eventType": "string",
- "accountId": "string",
- "messageId": "string",
- "state": "DELIVERED",
- "sourceId": "string",
- "externalMessengerChannelId": "string",
- "conversationId": "string"
}Deletes an external messenger channel. All conversations connected to this channel will be ended as soon as they activated again
| id | string The ID of the channel which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the channel for the given name
| name | string The name of the external messenger channel |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
External messenger channel
{- "$_type": "CustomExternalMessengerChannel",
- "id": "cne9hsne4rgxa2es6MenC8d",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "123 name",
- "description": "123 description",
- "channelIcon": "custom",
- "sourceId": "123-sourceId",
- "type": "CUSTOM",
- "webhookApiVersion": "V3",
- "webhookSecret": "123-secret",
- "webhookStatus": "ACTIVE",
- "messageStateHandledExternally": false,
- "metadata": null
}Marks a message as delivered to the given person. If no person is specified, it will be marked as delivered to all persons which are connected via the external messenger.
If the message is also read, use directly the end point messageRead as it will mark it as delivered too.
| conversationId | string The id of the conversation |
| externalMessengerChannelId | string The id of the custom external messenger channel |
| messageId | string The id of the message from the conversation, which should be marked as delivered |
| personId | string The id of the person who received the message. If null, it will be assumed that the message has been delivered to all persons which are connected via the external messenger. |
Mark a message as delivered
{- "conversationId": "AcviDb210C5BoFd6e_79oan",
- "externalMessengerChannelId": "cne9hsne4rgxa2es6MenC8d",
- "messageId": "mGesYagET_2GipaDGinA9A",
- "personId": "nta30CBa-6d1a89cE57Db_F"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Marks a message as read by the given person. If no person is specified, it will be marked as read by all persons which are connected via the external messenger.
This will also mark the message as delivered, if it was not already.
| conversationId | string The id of the conversation |
| externalMessengerChannelId | string The id of the custom external messenger channel |
| messageId | string The id of the message from the conversation, which should be marked as read |
| personId | string The id of the person who read the message. If null, it will be assumed that the message has been read by all persons which are connected via the external messenger. |
Mark a message as delivered
{- "conversationId": "AcviDb210C5BoFd6e_79oan",
- "externalMessengerChannelId": "cne9hsne4rgxa2es6MenC8d",
- "messageId": "mGesYagET_2GipaDGinA9A",
- "personId": "nta30CBa-6d1a89cE57Db_F"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Indicates that the message could not be sent to the external messenger. There are the following fail state which can be set:
ESendFailState.RETRYABLE: if a retry of sending in the future may solve the problem. (e.g. temporary connection failure). In this case the user will be provided with a UI to retry sending the messageESendFailState.TERMINAL: if no amount of retries would solve the problem. (e.g. the underlying conversation no longer exists in the external messenger.)| conversationId | string The id of the conversation |
| externalMessengerChannelId | string The id of the custom external messenger channel |
| messageId | string The id of the message from the conversation, which should be set to the failed state |
| failedState | string (ESendFailState) Enum: "RETRYABLE" "TERMINAL" enum-descriptions: ["RETRYABLE: Message could not be sent, but it is not terminal and can be tried again","TERMINAL: Message could not be sent and it will not be possible to send it again"] The failed state of a message which was sent to an external messenger |
| failureText | string A text which describes why a message could not be sent to the external messenger. This text will be displayed to the user in the UI of the message |
{- "conversationId": "string",
- "externalMessengerChannelId": "string",
- "messageId": "string",
- "failedState": "RETRYABLE",
- "failureText": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Indication that a message was successfully sent to the external messenger.
This will be visualized in the Unblu UI.
Note: This does not mean the message has been delivered to or read by the recipient. These states can be updated using themessageDelivered and messageRead services.
| conversationId | string The id of the conversation |
| externalMessengerChannelId | string The id of the custom external messenger channel |
| messageId | string The id of the message from the conversation, which was successfully sent |
{- "conversationId": "string",
- "externalMessengerChannelId": "string",
- "messageId": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Emits a WebhookPingEvent on the configured webhook for the custom channel.
| externalMessengerChannelId | string The ID of an external messenger channel of type |
Send a ping event for the given External messenger channel
{- "externalMessengerChannelId": "cne9hsne4rgxa2es6MenC8d"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the channel for the given ID
| id | string The ID of the external messenger channel |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
External messenger channel
{- "$_type": "CustomExternalMessengerChannel",
- "id": "cne9hsne4rgxa2es6MenC8d",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "custom name",
- "description": "custom description",
- "channelIcon": "custom",
- "sourceId": "custom-sourceId",
- "type": "CUSTOM",
- "webhookApiVersion": "V3",
- "webhookSecret": "custom-secret",
- "webhookStatus": "ACTIVE",
- "messageStateHandledExternally": false,
- "metadata": null
}Search for external messenger channels in the current account
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "ExternalMessengerChannelQuery" Value: "ExternalMessengerChannelQuery" |
Array of any (ExternalMessengerChannelSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (ExternalMessengerChannelOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "ExternalMessengerChannelQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampExternalMessengerChannelSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "ExternalMessengerChannelOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "ExternalMessengerChannelResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "CustomExternalMessengerChannel",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "channelIcon": "string",
- "sourceId": "string",
- "type": "CUSTOM",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string",
- "webhookStatus": "ACTIVE",
- "messageStateHandledExternally": true,
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]
}Send a message to a conversation. The corresponding conversation has to be connected to the same custom channel.
The message to send into the conversation.
| $_type | string Default: "ExternalMessengerPostMessage" Value: "ExternalMessengerPostMessage" |
| conversationId | string The id of the conversation to which this message belongs to |
| externalMessengerChannelId | string The id of the external messenger channel this message belongs to |
| senderPersonId | string ID of the person that sent the message. |
| recipientPersonIds | Array of strings Person IDs of the recipients of the message. If it is null, all active participations are recipients |
| sourceId | string An id identifying the source of the external message. Typically the id of the message in the other messaging system |
| replyToMessageId | string Optional ID that identifies the message that this message is replying to |
any (PostMessageData) Base class for all conversation messages sent to the collaboration server. Can be one of |
Send text message containing fallback text and quick replies to external messenger channel
{- "$_type": "ExternalMessengerPostMessage",
- "conversationId": "AcviDb210C5BoFd6e_79oan",
- "externalMessengerChannelId": "cne9hsne4rgxa2es6MenC8d",
- "senderPersonId": "nta30CBa-6d1a89cE57Db_F",
- "recipientPersonIds": null,
- "sourceId": "message-source",
- "replyToMessageId": null,
- "messageData": {
- "$_type": "TextPostMessageData",
- "type": "TEXT",
- "fallbackText": "message from visitor fallback",
- "text": "message from visitor ",
- "textType": "SIMPLE_TEXT",
- "quickReplies": [
- {
- "$_type": "QuickReply",
- "text": "Thank you"
}, - {
- "$_type": "QuickReply",
- "text": "Is that all I can do for you?"
}
]
}
}"string"Updates an external messenger channel
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The channel which should be updated
| $_type | string Default: "CustomExternalMessengerChannel" CustomExternalMessengerChannel CustomExternalMessengerChannel |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the channel. Needs to be unique in the account. |
| description | string Optional description of the channel |
string or Avatar (object) expand-query-key: channelIcon type: ExpandableField Channel icon of the entity: id that can be expanded. | |
| sourceId | string Custom identifier to find the source of the channel. |
| type | string (EExternalMessengerChannelType) Enum: "CUSTOM" "WHATS_APP" "FACEBOOK" enum-descriptions: ["CUSTOM: Custom channel which is connected via rest and webhooks","WHATS_APP: WhatsApp channel which is managed by the collaboration server","FACEBOOK: Facebook channel which is managed by the collaboration server"] The type of the external messenger channel |
| webhookEndpoint | string The endpoint url of the webhook registration. To this url the requests for the webhook events are done. Maximum length of 4000 characters. Can not be omitted. |
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string A secret which is send with each webhook event. Maximum length of 4000 characters. Can be omitted. |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| messageStateHandledExternally | boolean Defines if the delivered/read state of messages is handled externally or by the collaboration server. |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
Update a external messenger channel
{- "$_type": "CustomExternalMessengerChannel",
- "id": "cne9hsne4rgxa2es6MenC8d",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "Updated Name ",
- "description": "custom description",
- "channelIcon": "custom",
- "sourceId": "custom-sourceId",
- "type": "CUSTOM",
- "webhookApiVersion": "V3",
- "webhookSecret": "custom-secret",
- "webhookStatus": "ACTIVE",
- "messageStateHandledExternally": false,
- "metadata": null
}Updated external messenger channel
{- "$_type": "CustomExternalMessengerChannel",
- "id": "cne9hsne4rgxa2es6MenC8d",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "Updated Name ",
- "description": "custom description",
- "channelIcon": "custom",
- "sourceId": "custom-sourceId",
- "type": "CUSTOM",
- "webhookApiVersion": "V3",
- "webhookSecret": "custom-secret",
- "webhookStatus": "ACTIVE",
- "messageStateHandledExternally": false,
- "metadata": null
}Service to manage file upload interceptors. File upload interceptors also use this service to interact with Unblu.
Approves a file upload for which approval was requested through a file_upload_interceptor.new_file webhook.
| token | string The token used to identify the file this action applies to. The token is received when approval is requested through a |
{- "token": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Creates a new file upload interceptor
The file upload interceptor to create
| $_type | string Default: "FileUploadInterceptorData" Value: "FileUploadInterceptorData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the file upload interceptor. Maximum length of 250 characters. Mandatory. |
| description | string Description of the file upload interceptor. Maximum length of 500 characters. Optional. |
| order | integer <int64> Order of execution of the file upload interceptor among all the file upload interceptors configured in the account. Mandatory. |
| mimeTypeRegex | string Regular expression used to determine if the interceptor must be used for a particular MIME type. Leave it empty to match all MIME types. |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| webhookEndpoint | string The URL of the webhook registration endpoint. Requests for webhook events are sent to this URL. Maximum length of 4000 characters. The following event is sent to the endpoint:
|
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string Optional secret sent with each webhook event. Maximum length of 4000 characters. |
Create a new file upload interceptor
{- "$_type": "FileUploadInterceptorData",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "name": "test-file-upload-interceptor-1",
- "description": null,
- "order": 3,
- "mimeTypeRegex": null,
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null
}New file upload interceptor
{- "$_type": "FileUploadInterceptorData",
- "id": "VhSaA_3wThCuS_AOKxC0VA",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-file-upload-interceptor-1",
- "description": null,
- "order": 3,
- "mimeTypeRegex": null,
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null
}{- "$_type": "InterceptorNewFileEvent",
- "timestamp": 0,
- "eventType": "string",
- "accountId": "string",
- "apiToken": "string",
- "name": "string",
- "mimeType": "string",
- "length": 0,
- "downloadLink": "string",
- "source": "BOT",
- "person": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "conversationId": "string"
}Deletes an existing file upload interceptor
| id | string The ID of the file upload interceptor which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Searches for a file upload interceptor with the given name
| name | string The name of the file upload interceptor |
File upload interceptor
{- "$_type": "FileUploadInterceptorData",
- "id": "VhSaA_3wThCuS_AOKxC0VA",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-file-upload-interceptor-1",
- "description": null,
- "order": 1,
- "mimeTypeRegex": null,
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null
}Emits a WebhookPingEvent on the configured webhook for the given file upload interceptor
| interceptorId | string The ID of the file upload interceptor |
Send a ping event for the given file upload interceptor
{- "interceptorId": "VhSaA_3wThCuS_AOKxC0VA"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Reads an existing file upload interceptor.
| id | string The ID of the file upload interceptor to read |
File upload interceptor
{- "$_type": "FileUploadInterceptorData",
- "id": "VhSaA_3wThCuS_AOKxC0VA",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-file-upload-interceptor-1",
- "description": null,
- "order": 1,
- "mimeTypeRegex": null,
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": null
}Rejects a file upload for which approval was requested through a file_upload_interceptor.new_file webhook.
| token | string The token used to identify the file this action applies to. The token is received when approval is requested through a |
| reason | string A text explaining why the file upload was rejected. The text is displayed to end users as it was transmitted. |
{- "token": "string",
- "reason": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Searches for file upload interceptors in the current account
| $_type | string Default: "FileUploadInterceptorQuery" Value: "FileUploadInterceptorQuery" |
Array of any (FileUploadInterceptorSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (FileUploadInterceptorOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "FileUploadInterceptorQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampFileUploadInterceptorSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "FileUploadInterceptorOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "FileUploadInterceptorResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "FileUploadInterceptorData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "order": 0,
- "mimeTypeRegex": "string",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string"
}
]
}Updates an existing file upload interceptor
| $_type | string Default: "FileUploadInterceptorData" Value: "FileUploadInterceptorData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the file upload interceptor. Maximum length of 250 characters. Mandatory. |
| description | string Description of the file upload interceptor. Maximum length of 500 characters. Optional. |
| order | integer <int64> Order of execution of the file upload interceptor among all the file upload interceptors configured in the account. Mandatory. |
| mimeTypeRegex | string Regular expression used to determine if the interceptor must be used for a particular MIME type. Leave it empty to match all MIME types. |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| webhookEndpoint | string The URL of the webhook registration endpoint. Requests for webhook events are sent to this URL. Maximum length of 4000 characters. The following event is sent to the endpoint:
|
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string Optional secret sent with each webhook event. Maximum length of 4000 characters. |
{- "$_type": "FileUploadInterceptorData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "order": 0,
- "mimeTypeRegex": "string",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string"
}{- "$_type": "FileUploadInterceptorData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "order": 0,
- "mimeTypeRegex": "string",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string"
}validateMimeTypeRegex operation
| regex | string |
{- "regex": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}With this service the global Unblu system can be managed.
For super-admin the Global object can be expanded to set configuration or translations.
Install a new license in the global server.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
licenseContent
{- "$_type": "GlobalData",
- "serverIdentifier": "string",
- "currentLicense": {
- "$_type": "LicenseData",
- "state": "NO_LICENSE",
- "licenseId": "string",
- "expirationTimestamp": 0,
- "features": {
- "property1": { },
- "property2": { }
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Checks whether the system is ready to receive requests. If the system is ready, it returns a 200 HTTP status, otherwise it returns a 503 HTTP status.
{- "$_type": "GlobalPingResponse",
- "status": "string"
}Returns the GlobalData object containing information about the system (license, settings).
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "GlobalData",
- "serverIdentifier": "string",
- "currentLicense": {
- "$_type": "LicenseData",
- "state": "NO_LICENSE",
- "licenseId": "string",
- "expirationTimestamp": 0,
- "features": {
- "property1": { },
- "property2": { }
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Remove a license from the global server if it was previously added via the UI or the installLicense WebAPI call.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "GlobalData",
- "serverIdentifier": "string",
- "currentLicense": {
- "$_type": "LicenseData",
- "state": "NO_LICENSE",
- "licenseId": "string",
- "expirationTimestamp": 0,
- "features": {
- "property1": { },
- "property2": { }
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Updates the GlobalData object. Since the properties of the Global object are read-only, this methods only make sense when used with the expand parameter.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "GlobalData" Value: "GlobalData" |
| serverIdentifier | string A unique id identifying an Unblu installation. This is read only information it will be set by the server anyway. |
object (LicenseData) Entity representing the current installed license | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "GlobalData",
- "serverIdentifier": "string",
- "currentLicense": {
- "$_type": "LicenseData",
- "state": "NO_LICENSE",
- "licenseId": "string",
- "expirationTimestamp": 0,
- "features": {
- "property1": { },
- "property2": { }
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "$_type": "GlobalData",
- "serverIdentifier": "string",
- "currentLicense": {
- "$_type": "LicenseData",
- "state": "NO_LICENSE",
- "licenseId": "string",
- "expirationTimestamp": 0,
- "features": {
- "property1": { },
- "property2": { }
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Add a secondary invitation target to the given invitation. This target agent is informed additionally to the main target agent and can accept the invitation in their place.
cancelSecondaryInvitationTarget| invitationId required | string The invitation that the secondary target should be added to |
| personId | string The person who should be informed of the invitation additionally |
{- "personId": "string"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Cancels the invitation sent to a secondary target. The secondary target agent will no longer be able to accept the invitation.
See also addSecondaryInvitationTarget
| invitationId required | string The invitation the secondary target belongs to |
| personId | string The person ID of the secondary invitation target for whom to cancel the invitation |
{- "personId": "string"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Forwards a conversation to an agent. The current assigned agent stays in the conversation until the invitation is accepted. Once the invited agent accepts the invitation, they join the conversation as the assigned agent, and the previous assigned agent is removed from the conversation.
If there is already a forwarding invitation for the conversation, that invitation is revoked.
If the conversation is in the queue, the assignment request invitation is revoked.
| conversationId | string Conversation id. |
| agentPersonId | string Person ID of the agent. |
| comment | string Invitation comment that will be displayed to the invited agent. Optional. |
{- "conversationId": "string",
- "agentPersonId": "string",
- "comment": "string"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Forwards a conversation to a team. The current assigned agent remains in the conversation until the invitation is accepted. Once an agent of the invited team or its parent teams accepts the invitation, they join the conversation as its assigned agent, and the previous assigned agent is removed from the conversation.
If there is already a forwarding invitation for the conversation, that invitation is revoked.
If the conversation is in the queue, the assignment request invitation is revoked.
| conversationId | string Conversation id. |
| teamId | string Team id. |
| comment | string Invitation comment. Optional. |
{- "conversationId": "string",
- "teamId": "string",
- "comment": "string"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Returns link(s) to accept the invitation that the conversation invitation token provided is related to. The token is validated first and the endpoint only returns links if the validation is successful. If the token is not valid, no longer redeemable (for example, because it's expired or been redeemed by another person), or the rate limit has been reached, the endpoint returns an error.
Note: In environments where account ingress isn't enabled, you must provide the API key using the apiKey query parameter if this service is called for anonymous users. The API key is needed to identify the correct Unblu account.
| token | string to return the links for |
{- "token": "string"
}{- "$_type": "AcceptLinkData",
- "accountId": "string",
- "conversationId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "expirationTimestamp": 0
}Creates an invitation to the given conversation for an agent. If the agent accepts the invitation, they join the conversation as a secondary agent. If a conflicting invitation already exists, an error is returned.
| conversationId | string Conversation ID |
| agentPersonId | string Person ID of the invited agent |
| comment | string Invitation comment. Optional. |
| joinHidden | boolean Flag deciding whether accepting the invitation resolves into a hidden participation. Optional (false by default). |
{- "conversationId": "string",
- "agentPersonId": "string",
- "comment": "string",
- "joinHidden": true
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Invites a visitor to join a conversation by email. Calling this method sends an email to the email address provided containing a link that opens the conversation in the Visitor Desk.
| conversationId | string Conversation id. |
string Email address that will be applied to the visitor who accepts the invitation if they are anonymous and haven't provided an email address. Optional. | |
| nickname | string Nickname that will be applied to the visitor who accepts the invitation if they are anonymous and don't already have a nickname set. Optional. |
{- "conversationId": "string",
- "email": "string",
- "nickname": "string"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Invites a visitor to a join conversation using a link. The returned invitation data contains a link of the type "ACCEPT_IN_VISITOR_DESK" which can be passed on to the invited visitor.
| conversationId | string Conversation id. |
| nickname | string Nickname that will be applied to the visitor who accepts the invitation if they are anonymous and don't already have a nickname set. Optional. |
{- "conversationId": "string",
- "nickname": "string"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Invites a visitor to join a conversation using a PIN. The PIN can be found in the "token" field of the returned invitation. It can be redeemed by entering it in the embedded or floating site integration UI.
| conversationId | string Conversation id. |
| nickname | string Nickname that will be applied to the visitor who accepts the invitation if they are anonymous and don't already have a nickname set. Optional. |
{- "conversationId": "string",
- "nickname": "string"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Creates an invitation for a team for the given conversation. The invitation can be redeemed once by any agent in either the invited team or one of its parent teams. The agent who redeeems the invitation joins the conversation as a secondary agent. If a conflicting invitation already exists, an error is returned.
| conversationId | string Conversation ID |
| teamId | string Team ID |
| comment | string Invitation comment. Optional. |
| joinHidden | boolean Flag deciding whether accepting the invitation resolves into a hidden participation. Optional (false by default). |
{- "conversationId": "string",
- "teamId": "string",
- "comment": "string",
- "joinHidden": true
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Returns the invitation with the given ID.
| id | string The ID of the invitation to return |
{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Renews the PIN of an anonymous visitor PIN invitation. An error is returned if the method is called for any other type of invitation.
| invitationId required | string Invitation id. |
{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Return the given conversation to the queue by creating an assignment request invitation.
This is only possible for conversations that were initiated by the visitor, that is, the conversation's initial engagement type must be a request.
Optionally, existing agent participants can be removed from the conversation.
| conversationId | string Conversation ID |
| agentRemovalType | string (EAgentRemovalType) Enum: "KEEP_AGENTS" "REMOVE_ASSIGNED_AGENT" "REMOVE_ALL_AGENTS" enum-descriptions: ["KEEP_AGENTS","REMOVE_ASSIGNED_AGENT","REMOVE_ALL_AGENTS"] |
{- "conversationId": "string",
- "agentRemovalType": "KEEP_AGENTS"
}{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Revokes the invitation making it impossible to accept it anymore.
| invitationId required | string Invitation id. |
{- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}Search for invitations in the current account
| $_type | string Default: "ConversationInvitationQuery" Value: "ConversationInvitationQuery" |
Array of any (ConversationInvitationSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (ConversationInvitationOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "ConversationInvitationQuery",
- "searchFilters": [
- {
- "$_type": "TargetTypeConversationInvitationSearchFilter",
- "field": "INVITATION_TYPE",
- "operator": {
- "$_type": "EqualsInvitationTargetTypeOperator",
- "type": "EQUALS",
- "value": "ANONYMOUS"
}
}
], - "orderBy": [
- {
- "$_type": "ConversationInvitationOrderBy",
- "field": "TYPE",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "ConversationInvitationResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "ConversationInvitationData",
- "accountId": "string",
- "invitationType": "CONVERSATION_REQUEST",
- "invitationState": "OPEN",
- "id": "string",
- "conversationId": "string",
- "token": "string",
- "createdTimestamp": 0,
- "creatorType": "WEB_API",
- "creatorPersonId": "string",
- "targetId": "string",
- "targetType": "ANONYMOUS",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "redeemingPersonId": "string",
- "comment": "string",
- "joinHidden": true,
- "email": "string",
- "nickname": "string",
- "targetResponseStatus": "PENDING",
- "secondaryInvitationTargets": [
- {
- "$_type": "ConversationInvitationSecondaryTargetData",
- "personId": "string",
- "responseState": "PENDING"
}
], - "expirationTimestamp": 0
}
]
}Service to manage message interceptors. Some operations are only valid for some types of message interceptor. Where that is the case, the operation's documentation states which types it applies to.
Approves a message for which approval was requested through a message_interceptor.new_message webhook.
This operation is only available for ExternalMessageInterceptor entities. Messages sent to InternalMessageInterceptor entities are approved automatically.
The action to approve a message
| $_type | string Default: "ApproveMessageAction" Value: "ApproveMessageAction" |
| token | string The token used to identify the message this action applies to. The token is received when approval is requested through a |
{- "$_type": "ApproveMessageAction",
- "token": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Creates a new message interceptor
The message interceptor to create
| $_type | string Default: "ExternalMessageInterceptorData" Value: "ExternalMessageInterceptorData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the message interceptor. Maximum length of 250 characters. Mandatory. |
| description | string Description of the message interceptor. Maximum length of 500 characters. Optional. |
| messageFilter | string (EMessageInterceptorMessageFilter) Enum: "AGENT" "VISITOR" "ALL" enum-descriptions: ["AGENT","VISITOR","ALL"] |
| timeoutBehavior | string (EMessageInterceptorTimeoutBehavior) Enum: "REJECT" "CONTINUE" enum-descriptions: ["REJECT: Reject the message when a timeout occurs","CONTINUE: Proceed with the message when a timeout occurs"] What should happen with a message when a timeout occurs during interception. |
| type | string (EMessageInterceptorType) enum-descriptions: ["EXTERNAL","INTERNAL"] EXTERNAL EXTERNAL INTERNAL |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| webhookEndpoint | string The URL of the webhook registration endpoint. Requests for webhook events are sent to this URL. Maximum length of 4000 characters. The following event is sent to the endpoint:
|
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string Optional secret sent with each webhook event Maximum length of 4000 characters. |
create a new external message interceptor
{- "$_type": "ExternalMessageInterceptorData",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "name": "Test external message interceptor",
- "description": "Test description",
- "messageFilter": "VISITOR",
- "timeoutBehavior": "REJECT",
- "type": "EXTERNAL",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": null,
- "webhookSecret": "hash-secret"
}create a new external message interceptor
{- "$_type": "ExternalMessageInterceptorData",
- "id": "_LFMquN7Qy-5K9rSWtpL_g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "Test external message interceptor",
- "description": "Test description",
- "messageFilter": "VISITOR",
- "timeoutBehavior": "REJECT",
- "type": "EXTERNAL",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": "hash-secret"
}{- "$_type": "InterceptorNewMessageEvent",
- "timestamp": 0,
- "eventType": "string",
- "accountId": "string",
- "messageApiToken": "string",
- "conversationMessage": {
- "$_type": "ApprovalRequestMessageData",
- "id": "string",
- "conversationId": "string",
- "externalMessengerChannelId": "string",
- "accountId": "string",
- "senderPerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "senderPersonPresenceId": "string",
- "serverTimestamp": 0,
- "sendTimestamp": 0,
- "type": "TEXT",
- "recipientPersonIds": [
- "string"
], - "fallbackText": "string",
- "actionId": "string",
- "sourceId": "string",
- "botThreadId": "string",
- "internal": true,
- "replyToMessageId": "string",
- "text": "string",
- "textType": "SIMPLE_TEXT",
- "options": [
- {
- "$_type": "MultichoiceQuestionOption",
- "label": "string",
- "value": "string",
- "primary": true
}
], - "answerStatus": "PENDING"
}, - "conversationLanguage": "string"
}Deletes an existing message interceptor
| id | string The ID of the message interceptor which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Searches for an existing message interceptor with the given name
| name | string The name of the message interceptor |
{- "$_type": "ExternalMessageInterceptorData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "messageFilter": "AGENT",
- "timeoutBehavior": "REJECT",
- "type": "EXTERNAL",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string"
}Emits a WebhookPingEvent on the configured webhook for the specified external message interceptor.
This operation is only available for ExternalMessageInterceptor entities.
| interceptorId | string The ID of an external message interceptor |
{- "interceptorId": "string"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Reads an existing message interceptor
| id | string The ID of the message interceptor |
{- "$_type": "ExternalMessageInterceptorData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "messageFilter": "AGENT",
- "timeoutBehavior": "REJECT",
- "type": "EXTERNAL",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string"
}Rejects a message for which approval was requested through a message_interceptor.new_message webhook.
This operation is only available for ExternalMessageInterceptor entities. Messages sent to InternalMessageInterceptor entities are rejected automatically.
The action to reject a message
| $_type | string Default: "RejectMessageAction" Value: "RejectMessageAction" |
| token | string The token used to identify the message this action applies to. The token is received when approval is requested through a |
| reason | string The reason explaining why the message was rejected. This reason is displayed as-is to end users. |
| severity | string (ESentRejectionSeverity) Enum: "HIGH" "MEDIUM" "LOW" enum-descriptions: ["HIGH: The message was rejected with high severity","MEDIUM: The message was rejected with medium severity","LOW: The message was rejected with low severity"] The severity of the rejection for messages rejected by a message interceptor. This affects how the rejected message is displayed to different participants. |
{- "$_type": "RejectMessageAction",
- "token": "string",
- "reason": "string",
- "severity": "HIGH"
}{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Searches for message interceptors in the current account
| $_type | string Default: "MessageInterceptorQuery" Value: "MessageInterceptorQuery" |
Array of any (MessageInterceptorSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (MessageInterceptorOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "MessageInterceptorQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampMessageInterceptorSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "MessageInterceptorOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "MessageInterceptorResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "ExternalMessageInterceptorData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "messageFilter": "AGENT",
- "timeoutBehavior": "REJECT",
- "type": "EXTERNAL",
- "webhookStatus": "ACTIVE",
- "webhookEndpoint": "string",
- "webhookApiVersion": "V1",
- "webhookSecret": "string"
}
]
}Updates an existing message interceptor
The message interceptor to update
| $_type | string Default: "ExternalMessageInterceptorData" Value: "ExternalMessageInterceptorData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the message interceptor. Maximum length of 250 characters. Mandatory. |
| description | string Description of the message interceptor. Maximum length of 500 characters. Optional. |
| messageFilter | string (EMessageInterceptorMessageFilter) Enum: "AGENT" "VISITOR" "ALL" enum-descriptions: ["AGENT","VISITOR","ALL"] |
| timeoutBehavior | string (EMessageInterceptorTimeoutBehavior) Enum: "REJECT" "CONTINUE" enum-descriptions: ["REJECT: Reject the message when a timeout occurs","CONTINUE: Proceed with the message when a timeout occurs"] What should happen with a message when a timeout occurs during interception. |
| type | string (EMessageInterceptorType) enum-descriptions: ["EXTERNAL","INTERNAL"] EXTERNAL EXTERNAL INTERNAL |
| webhookStatus | string (ERegistrationStatus) Enum: "ACTIVE" "INACTIVE" "INACTIVE_UNAVAILABLE" enum-descriptions: ["ACTIVE: Registration is active","INACTIVE: Registration is not active","INACTIVE_UNAVAILABLE: Registration is not active, because it is unavailable"] Possible Webhook Registration Status |
| webhookEndpoint | string The URL of the webhook registration endpoint. Requests for webhook events are sent to this URL. Maximum length of 4000 characters. The following event is sent to the endpoint:
|
| webhookApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| webhookSecret | string Optional secret sent with each webhook event Maximum length of 4000 characters. |
update an existing external message interceptor
{- "$_type": "ExternalMessageInterceptorData",
- "id": "_LFMquN7Qy-5K9rSWtpL_g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "Test external message interceptor",
- "description": "New description",
- "messageFilter": "VISITOR",
- "timeoutBehavior": "REJECT",
- "type": "EXTERNAL",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": "hash-secret"
}update an existing external message interceptor
{- "$_type": "ExternalMessageInterceptorData",
- "id": "_LFMquN7Qy-5K9rSWtpL_g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 2,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "Test external message interceptor",
- "description": "New description",
- "messageFilter": "VISITOR",
- "timeoutBehavior": "REJECT",
- "type": "EXTERNAL",
- "webhookStatus": "INACTIVE",
- "webhookApiVersion": "V3",
- "webhookSecret": "hash-secret"
}Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to create
| $_type | string Default: "NamedArea" Value: "NamedArea" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the entity: id that can be expanded. | |
| name | string Name of the named area. Maximum of 250 characters. Can not be omitted. |
| description | string Description of the named area. Maximum of 500 characters. Can be omitted. |
| type | string (ENamedAreaType) Enum: "META_TAG" "DOMAIN" enum-descriptions: ["META_TAG: A meta tag","DOMAIN: a (sub)domain"] Type of a named area |
| siteId | string Meta tag name if the type is META_TAG or domain name if the type is DOMAIN. If the type is META_TAG, it can be omitted during creation and a random ID will generated for it. Modification of this attribute is not allowed. Maximum of 250 characters. |
object A map of localized versions of the name and description of this entity | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
Create a NamedArea with translations of the name and description for it
{- "$_type": "NamedArea",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "avatar": null,
- "name": "Name_with-translations-test",
- "description": "Desc_with-translations-test",
- "type": "META_TAG",
- "siteId": "with-translations-test",
- "translations": {
- "de": {
- "$_type": "NamedAreaTranslation",
- "id": null,
- "name": "Kreditanstalt",
- "description": "Bieten kurzfristige Darlehen"
}, - "en": {
- "$_type": "NamedAreaTranslation",
- "id": null,
- "name": "Loan bank",
- "description": "Offering short term loans"
}
}, - "configuration": null,
- "text": null,
- "metadata": null
}Create a NamedArea with translations of the name and description for it
{- "$_type": "NamedArea",
- "id": "6NF_2m71da0DBrA93aedcb5",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "avatar": null,
- "name": "Name_with-translations-test",
- "description": "Desc_with-translations-test",
- "type": "META_TAG",
- "siteId": "with-translations-test",
- "translations": {
- "de": {
- "$_type": "NamedAreaTranslation",
- "id": "0gMlnFGNTSmVczBLyCLEKg",
- "name": "Kreditanstalt",
- "description": "Bieten kurzfristige Darlehen"
}, - "en": {
- "$_type": "NamedAreaTranslation",
- "id": "0gMlnFGNTSmVczBLyCLEKg",
- "name": "Loan bank",
- "description": "Offering short term loans"
}
}, - "configuration": null,
- "text": null,
- "metadata": null
}Deletes the entity for the given ID
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns the named area for the given id
| id | string Id of the named area which should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "NamedArea",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "name": "string",
- "description": "string",
- "type": "META_TAG",
- "siteId": "string",
- "translations": {
- "property1": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Gets a list of named areas for the given id's
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The id's for which the named areas should be fetched
[- "string"
][- {
- "$_type": "NamedArea",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "name": "string",
- "description": "string",
- "type": "META_TAG",
- "siteId": "string",
- "translations": {
- "property1": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]Search for named areas in the current account
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "NamedAreaQuery" Value: "NamedAreaQuery" |
Array of any (NamedAreaSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (NamedAreaOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "NamedAreaQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampNamedAreaSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "NamedAreaOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "NamedAreaResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "NamedArea",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "name": "string",
- "description": "string",
- "type": "META_TAG",
- "siteId": "string",
- "translations": {
- "property1": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]
}Updates the entity in the system with the given entity.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to update
| $_type | string Default: "NamedArea" Value: "NamedArea" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the entity: id that can be expanded. | |
| name | string Name of the named area. Maximum of 250 characters. Can not be omitted. |
| description | string Description of the named area. Maximum of 500 characters. Can be omitted. |
| type | string (ENamedAreaType) Enum: "META_TAG" "DOMAIN" enum-descriptions: ["META_TAG: A meta tag","DOMAIN: a (sub)domain"] Type of a named area |
| siteId | string Meta tag name if the type is META_TAG or domain name if the type is DOMAIN. If the type is META_TAG, it can be omitted during creation and a random ID will generated for it. Modification of this attribute is not allowed. Maximum of 250 characters. |
object A map of localized versions of the name and description of this entity | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: text type: Map The entity's text properties. Only contains values when the 'expand' query parameter is used with the value 'text'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "NamedArea",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "name": "string",
- "description": "string",
- "type": "META_TAG",
- "siteId": "string",
- "translations": {
- "property1": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "$_type": "NamedArea",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "name": "string",
- "description": "string",
- "type": "META_TAG",
- "siteId": "string",
- "translations": {
- "property1": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "NamedAreaTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}Helper method read a PersonPresenceData by id
| id | string |
{- "$_type": "PersonPresenceData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "joinedTimestamp": 0,
- "leftTimestamp": 0,
- "personId": "string",
- "deviceInfo": {
- "$_type": "DeviceInfo",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "osName": "string",
- "osVersion": "string",
- "browserName": "string",
- "browserVersion": "string",
- "userAgent": "string",
- "screenWidth": 0,
- "screenHeight": 0,
- "screenPixelRatio": 0,
- "type": "MOBILE",
- "identifier": "string",
- "identifierSource": "COOKIE",
- "pushToken": "string",
- "pushKitToken": "string",
- "mobilePushNotificationVersion": 0,
- "ownerPersonId": "string"
}, - "touchTimestamp": 0,
- "impersonationType": "NONE",
- "impersonatedFromUserId": "string",
- "impersonatedFromAccountId": "string",
- "additionalInfo": "string",
- "authInfo": "string",
- "propagated": true
}Search for person presences in the current account
| $_type | string Default: "PersonPresenceQuery" Value: "PersonPresenceQuery" |
Array of any (PersonPresenceSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (PersonPresenceOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "PersonPresenceQuery",
- "searchFilters": [
- {
- "$_type": "JoinedTimestampPersonPresenceSearchFilter",
- "field": "JOINED_TIMESTAMP",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "PersonPresenceOrderBy",
- "field": "CREATION_TIMESTAMP",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "PersonPresenceResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "PersonPresenceData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "joinedTimestamp": 0,
- "leftTimestamp": 0,
- "personId": "string",
- "deviceInfo": {
- "$_type": "DeviceInfo",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "accountId": "string",
- "osName": "string",
- "osVersion": "string",
- "browserName": "string",
- "browserVersion": "string",
- "userAgent": "string",
- "screenWidth": 0,
- "screenHeight": 0,
- "screenPixelRatio": 0,
- "type": "MOBILE",
- "identifier": "string",
- "identifierSource": "COOKIE",
- "pushToken": "string",
- "pushKitToken": "string",
- "mobilePushNotificationVersion": 0,
- "ownerPersonId": "string"
}, - "touchTimestamp": 0,
- "impersonationType": "NONE",
- "impersonatedFromUserId": "string",
- "impersonatedFromAccountId": "string",
- "additionalInfo": "string",
- "authInfo": "string",
- "propagated": true
}
]
}Add an AutoPauseNotificationsReason for a person. By calling this service the notifications for the given user will automatically be paused for the specified amount of time.
If several auto pause reasons are added, the notifications will be automatically paused until the last auto pause reason is removed or times out.
Note: This will only take effect on the pauseNotificationsState if the person's pauseNnotificationsMode is set to AUTO.
| personId required | string ID of the person we want to add the auto pause to |
| sourceId | string The source identifier of the auto-pause reason. This can be used later to remove or change the timeout for this reason. |
| displayName | string The name of the auto-pause reason displayed in the UI |
| timeoutSeconds | integer <int32> The duration, in seconds, for which notifications should be paused automatically |
{- "sourceId": "string",
- "displayName": "string",
- "timeoutSeconds": 0
}{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Set a person's pauseNotificationsState automatically, based on their ongoing interactions in Unblu and any AutoPauseNotificationsReasons in place for the person via the Web API.
Calling this endpoint sets the person's pauseNotificationsMode to AUTO. As a result, their pauseNotificationsState will be ON whenever there is at least one active AutoPauseNotificationsReason and OFF otherwise.
| personId required | string The ID of the person whose pauseNotificationsMode should be set to AUTO |
{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Updates and returns an existing bot person or creates and returns a bot person if absent.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
person data
| $_type | string Default: "PersonData" Value: "PersonData" |
| id | string Unique id of the person, when creating a person this property can be omitted as it will be generated by the server anyway. |
| accountId | string Account id to which a Person belongs to. When creating an entity, the accountId can be omitted, as it will be filled by the server automatically with the account of the currently logged in user. When editing an entity, you must include the account ID. |
| personSource | string (EPersonSource) Enum: "USER_DB" "VIRTUAL" enum-descriptions: ["USER_DB: The source of the person is the ${link User} entity, so the `Person` is considered to be physical","VIRTUAL: The source of the person is virtual, that is, the individual is either anonymous or their identity was propagated by a single sign-on (SSO) mechanism."] The source type of a person (participant of a conversation) |
| sourceId | string Identifier of the person in its source (defined by |
| sourceUrl | string URL identifying the source of the person. Maximum length of 2000 characters. Only available for virtual persons in conversations that were created outside Unblu. |
| sourceData | string Vendor specific data. |
| firstName | string The first name of the person. Maximum length of 250 characters. Can be omitted. |
| lastName | string the last name of the person. Maximum length of 250 characters. Can be omitted. |
| username | string The username of the person. When firstName and lastName are unknown, it is recommended to use this value to change the displayName. Depending on the configuration, this is may also be the email of the corresponding user. Maximum length of 250 characters. Can be omitted. |
| nickname | string A name that an anonymous person has given itself. Maximum length of 250 characters. Can be omitted. |
| displayName | string Display name of the person. This is read only information, it will be set by the server anyway. |
| personType | string (EPersonType) Enum: "AGENT" "VISITOR" "SYSTEM" "BOT" enum-descriptions: ["AGENT: Agent participant","VISITOR: Visitor participant","SYSTEM: System participant","BOT: Bot participant"] The type of a person (participant of a session) |
| authorizationRole | string (EAuthorizationRole) Enum: "SUPER_ADMIN" "PARTNER" "TECHNICAL_ADMIN" "ADMIN" "SUPERVISOR" "REGISTERED_USER" "WEBUSER" "ANONYMOUS_USER" enum-descriptions: ["SUPER_ADMIN: Super admin role. Only for unblu or system admins","PARTNER: Partner role. (no longer used)","TECHNICAL_ADMIN: Technical admin role.","ADMIN: Admin role. For Admins of the system","SUPERVISOR: Supervisor role. For users which manage teams","REGISTERED_USER: User role. For normal users (agents)","WEBUSER: Webuser role. For internal representation of users from the outside","ANONYMOUS_USER: Anonymous role. For internal representation of unknown users"] The authorization role is mainly used for access definition of a service |
string The email of the person. Optional. | |
| phone | string The phone of the person. Optional. |
| teamId | string Team id of the person. Optional. |
| teamName | string Team name of the person, only present when the team id is set. When creating or updating a person this property can be omitted as it will be set by the server anyway. |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the entity: id that can be expanded. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "PersonData",
- "id": null,
- "accountId": null,
- "personSource": null,
- "sourceId": "b",
- "sourceData": null,
- "firstName": null,
- "lastName": null,
- "username": "Example B",
- "nickname": null,
- "displayName": null,
- "personType": null,
- "authorizationRole": null,
- "email": "b@example.com",
- "phone": null,
- "teamId": null,
- "teamName": null,
- "avatar": null,
- "metadata": null
}{- "$_type": "PersonData",
- "id": "nta30CBa-6d1a89cE57Db_F",
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "personSource": "VIRTUAL",
- "sourceId": "bot3",
- "sourceData": null,
- "firstName": null,
- "lastName": null,
- "username": "Example BOT3",
- "nickname": null,
- "displayName": "Bot",
- "personType": "BOT",
- "authorizationRole": "REGISTERED_USER",
- "email": "bot3@example.com",
- "phone": null,
- "teamId": null,
- "teamName": null,
- "avatar": null,
- "metadata": null
}Updates and returns an existing virtual person or creates and returns a virtual person if absent.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
person data
| $_type | string Default: "PersonData" Value: "PersonData" |
| id | string Unique id of the person, when creating a person this property can be omitted as it will be generated by the server anyway. |
| accountId | string Account id to which a Person belongs to. When creating an entity, the accountId can be omitted, as it will be filled by the server automatically with the account of the currently logged in user. When editing an entity, you must include the account ID. |
| personSource | string (EPersonSource) Enum: "USER_DB" "VIRTUAL" enum-descriptions: ["USER_DB: The source of the person is the ${link User} entity, so the `Person` is considered to be physical","VIRTUAL: The source of the person is virtual, that is, the individual is either anonymous or their identity was propagated by a single sign-on (SSO) mechanism."] The source type of a person (participant of a conversation) |
| sourceId | string Identifier of the person in its source (defined by |
| sourceUrl | string URL identifying the source of the person. Maximum length of 2000 characters. Only available for virtual persons in conversations that were created outside Unblu. |
| sourceData | string Vendor specific data. |
| firstName | string The first name of the person. Maximum length of 250 characters. Can be omitted. |
| lastName | string the last name of the person. Maximum length of 250 characters. Can be omitted. |
| username | string The username of the person. When firstName and lastName are unknown, it is recommended to use this value to change the displayName. Depending on the configuration, this is may also be the email of the corresponding user. Maximum length of 250 characters. Can be omitted. |
| nickname | string A name that an anonymous person has given itself. Maximum length of 250 characters. Can be omitted. |
| displayName | string Display name of the person. This is read only information, it will be set by the server anyway. |
| personType | string (EPersonType) Enum: "AGENT" "VISITOR" "SYSTEM" "BOT" enum-descriptions: ["AGENT: Agent participant","VISITOR: Visitor participant","SYSTEM: System participant","BOT: Bot participant"] The type of a person (participant of a session) |
| authorizationRole | string (EAuthorizationRole) Enum: "SUPER_ADMIN" "PARTNER" "TECHNICAL_ADMIN" "ADMIN" "SUPERVISOR" "REGISTERED_USER" "WEBUSER" "ANONYMOUS_USER" enum-descriptions: ["SUPER_ADMIN: Super admin role. Only for unblu or system admins","PARTNER: Partner role. (no longer used)","TECHNICAL_ADMIN: Technical admin role.","ADMIN: Admin role. For Admins of the system","SUPERVISOR: Supervisor role. For users which manage teams","REGISTERED_USER: User role. For normal users (agents)","WEBUSER: Webuser role. For internal representation of users from the outside","ANONYMOUS_USER: Anonymous role. For internal representation of unknown users"] The authorization role is mainly used for access definition of a service |
string The email of the person. Optional. | |
| phone | string The phone of the person. Optional. |
| teamId | string Team id of the person. Optional. |
| teamName | string Team name of the person, only present when the team id is set. When creating or updating a person this property can be omitted as it will be set by the server anyway. |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the entity: id that can be expanded. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
{- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns the person that represents the user identified by the source ID
| personSource | string (EPersonSource) Enum: "USER_DB" "VIRTUAL" enum-descriptions: ["USER_DB: The source of the person is the ${link User} entity, so the `Person` is considered to be physical","VIRTUAL: The source of the person is virtual, that is, the individual is either anonymous or their identity was propagated by a single sign-on (SSO) mechanism."] The source of the person |
| sourceId | string The identifier of the source for the person's information
|
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns NotificationCountData for a personId
| personId required | string |
{- "$_type": "NotificationCountData",
- "personId": "string",
- "totalNotificationCount": 0
}Returns The sum of all notifications the given person has across the provided conversations.
Note: Only existing conversations the given person is participating in are taken into account.
| personId required | string |
| $_type | string Default: "NotificationCountForConversationsRequest" Value: "NotificationCountForConversationsRequest" |
| conversationIds | Array of strings List of the conversation IDs to use when determining the number of notifications for a person |
{- "$_type": "NotificationCountForConversationsRequest",
- "conversationIds": [
- "string"
]
}{- "$_type": "NotificationCountForConversationsData",
- "notificationCount": 0
}Pause notifications for a person. This changes the person's pauseNotificationsMode and pauseNotificationsState to ON for the specified period.
Note: This overrides any automatic pause of notifications in place. Notification auto-pausing resumes once the period specified is over.
| personId required | string The ID of the person to pause notifications for |
| timeoutSeconds | integer <int32> The duration, in seconds, that notifications should be paused for |
{- "timeoutSeconds": 0
}{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Returns a PersonData by id
| id | string the personId |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
{- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}Returns a PersonStateData by personId
| personId | string |
{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Remove the AutoPauseNotificationsReason with the given sourceId for a specific person
| personId required | string The ID of the person we want to remove the auto-pause reason from |
| sourceId | string The identifier of the auto-pause reason to remove |
{- "sourceId": "string"
}{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Resumes notifications for a person. This changes the person's pauseNotificationsMode and pauseNotificationsState to OFF.
Note: This overrides any automatic pause of notifications.
| personId required | string The ID of the person to resume notifications for |
{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Search for persons in the current account
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
| $_type | string Default: "PersonQuery" Value: "PersonQuery" |
Array of any (PersonSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (PersonOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "PersonQuery",
- "searchFilters": [
- {
- "$_type": "AuthorizationRolePersonSearchFilter",
- "field": "PERSON_SOURCE",
- "operator": {
- "$_type": "EqualsAuthorizationRoleOperator",
- "type": "EQUALS",
- "value": "SUPER_ADMIN"
}
}
], - "orderBy": [
- {
- "$_type": "PersonOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "PersonResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]
}Search for persons in the current account by state
| $_type | string Default: "PersonStateQuery" Value: "PersonStateQuery" |
Array of any (PersonStateSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (PersonStateOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "PersonStateQuery",
- "searchFilters": [
- {
- "$_type": "PersonIdPersonStateSearchFilter",
- "field": "PERSON_ID",
- "operator": {
- "$_type": "EqualsStringOperator",
- "type": "EQUALS",
- "value": "string"
}
}
], - "orderBy": [
- {
- "$_type": "PersonStateOrderBy",
- "field": "PERSON_ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "PersonStateResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}
]
}Defines if a person should be shown as AWAY or ONLINE when they're logged in.
If the endpoint is called with "true", the person's online state will be set to AWAY, if it's called with "false" the person's online state will be set to ONLINE.
If the person in question is logged in, the change in their online state takes effect immediately. If they're not logged in, their online state will be set when they log in again.
| personId required | string The ID of the person to set the online state for |
| away | boolean Boolean Whether to set the person's online state to AWAY (true) of ONLINE (false) |
{- "away": true
}{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Sets a person's status message. Setting it to null deletes the current status message (if present).
| personId required | string The ID of the person we want to set a status message for |
| statusMessage | string The status message to display in the person's details |
{- "statusMessage": "string"
}{- "$_type": "PersonStateData",
- "personId": "string",
- "onlineState": "ONLINE",
- "statusMessage": "string",
- "pauseNotificationsMode": "ON",
- "pauseNotificationsState": "ON",
- "pauseNotificationsEndTimestamp": 0,
- "autoPauseNotificationsReasons": [
- {
- "$_type": "AutoPauseNotificationsReasonData",
- "sourceId": "string",
- "displayName": "string",
- "expirationTimestamp": 0
}
]
}Service for loading and updating the record retention configuration. The configuration is account-specific.
Returns the records retention configuration for the account of the calling user
{- "$_type": "RecordRetentionData",
- "accountId": "string",
- "retentionIntervalConversationSeconds": 0,
- "retentionIntervalPresenceSeconds": 0,
- "retentionIntervalWebhookCallLogSeconds": 0,
- "retentionIntervalAuditLogSeconds": 0
}Updates and returns an account's records retention configuration with the settings in RecordRetentionData
The new records retention configuration
| $_type | string Default: "RecordRetentionData" Value: "RecordRetentionData" |
| accountId | string ID of the account whose retention configuration properties the object represents |
| retentionIntervalConversationSeconds | integer <int64> Retention interval of conversations represented as number of seconds. Conversations are deleted after the interval, counting from when they ended. |
| retentionIntervalPresenceSeconds | integer <int64> Retention interval of person presences represented as number of seconds. If a person presence exists without a conversation, the log is deleted after the time set below. Otherwise, it is deleted when the conversation record is deleted. |
| retentionIntervalWebhookCallLogSeconds | integer <int64> Retention interval of webhook call logs represented as number of seconds. Webhook logs are deleted after the time set below, counting from when they were created. |
| retentionIntervalAuditLogSeconds | integer <int64> Retention interval of audit logs represented as number of seconds. Audit logs are deleted after the time set below, counting from when they were created. |
{- "$_type": "RecordRetentionData",
- "accountId": "string",
- "retentionIntervalConversationSeconds": 0,
- "retentionIntervalPresenceSeconds": 0,
- "retentionIntervalWebhookCallLogSeconds": 0,
- "retentionIntervalAuditLogSeconds": 0
}{- "$_type": "RecordRetentionData",
- "accountId": "string",
- "retentionIntervalConversationSeconds": 0,
- "retentionIntervalPresenceSeconds": 0,
- "retentionIntervalWebhookCallLogSeconds": 0,
- "retentionIntervalAuditLogSeconds": 0
}Returns the webhook event type names matching certain condition. This feature will be removed with Unblu 8
| apiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] only the events compatible with this version will be returned. If null the newest Web-API version will be used. |
| registrationLocation | string (ERegistrationLocation) Enum: "WEBHOOK_REGISTRATION" "BOT" "EXTERNAL_MESSENGER" "EXTERNAL_MESSAGE_INTERCEPTOR" "CUSTOM_ACTION" "SUGGESTION_SOURCE" "FILE_UPLOAD_INTERCEPTOR" enum-descriptions: ["WEBHOOK_REGISTRATION","BOT","EXTERNAL_MESSENGER","EXTERNAL_MESSAGE_INTERCEPTOR","CUSTOM_ACTION","SUGGESTION_SOURCE","FILE_UPLOAD_INTERCEPTOR"] only the events having this registration location will be returned. If null all location will be considered |
[- "string"
]Returns a list of all available services. This feature will be removed with Unblu 8
[- {
- "$_type": "WebApiService",
- "documentation": "string",
- "name": "string",
- "implementationName": "string",
- "resources": [
- {
- "$_type": "ResourceMetadata",
- "documentation": "string",
- "requiredRole": [
- "string"
], - "requiredEntryPath": "string",
- "path": [
- {
- "$_type": "ResourcePathElement",
- "documentation": "string",
- "name": "string",
- "dynamic": true,
- "type": "string"
}
], - "queryParameters": [
- {
- "$_type": "QueryParameter",
- "documentation": "string",
- "name": "string",
- "type": "string"
}
], - "body": {
- "$_type": "BodyElement",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "name": "string",
- "documentation": "string"
}, - "returnDocumentation": "string",
- "returnType": {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}, - "isGetAll": true,
- "methodType": "GET"
}
]
}
]Returns all metadata information available in one batch. This feature will be removed with Unblu 8
{- "$_type": "ServicesContainer",
- "version": "string",
- "services": [
- {
- "$_type": "WebApiService",
- "documentation": "string",
- "name": "string",
- "implementationName": "string",
- "resources": [
- {
- "$_type": "ResourceMetadata",
- "documentation": "string",
- "requiredRole": [
- "string"
], - "requiredEntryPath": "string",
- "path": [
- {
- "$_type": "ResourcePathElement",
- "documentation": "string",
- "name": "string",
- "dynamic": true,
- "type": "string"
}
], - "queryParameters": [
- {
- "$_type": "QueryParameter",
- "documentation": "string",
- "name": "string",
- "type": "string"
}
], - "body": {
- "$_type": "BodyElement",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "name": "string",
- "documentation": "string"
}, - "returnDocumentation": "string",
- "returnType": {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}, - "isGetAll": true,
- "methodType": "GET"
}
]
}
], - "webhookEvents": [
- {
- "$_type": "ServiceWebhookEventType",
- "documentation": "string",
- "kind": "WEBHOOK",
- "name": "string",
- "implementationName": "string",
- "registrationLocation": "WEBHOOK_REGISTRATION",
- "since": "V1",
- "properties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "staticProperties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "responseClassName": "string"
}
], - "types": [
- {
- "$_type": "ServiceType",
- "documentation": "string",
- "name": "string",
- "implementationName": "string",
- "isEnum": true,
- "additionalExpandables": [
- "string"
], - "properties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "staticProperties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "implementationTypes": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "discriminatorName": "string"
}
]
}Returns All available types used by the services and the webhook events. This feature will be removed with Unblu 8
[- {
- "$_type": "ServiceType",
- "documentation": "string",
- "name": "string",
- "implementationName": "string",
- "isEnum": true,
- "additionalExpandables": [
- "string"
], - "properties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "staticProperties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "implementationTypes": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "discriminatorName": "string"
}
]Returns all webhook event types. This feature will be removed with Unblu 8
[- {
- "$_type": "ServiceWebhookEventType",
- "documentation": "string",
- "kind": "WEBHOOK",
- "name": "string",
- "implementationName": "string",
- "registrationLocation": "WEBHOOK_REGISTRATION",
- "since": "V1",
- "properties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "staticProperties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "responseClassName": "string"
}
]Returns the metadata for the requested service. This feature will be removed with Unblu 8
| serviceName required | string The name of the service of which the metadata should be returned |
{- "$_type": "WebApiService",
- "documentation": "string",
- "name": "string",
- "implementationName": "string",
- "resources": [
- {
- "$_type": "ResourceMetadata",
- "documentation": "string",
- "requiredRole": [
- "string"
], - "requiredEntryPath": "string",
- "path": [
- {
- "$_type": "ResourcePathElement",
- "documentation": "string",
- "name": "string",
- "dynamic": true,
- "type": "string"
}
], - "queryParameters": [
- {
- "$_type": "QueryParameter",
- "documentation": "string",
- "name": "string",
- "type": "string"
}
], - "body": {
- "$_type": "BodyElement",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "name": "string",
- "documentation": "string"
}, - "returnDocumentation": "string",
- "returnType": {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}, - "isGetAll": true,
- "methodType": "GET"
}
]
}Returns a type definition by the given name. This feature will be removed with Unblu 8
| name required | string The name of the type of which the metadata should be returned |
{- "$_type": "ServiceType",
- "documentation": "string",
- "name": "string",
- "implementationName": "string",
- "isEnum": true,
- "additionalExpandables": [
- "string"
], - "properties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "staticProperties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "implementationTypes": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "discriminatorName": "string"
}Returns the webhook event type definition for the requested webhook event. This feature will be removed with Unblu 8
| name required | string The name of the webhook event type of which the metadata should be returned |
{- "$_type": "ServiceWebhookEventType",
- "documentation": "string",
- "kind": "WEBHOOK",
- "name": "string",
- "implementationName": "string",
- "registrationLocation": "WEBHOOK_REGISTRATION",
- "since": "V1",
- "properties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "staticProperties": [
- {
- "$_type": "ServiceTypeProperty",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- {
- "$_type": "ServiceTypeBinding",
- "typeName": "string",
- "isArray": true,
- "numArrayDim": 0,
- "isEnum": true,
- "typeArgs": [
- { }
]
}
], - "documentation": "string",
- "name": "string",
- "expandableType": "string"
}
], - "responseClassName": "string"
}Creates a new suggestion source
The suggestion source to create.
| $_type | string Default: "SuggestionSourceData" Value: "SuggestionSourceData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the message interceptor. Maximum length of 250 characters. Mandatory. |
| description | string Description of the message interceptor. Maximum length of 500 characters. Optional. |
| outboundApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| outboundStatus | string (EOutboundEndpointStatus) Enum: "ENABLED" "DISABLED" enum-descriptions: ["ENABLED: The endpoint is enabled and calls are allowed.","DISABLED: The endpoint is disabled and calls should be avoided, since they won't work."] The status of an Outbound Web-API endpoint. |
| outboundEndpoint | string The endpoint url of the outbound registration. To this url the requests for the outbound requests are done. Maximum length of 4000 characters. The following requests will be sent to the endpoint:
|
| outboundSecret | string Optional secret which is send with each outbound request. Maximum length of 4000 characters. |
| outboundTimeoutMillis | integer <int64> The timeout for the requests sent to the outbound endpoint. Mandatory. |
Create a new suggestion source
{- "$_type": "SuggestionSourceData",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "name": "test-suggestionSource-1",
- "description": null,
- "outboundApiVersion": "V3",
- "outboundStatus": "DISABLED",
- "outboundSecret": null,
- "outboundTimeoutMillis": 5000
}New suggestion source
{- "$_type": "SuggestionSourceData",
- "id": "eaaz3AiSRp6wIB2wGq6L0g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-suggestionSource-1",
- "description": null,
- "outboundApiVersion": "V3",
- "outboundStatus": "DISABLED",
- "outboundSecret": null,
- "outboundTimeoutMillis": 5000
}{- "$_type": "ChatSuggestionRequest",
- "accountId": "string",
- "serviceName": "string",
- "suggestionId": "string",
- "requestingPerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "conversation": {
- "$_type": "ConversationData",
- "creationTimestamp": 0,
- "endTimestamp": 0,
- "id": "string",
- "accountId": "string",
- "topic": "string",
- "scheduledTimestamp": 0,
- "recipient": {
- "$_type": "AccountData",
- "id": "string",
- "displayName": "string",
- "displayNameTranslations": {
- "property1": "string",
- "property2": "string"
}, - "avatar": "string"
}, - "participants": [
- {
- "$_type": "ParticipantData",
- "state": "CREATED",
- "personId": "string",
- "connectedViaExternalMessenger": true,
- "hidden": true,
- "conversationStarred": true
}
], - "assigneePersonId": "string",
- "contextPersonId": "string",
- "state": "CREATED",
- "initialEngagementType": "CHAT_REQUEST",
- "locale": "string",
- "tokboxSessionId": "string",
- "visitorData": "string",
- "conversationTemplateId": "string",
- "links": [
- {
- "$_type": "ConversationLink",
- "type": "ACCEPT_IN_AGENT_DESK",
- "url": "string"
}
], - "externalMessengerChannelId": "string",
- "sourceId": "string",
- "sourceUrl": "string",
- "endReason": "ENDED_BY_PARTICIPANT",
- "initialEngagementUrl": "string",
- "awaitedPersonType": "NONE",
- "awaitedPersonTypeChangeTimestamp": 0,
- "configuration": {
- "property1": "string",
- "property2": "string"
}, - "text": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "relatedMessages": [
- {
- "$_type": "ApprovalRequestMessageData",
- "id": "string",
- "conversationId": "string",
- "externalMessengerChannelId": "string",
- "accountId": "string",
- "senderPerson": {
- "$_type": "PersonData",
- "id": "string",
- "accountId": "string",
- "personSource": "USER_DB",
- "sourceId": "string",
- "sourceUrl": "string",
- "sourceData": "string",
- "firstName": "string",
- "lastName": "string",
- "username": "string",
- "nickname": "string",
- "displayName": "string",
- "personType": "AGENT",
- "authorizationRole": "SUPER_ADMIN",
- "email": "string",
- "phone": "string",
- "teamId": "string",
- "teamName": "string",
- "avatar": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "senderPersonPresenceId": "string",
- "serverTimestamp": 0,
- "sendTimestamp": 0,
- "type": "TEXT",
- "recipientPersonIds": [
- "string"
], - "fallbackText": "string",
- "actionId": "string",
- "sourceId": "string",
- "botThreadId": "string",
- "internal": true,
- "replyToMessageId": "string",
- "text": "string",
- "textType": "SIMPLE_TEXT",
- "options": [
- {
- "$_type": "MultichoiceQuestionOption",
- "label": "string",
- "value": "string",
- "primary": true
}
], - "answerStatus": "PENDING"
}
], - "capabilities": {
- "$_type": "ChatSuggestionRequestCapabilities",
- "markdownSupported": true,
- "maxCharsSupported": 0
}
}Deletes an existing suggestion source
| id | string The ID of the suggestion source which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Searches for an existing suggestion source with the given name.
| name | string Name of the suggestion source. |
Suggestion Source
{- "$_type": "SuggestionSourceData",
- "id": "eaaz3AiSRp6wIB2wGq6L0g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-suggestionSource-1",
- "description": null,
- "outboundApiVersion": "V3",
- "outboundStatus": "DISABLED",
- "outboundSecret": null,
- "outboundTimeoutMillis": 5000
}Emits a OutboundPingRequest on the endpoint of the suggestion source.
The endpoint is expected to return a OutboundPingResponse
| suggestionSourceId | string The ID of the suggestion source |
Send a ping request for the given suggestion source
{- "suggestionSourceId": "r1acbAidia_35-tB4o7FbWR"
}Ping response from the suggestion source
{- "$_type": "OutboundPingResponse",
- "pingId": "CD-Wj4RyTVOhx0oC_PCX_g"
}Reads an existing suggestion source.
| id | string The ID of the suggestion source. |
Suggestion Source
{- "$_type": "SuggestionSourceData",
- "id": "eaaz3AiSRp6wIB2wGq6L0g",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "name": "test-suggestionSource-1",
- "description": null,
- "outboundApiVersion": "V3",
- "outboundStatus": "DISABLED",
- "outboundSecret": null,
- "outboundTimeoutMillis": 5000
}Search for suggestion sources in the current account
| $_type | string Default: "SuggestionSourceQuery" Value: "SuggestionSourceQuery" |
Array of any (SuggestionSourceSearchFilter) [ items ] List of filters to narrow the search of entities | |
Array of objects (SuggestionSourceOrderBy) [ items ] List of criteria to order the search result list | |
| offset | integer <int32> Offset position in the result set to start pagination |
| limit | integer <int32> Maximal amount of items returned |
{- "$_type": "SuggestionSourceQuery",
- "searchFilters": [
- {
- "$_type": "CreationTimestampSuggestionSourceSearchFilter",
- "field": "NAME",
- "operator": {
- "$_type": "EqualsTimestampOperator",
- "type": "EQUALS",
- "value": 0
}
}
], - "orderBy": [
- {
- "$_type": "SuggestionSourceOrderBy",
- "field": "ID",
- "order": "ASCENDING"
}
], - "offset": 0,
- "limit": 0
}{- "$_type": "SuggestionSourceResult",
- "hasMoreItems": true,
- "nextOffset": 0,
- "items": [
- {
- "$_type": "SuggestionSourceData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "outboundApiVersion": "V1",
- "outboundStatus": "ENABLED",
- "outboundEndpoint": "string",
- "outboundSecret": "string",
- "outboundTimeoutMillis": 0
}
]
}Updates an existing suggestion source.
| $_type | string Default: "SuggestionSourceData" Value: "SuggestionSourceData" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
| name | string Name of the message interceptor. Maximum length of 250 characters. Mandatory. |
| description | string Description of the message interceptor. Maximum length of 500 characters. Optional. |
| outboundApiVersion | string (EWebApiVersion) Enum: "V1" "V2" "V3" enum-descriptions: ["V1: Version 1 of the Web-API. Introduced with Unblu 4.x.","V2: Version 2 of the Web-API. Introduced with Unblu 5.","V3: Version 3 of the Web-API. Introduced with Unblu 6."] Version of the Web-API. Version of API corresponds to a path element of the request URL. E.g.: /rest/v3/<service>/... |
| outboundStatus | string (EOutboundEndpointStatus) Enum: "ENABLED" "DISABLED" enum-descriptions: ["ENABLED: The endpoint is enabled and calls are allowed.","DISABLED: The endpoint is disabled and calls should be avoided, since they won't work."] The status of an Outbound Web-API endpoint. |
| outboundEndpoint | string The endpoint url of the outbound registration. To this url the requests for the outbound requests are done. Maximum length of 4000 characters. The following requests will be sent to the endpoint:
|
| outboundSecret | string Optional secret which is send with each outbound request. Maximum length of 4000 characters. |
| outboundTimeoutMillis | integer <int64> The timeout for the requests sent to the outbound endpoint. Mandatory. |
{- "$_type": "SuggestionSourceData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "outboundApiVersion": "V1",
- "outboundStatus": "ENABLED",
- "outboundEndpoint": "string",
- "outboundSecret": "string",
- "outboundTimeoutMillis": 0
}{- "$_type": "SuggestionSourceData",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "name": "string",
- "description": "string",
- "outboundApiVersion": "V1",
- "outboundStatus": "ENABLED",
- "outboundEndpoint": "string",
- "outboundSecret": "string",
- "outboundTimeoutMillis": 0
}Service to manage all teams in the system. For each account there is always a default team, which users are assigned to, when no explicit team is set.
Creates the given entity in the system. The ID of the entity is ignored for create operations, a new one is generated.
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
The entity to create
| $_type | string Default: "Team" Value: "Team" |
| id | string Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway. |
| creationTimestamp | integer <int64> Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| modificationTimestamp | integer <int64> Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency. |
| version | integer <int64> Version of the entity. Will be incremented on each change. New updates must always be based on the newest version, if not updates will be rejected. When creating an object, the version can be omitted. |
| accountId | string ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID. |
string or Avatar (object) expand-query-key: avatar type: ExpandableField Avatar of the entity: id that can be expanded. | |
| name | string Name of the team. Maximum of 250 characters. Can not be omitted. |
| parentId | string Id of the parent team. Only the default team has no parent team. When creating a team and the parentId is omitted, the default team is automatically inserted by the server. |
| description | string Description of the team. Maximum of 500 characters. Can be omitted. |
| externallyManaged | boolean True if the team is externally managed and cannot be edited in the Unblu user interface. If omitted, the property is set to false. |
object A map of localized versions of the name and description of this entity | |
object expand-query-key: configuration type: Map The entity's configuration properties. Only contains values when the 'expand' query parameter is used with the value 'configuration'. Not filled in webhook events. | |
object expand-query-key: metadata type: Map The entity's metadata properties. Only contains values when the 'expand' query parameter is used with the value 'metadata'. Not filled in webhook events. |
Create a Team with translations of the name and description for it
{- "$_type": "Team",
- "id": null,
- "creationTimestamp": null,
- "modificationTimestamp": null,
- "version": null,
- "accountId": null,
- "avatar": null,
- "name": "with-translations-test",
- "parentId": null,
- "description": "The team",
- "externallyManaged": null,
- "translations": {
- "de": {
- "$_type": "TeamTranslation",
- "id": null,
- "name": "Kreditanstalt",
- "description": "Bieten kurzfristige Darlehen"
}, - "en": {
- "$_type": "TeamTranslation",
- "id": null,
- "name": "Loan bank",
- "description": "Offering short term loans"
}
}, - "configuration": null,
- "metadata": null
}Create a Team with translations of the name and description for it
{- "$_type": "Team",
- "id": "14F-6aDC8e5_cmT3bAa9Bd0",
- "creationTimestamp": 1546300800000,
- "modificationTimestamp": 1548979200000,
- "version": 1,
- "accountId": "A7d9E_0-c3cC4aoFDb85t6n",
- "avatar": null,
- "name": "with-translations-test",
- "parentId": "JZh4ADRnEeasYZ5xEoyudw",
- "description": "The team",
- "externallyManaged": false,
- "translations": {
- "de": {
- "$_type": "TeamTranslation",
- "id": "1Dp8LySWTLqVgVxwKWxupw",
- "name": "Kreditanstalt",
- "description": "Bieten kurzfristige Darlehen"
}, - "en": {
- "$_type": "TeamTranslation",
- "id": "1Dp8LySWTLqVgVxwKWxupw",
- "name": "Loan bank",
- "description": "Offering short term loans"
}
}, - "configuration": null,
- "metadata": null
}Deletes the entity for the given ID
| id | string The ID of the entity which should be deleted |
{- "$_type": "Error",
- "statusCode": 0,
- "statusDescription": "string",
- "errorMessage": "string"
}Returns a list of teams, which directly belong to the given parent team.
| parentId | string The ID of the parent for which the direct child teams should be returned |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
[- {
- "$_type": "Team",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "name": "string",
- "parentId": "string",
- "description": "string",
- "externallyManaged": true,
- "translations": {
- "property1": {
- "$_type": "TeamTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "TeamTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}
}, - "configuration": {
- "property1": "string",
- "property2": "string"
}, - "metadata": {
- "property1": "string",
- "property2": "string"
}
}
]Returns a list of teams ids, which recursively belong to the given parent team. So child teams of a child team are also listed
| teamId | string The ID of the parent team for which the child teams should be returned recursively |
[- "string"
]Returns a list of teams, which recursively belong to the given parent team. So child teams of a child team are also listed
| teamId | string The ID of the parent team for which the child teams should be returned recursively |
| expand | Array of strings (ExpandFields) Items Enum: "actionIcon" "avatar" "billingAddress" "channelIcon" "configuration" "contactAddress" "metadata" "text" |
[- {
- "$_type": "Team",
- "id": "string",
- "creationTimestamp": 0,
- "modificationTimestamp": 0,
- "version": 0,
- "accountId": "string",
- "avatar": "string",
- "name": "string",
- "parentId": "string",
- "description": "string",
- "externallyManaged": true,
- "translations": {
- "property1": {
- "$_type": "TeamTranslation",
- "id": "string",
- "name": "string",
- "description": "string"
}, - "property2": {
- "$_type": "TeamTranslation",