prod - 20261013-083619 - cb7f8b630deb7a27a85ea2f9e79ca9d2dcc1341f

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 v2 in the API URL to v3.
    • 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.default property has been removed from ServiceAttach messages. In practice this setting was never used and used to always return "text".
    • The entry.options.text property has been removed from ServiceAttach messages. As all messages (where a user response is expected) now explicitly have an entry set, there's no need anymore for these defaults. Notice that entry.options.upload still exists to always allow uploads instead of a textual input (in case enabled is set to true).

    For a complete set of updated documentation and API specifications have a look at https://developers.seamly.ai/server/apis/channel/index.html.

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 v1 in the API URL to v2.
    • Update the OpenApi and AsyncApi specifications to their latest versions if you keep a local copy.
    • The Context message of the Async API now supports "contentLocale" and "userLocale" to set or switch the locales.
    • The Action message "set_translation" has been removed in favor of using the Context message from the previous item.
    • The section translation in ConversationResponse has been removed in favor of a context section with details about the conversation's context (such as the current content locale and the user locale).
    • The deprecated value features.sendTranscript.period has been removed from the getAccountConfig response.
    • The value defaultLocale has been renamed to defaultUserLocale in the getAccountConfig response.

    A few other changes and additions have been made as well. You can find them in the Channel API release notes.

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 propertytransactionId toActionBodyCustomFaqClick in the Channel API

Release 20240705-1

Channel API

New

  • Add propertydefaultContentLocale to thegetAccountConfig response

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 getAccountConfig operation 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 locale and an optional translationLocale; the locale used 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 optional translationLocale can 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 a translationLocale was 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 old locale. It indicates the requested locale of the services Seamly communicates with; so the language of the bot or the agent(s). Besides that locale the translationLocale is replaced by a userLocale; 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 the contentLocale and the userLocale end up differently, Seamly will automatically translate messages.

    To sum up the changes that should be made when upgrading to the new v2:

    • Change v1 in the API URL to v2.
    • When calling the getAccountConfig operation on the REST Api the properties "contentLocale" and "userLocale" are now required in the "context" object of the POST body.
    • The Context message of the Async API now support "contentLocale" and "userLocale" to set or switch the locales.
    • The Action message "set_translation" has been removed in favor of using the Context message from the previous bullet.
    • The section translation in ConversationResponse has been removed in favor of a context section with details about the conversation's context (such as the current content locale and the user locale).
    • The deprecated value features.sendTranscript.period has been removed from the getAccountConfig response.
    • The value defaultLocale has been renamed to defaultUserLocale in the getAccountConfig response.

    For a complete set of updated documentation and API specifications have a look at https://developers.seamly.ai/server/apis/channel/index.html.

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 translatedBody and translatedIntroduction as 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. The translatedBody and translatedIntroduction properties will now only contain the translated body or introduction and will have the same structure as body or introduction. A translation property has been added with meta information about the translation. In case you did not use the translation feature, the translatedBody and translatedIntroduction properties were already null, and you will only notice a new translation property (also with a null value).

    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_attach message (for the Channel API) and the service_changed message (for the Web API), a new property proactiveMessages is 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.