Contact usRequest a demo

This document describes version 6 of Unblu. If you’re using the latest major version of Unblu, go to the documentation of the latest version.

The support period for version 6 ended on 29 August 2023. We no longer provide support or updates for this version. You should upgrade to the latest version of Unblu.

Migrating from Unblu 5 to Unblu 6

In addition to the new features introduced with Unblu 6, there are several changes that you need to be aware of when migrating from Unblu 5 to Unblu 6.

Changes to the conversation model

New engagement type

The screen-sharing feature has introduced new engagement types: SCREEN_SHARING_REQUEST, SCREEN_SHARING_PIN, SCREEN_SHARING_INVITE. New default templates for those engagement types are created if the screen-sharing feature is activated.

New conversation states

In order to cover the new life cycle cases, new states are introduced for conversations:

  • QUEUED: Depending of the engagement type of the conversation, the conversation is put in the queued state when it is inside the queue.

  • 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.

  • 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.

Locale of a conversation

With Unblu 5 the locale of a conversation was managed with a configuration setting at conversation level.

Now the locale is part of the conversation model.

For conversation created with the Web-API it is possible to set the locale directly in the request-body when a conversation is created. It can also later be changed with the Web-API call:

GET <prefix>/rest/v3/conversations/<conversationId>/setLocale?locale=<string>

Participants

For the "hidden participant" and the "external messenger" features, additional attributes were added to the ParticipantData:

  • hidden : <boolean>

  • connectedViaExternalMessenger : <boolean>

When you are creating conversation with the Web-API or adding a participant with the Web-API you can set the new attributes.

Web API

The current version with Unblu 6 is the Web API version v3. The older version (v1 and v2) are kept for backward-compatibility reasons, but they will be removed with a future major version (i.e. Unblu 7).

Renaming

In order to make our API more consistent we have changed the name of some endpoints.

If you would like to fetch an entity by its id, you can call the read or the readMultiple endpoint (was called getByIds with v2).

When a method is returning exactly one entity, it starts with get (like getByName, getDefaultTemplateByEngagementType, getByKey…)

All the remaining find methods are replaced by search. Likewise the getAll methods are no longer necessary, because they are the same than search without any filters.

Mapping table:

Web-API v2 Web-API v3

/rest/v2/accounts/findByName

/rest/v3/accounts/getByName

/rest/v2/accounts/getAll

/rest/v3/accounts/search

/rest/v2/accounts/getByIds

/rest/v3/accounts/readMultiple

/rest/v2/addresses/getAll

/rest/v3/addresses/search

/rest/v2/addresses/getByIds

/rest/v3/addresses/readMultiple

/rest/v2/apikeys/getAll

/rest/v3/apikeys/search

/rest/v2/apikeys/getByIds

/rest/v3/apikeys/readMultiple

/rest/v2/authenticator/setDefaultLanguage

/rest/v3/authenticator/setDefaultLocale

/rest/v2/cannedresponses/findByKey

/rest/v3/cannedresponses/search with filters

/rest/v2/cannedresponses/findByTeamId

/rest/v3/cannedresponses/search with filters

/rest/v2/cannedresponses/getAll

/rest/v3/cannedresponses/search

/rest/v2/cannedresponses/getByIds

/rest/v3/cannedresponses/readMultiple

/rest/v2/cannedresponses/getByOwnerTypeAndId

/rest/v3/cannedresponses/search with filters

/rest/v2/contacts/findByContactType

/rest/v3/contacts/search with filters

/rest/v2/contacts/getAll

/rest/v3/contacts/search

/rest/v2/contacts/getByIds

/rest/v3/contacts/readMultiple

/rest/v2/conversationhistory/findAllBy

/rest/v3/conversationhistory/search with filters

/rest/v2/conversationhistory/getMessageLog

/rest/v3/conversationhistory/:conversationId/searchMessages

/rest/v2/conversations/findByParticipant

/rest/v3/conversations/search with filters

/rest/v2/conversations/getAll

/rest/v3/conversations/search

/rest/v2/conversations/:conversationId/configure

/rest/v3/conversations/:conversationId/updateConfiguration

/rest/v2/conversations/:conversationId/configureText

/rest/v3/conversations/:conversationId/updateText

/rest/v2/conversations/:conversationId/removeParticipant

/rest/v3/conversations/:conversationId/offboardParticipant

/rest/v2/conversationtemplates/getAll

/rest/v3/conversationtemplates/search

/rest/v2/conversationtemplates/getByIds

/rest/v3/conversationtemplates/readMultiple

/rest/v2/domains/getAll

/rest/v3/domains/search

/rest/v2/domains/getByIds

/rest/v3/domains/readMultiple

/rest/v2/namedareas/getAll

/rest/v3/namedareas/search

/rest/v2/namedareas/getByIds

/rest/v3/namedareas/readMultiple

/rest/v2/persons/findBySource

/rest/v3/persons/getBySource

/rest/v2/persons/getAllAgents

/rest/v3/persons/search with filters

/rest/v2/teams/getAll

/rest/v3/teams/search

/rest/v2/teams/getByIds

/rest/v3/teams/readMultiple

/rest/v2/users/findByTeamId

/rest/v3/users/search with filters

/rest/v2/users/findByUsername

/rest/v3/users/getByUsername

/rest/v2/users/getAll

/rest/v3/users/search

/rest/v2/users/getByIds

/rest/v3/users/readMultiple

/rest/v2/webhookcalllogs/getAll

/rest/v3/webhookcalllogs/search

/rest/v2/webhookcalllogs/getByIds

/rest/v3/webhookcalllogs/readMultiple

/rest/v2/webhookcalllogs/getCallLogForWebhookRegistration/:registrationId

/rest/v3/webhookcalllogs/search with filters

/rest/v2/webhookregistrations/getAll

/rest/v3/webhookregistrations/search

/rest/v2/webhookregistrations/getByEventName

/rest/v3/webhookregistrations/search with filters

/rest/v2/webhookregistrations/getByIds

/rest/v3/webhookregistrations/readMultiple

At object level, we have also changed the following two attributes:

Web-API v2 Web-API v3

dateCreated

creationTimestamp

dateModified

modificationTimestamp

Configuration and text properties

As with every major version of Unblu, there are several changes to the configuration and text property schema.

Some keys were removed because they are no longer used. The possible values for some keys have changed (to reflect the changes made with Unblu 6). Some keys were renamed to be more consistent or easier to understand.

Please refer to the migration tool in the global configuration page to migrate your existing configuration files.