Skip to content

FDC3 Standard 2.1

Latest
Compare
Choose a tag to compare
@kriswest kriswest released this 14 Sep 14:09
8351ead

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 an id field to identify channels, rather than name.
  • Deprecated the name field in AppD records, to match the deprecation of API signatures and metadata objects using name.
  • 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 an applicationConfig 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 of fdc3.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 an IntentResult

See the CHANGELOG.md for full details.