Release notes
Release 20260707-162713
Channel API
Removal
-
Remove support for v1 of the Channel API
Release 20260512-070929
Channel API
New
-
Add new context endpoint to Channel API v3 to set variables in the conversation's context
This allows you to set variables in the conversation's context outside of an active chat window. More information about this feature can be found on the Features page of the Channel API docs.
Release 20260106-125234
Channel API
Changes
-
Return an error message over the Channel API when we receive multiple attach_channel requests
Release 20250805-082150
Channel API
New
-
Allow timeout of Authenticated Conversations API call to be increased
-
Introduce Channel API v3 beta
A new Channel API version (v3) is introduced changing the way entry types are exposed. Whereas v1 and v2 limited the entry types to the text and upload entry, the new version exposes the entry types as they exist in Seamly. Version 3 is a beta release and may change until it is finalized.
Additionally, all messages received from the service will now have an entry set. So there's no need anymore to fallback to or use the service's default entry settings.
To sum up the changes that should be made when upgrading to the new v3:
- Change
v2in the API URL tov3. - Optionally handle the new entry types that may be assigned to messages. Either way make sure to account for, and not crash on, any additional entry types that may be added to v3 later on.
- The
entry.defaultproperty has been removed fromServiceAttachmessages. In practice this setting was never used and used to always return "text". - The
entry.options.textproperty has been removed fromServiceAttachmessages. As all messages (where a user response is expected) now explicitly have an entry set, there's no need anymore for these defaults. Notice thatentry.options.uploadstill exists to always allow uploads instead of a textual input (in caseenabledis set totrue).
For a complete set of updated documentation and API specifications have a look at https://developers.seamly.ai/server/apis/channel/index.html.
- Change
Release 20250114-083203
Channel API
Changes
-
Channel API version 2 is now released
Channel API version 2 has been finalized and is no longer in beta.
This also marks version 1 as deprecated. Please upgrade before January 15th 2026!
A beta of the Channel API version 2 had been released with release 20240229-1 and has since received several new features. In the release notes of release 20240229-1 more details can be found regarding the most important changes, which are mostly related to translations. If you currently do not make use of this feature, upgrading should be fairly straightforward.
The following changes should be made when upgrading to version 2:
- Change
v1in the API URL tov2. - Update the OpenApi and AsyncApi specifications to their latest versions if you keep a local copy.
- The
Contextmessage of the Async API now supports"contentLocale"and"userLocale"to set or switch the locales. - The
Actionmessage"set_translation"has been removed in favor of using theContextmessage from the previous item. - The section
translationinConversationResponsehas been removed in favor of acontextsection with details about the conversation's context (such as the current content locale and the user locale). - The deprecated value
features.sendTranscript.periodhas been removed from thegetAccountConfigresponse. - The value
defaultLocalehas been renamed todefaultUserLocalein thegetAccountConfigresponse.
A few other changes and additions have been made as well. You can find them in the Channel API release notes.
- Change
Release 20241125-154931
Channel API
New
-
Allow agents to send files to users
This change adds a secure way for agents to send files to the user. Seamly downloads the file uploaded by the agent and allows the user to download it directly in the conversation. The files can only be downloaded by clients using Channel API v2 or higher.
Release 20240930-101741
Channel API
Fixes
-
Fix an error resuming a hibernated conversation when using the Channel API
When a conversation with a certain external ID was already running and a client using the Channel API would try to connect to that conversation, it sometimes failed. It turned out that when the conversation runs on one node and the request is sent to a second node, an error was encountered. This change fixes that problem.
Release 20240924-123801
Channel API
New
-
Expose current conversation status in conversation endpoints of the Channel API
Release 20240904-173208
Channel API
New
-
Add missing property
transactionIdtoActionBodyCustomFaqClickin the Channel API
Release 20240705-1
Channel API
New
-
Add property
defaultContentLocaleto thegetAccountConfigresponse
Release 20240617-1
Channel API
Changes
-
Allow suggestion / FAQ ID to be either a string or integer in the action body
Release 20240522-1
Channel API
Changes
-
No longer require a content- and user locale in the configs endpoint of Channel API v2 beta
When calling the
getAccountConfigoperation on the REST Api the properties"contentLocale"and"userLocale"are no longer required in the"context"object of the POST body. This allows clients to make use of the default content locale that is configured in the account.
Fixes
-
Fix an issue where agents were not notified when users started / cancelled uploading when using the Channel API
Release 20240229-1
Channel API
New
-
Add union entry type
This change adds a new entry type that allows for specifying multiple expected entry types simultaneously, which are then checked sequentially. The first matching entry output is returned.
Changes
-
Introduce Channel API v2 beta
A new Channel API version (v2) is introduced changing the way translation is handled. This version is a beta release and may change until it is finalized.
In v1 there's a
localeand an optionaltranslationLocale; thelocaleused to indicate the requested language of the conversation (meaning the locale the user interface is present in and the language the user and the bot/agent speak in). However when the user wants to talk in a different language an optionaltranslationLocalecan be set. This can be preset programmatically by the web/app client implementing the Channel API and/or it can be set and changed by the user by selecting a different language. Whenever atranslationLocalewas set the interface changed to that language and sentences from and to Seamly were automatically translated to enable the user to completely talk in his preferred language.Channel API version 2 changes this concept to be more explicit about what languages to work with and as a result be less explicit about translating. We've introduced a
contentLocale, which is effectively the oldlocale. It indicates the requested locale of the services Seamly communicates with; so the language of the bot or the agent(s). Besides that locale thetranslationLocaleis replaced by auserLocale; indicating the locale the user wants to communicate in (so both the user interface labels and the text inputted and shown in the conversation should be presented in that language). The user can no longer explicitly start translating. Now he just indicates his preferred locale. In case thecontentLocaleand theuserLocaleend up differently, Seamly will automatically translate messages.To sum up the changes that should be made when upgrading to the new v2:
- Change
v1in the API URL tov2. - When calling the
getAccountConfigoperation on the REST Api the properties"contentLocale"and"userLocale"are now required in the"context"object of the POST body. - The
Contextmessage of the Async API now support"contentLocale"and"userLocale"to set or switch the locales. - The
Actionmessage"set_translation"has been removed in favor of using the Context message from the previous bullet. - The section
translationinConversationResponsehas been removed in favor of acontextsection with details about the conversation's context (such as the current content locale and the user locale). - The deprecated value
features.sendTranscript.periodhas been removed from thegetAccountConfigresponse. - The value
defaultLocalehas been renamed todefaultUserLocalein thegetAccountConfigresponse.
For a complete set of updated documentation and API specifications have a look at https://developers.seamly.ai/server/apis/channel/index.html.
- Change
Release 20230704-1
Channel API
Changes
-
Conversation identifiers now use ULIDs instead of UUIDs
Release 20230605-1
Channel API
Fixes
-
Fix missing conversation locale in the list of available languages
Release 20230417-1
Channel API
New
-
Compress API responses and websocket messages
-
Add proactiveMessages service setting to Api response
This change adds the proactiveMessages service setting to the Api responses (history endpoint of the Web Channel and the conversation endpoint of the Channel Api). It used to be only available in the message sent over the websocket when a service attaches. The proactiveMessages setting indicates whether the service is able to initiate messages itself rather than just responding to user input. Requires Web-UI version > 22.0.
-
Add support for authenticated conversation flows
Add the concept of authenticated conversations. A conversation is authenticated either when it is started via an already authenticated channel (like CM Business Messaging), or when the user is authenticated by the customer's Conversation Authentication Api. In the latter case the client passes a token to Seamly, which is passed to the Conversation Authentication Api of our customer. The Api is able to provide an external ID and/or context variables. This replaces the insecure way an external ID is currently passed, and it replaces transactional flows that only authenticate the user. Requires Web-UI version > 22.0.
-
Allow setting of custom label, limit and placeholder text
Allow services (AzureDirectLine, DCX, InbentaChatbot and Transactional) to set a custom label, limit and placeholder texts at/in the input field of the client. Requires Web-UI version > 22.0.
Changes
-
Restructure translated messages as sent to clients
The properties
translatedBodyandtranslatedIntroductionas used in various messages used to contain both information about how the message was translated as well as the translated body (or introduction) itself. This has now been split up. ThetranslatedBodyandtranslatedIntroductionproperties will now only contain the translated body or introduction and will have the same structure asbodyorintroduction. Atranslationproperty has been added with meta information about the translation. In case you did not use the translation feature, thetranslatedBodyandtranslatedIntroductionproperties were alreadynull, and you will only notice a newtranslationproperty (also with anullvalue).The new structure has been implemented in the current version of the Channel API, and in a new version of the Web API (v3).
Release 20230130-1
Channel API
Fixes
-
Fix DCX to properly remove the loading indicator once the reply is shown
Release 20230127-1
Channel API
New
-
Send message over websocket when the IdleDetachCountdown timer was cancelled
In case the conversation gets interactive again and the IdleDetachCountdown timer is cancelled we now send a new IdleDetachCountdownCancelled message to the client.
-
Expose whether the client may push web notifications to the user
A new feature flag is added to indicate whether web notifications may be supported by the client.
-
Expose whether a service can proactively send messages to clients
Along with service settings in the
service_attachmessage (for the Channel API) and theservice_changedmessage (for the Web API), a new propertyproactiveMessagesis added to indicate whether the service is able to initiate messages itself rather than just responding to user input. -
Add rate limiting to conversation messages
The websocket is now rate limited per conversation. In case more than 300 messages are sent over the websocket in a 60 seconds window any additional messages are blocked for 24 hours, effectively rendering the conversation useless. The rate limit is in place to prevent abuse and prevent broken clients to DOS our systems. It should never effect legitimate conversations.
Fixes
-
Don't emit a loading indicator when user input is empty and ignored
A loading indicator is emitted from CreativeVirtual, DCX, ObiBots and Rasa when a message from the user is received. This makes sense in case the input is passed on to the bot service, as it'll indicate the bot is 'typing' and a response will be sent soon. However, in case an empty input is sent, the input is simply ignored. In this case no loading indicator should be sent out.
-
Correct error message in attach_channel of the Channel API when the conversation is gone
In case the attach_channel message was sent over the websocket when the conversation was already destroyed, the error message would state the access token is invalid. Corrected the message to indicate the conversation no longer exists.
-
Fix escaping of ampersands in markdown rendering
Ampersands used in personalisation variables would be rendered as & in the client. A fix is applied to properly render it as &.
Release 20221116-1
Channel API
Fixes
-
Improve OpenAPI specs and documentation for Channel API accessToken usage
Clarify that the
Authorization: Bearer <accessToken>header must be present on all requests concerning a running conversation.