v2.1 of the FDC3 standard, consisting of:
Release highlights
Agent Bridging
- A new 5th Part to the FDC3 Standard that provides a wire protocol that allows Desktop Agents to collaborate via a 'Bridge', enabling interop for apps managed by those Desktop Agents to span across them and across different devices, for the same user.
API
- Added
MalformedContext
errors to be returned when something other than a context is passed to an FDC3 function. - Added a recommendation that apps add their context or intent listeners via the API within 15 seconds of launch, and that Desktop Agents MUST allow at least a 15 second timeout for them to do so.
- Deprecated the
IntentMetadata.displayName
field in favor of using intent names for display (which are required to be recognizable) as it can be set differently for each application in the appD. - Clarified description of the behavior of
IntentResolution.getResult()
when the intent handler returned void (which is not an error).
App Directory
- OpenAPI spec converted from YAML to JSON Schema.
- Added error examples to the OpenAPI spec.
- Corrected the appD
interop.appChannels
metadata to use anid
field to identify channels, rather thanname
. - Deprecated the
name
field in AppD records, to match the deprecation of API signatures and metadata objects usingname
. - Deprecated
interop.intents.listensFor[].displayName
field in favor of using intent names for display (which are required to be recognizable) as it can be set differently for each application in the appD. - Deprecated the
customConfig
field in an AppD record due to the lack of a standard API to retrieve it. To be replaced with anapplicationConfig
element with a Desktop Agent API call to retrieve it in a future version (see #1006 for more details). - Deprecated the
customConfig
element of an Intent configuration due to a lack of documented use cases. - Corrected bad example URLs in the App Directory overview/discovery page in the current and past versions as they did not agree with the paths provided in the API specification and OpenAPI schema.
Context Data
- Added a description of the standards use of JSON Schema to define context types and Bridging messages.
- Docs for standardized Context types was added to their JSON Schema files and TypeScript interfaces generated from them, so that they may act as a 'single source of truth' for Context definitions.
- Updated definition of the
fdc3.instrument
context type to include optional market identifiers - New context types added:
fdc3.action
- context type representing an action (an FDC3 intent and context) that might be performed - to be attached to messages or other objects.fdc3.chat.message
- context type representing a chat message with addressing details.fdc3.chat.room
- context type representing a chat room.fdc3.chat.searchCriteria
- context type representing a search for chat messages.fdc3.message
- context type representing the content of a message to send (usually a chat message) - now used as part offdc3.chat.initSettings
.fdc3.transactionResult
- A context type representing the result of a transaction initiated via FDC3.- Added @experimental
fdc3.order
,fdc3.orderList
,fdc3.product
,fdc3.trade
&fdc3.tradeList
context types.
Intents
CreateInteraction
- To be used when a user wants to record an interaction into a CRM.ViewChat
- to be used when a user wants to open an existing chat room.ViewMessages
- to be used when a user wants to search and see a list of messages.StartChat
- Updated to recommend that a reference to the chat room is returned as anIntentResult
See the CHANGELOG.md for full details.