Skip to main content
Version: 2.1

getAppMetadata

Desktop Agent bridging message exchange for a getAppMetadata API call on the DesktopAgent. Generated by API calls:

Message Exchange Type: Request Response (single)

E.g.

let appIdentifier = { appId: "myApp@my.appd.com", desktopAgent: "agent-B" }
let appMetadata = await fdc3.getAppMetadata(appIdentifier);
info

fdc3.getAppMetadata calls should only involve the Desktop Agent Bridge where a desktopAgent field appears in the AppIdentifier being queried, all other calls should be handled locally by the Desktop Agent. Hence, the payload.app.desktopAgent is required on all requests.

Message exchange​

Request format​

Request message schemas​

Example​

Outward message to the bridge:

// agent-A -> DAB
{
"type": "getAppMetadataRequest",
"payload": {
"app": {
{ "appId": "myApp@my.appd.com", "desktopAgent": "agent-B" }
}
},
"meta": {
"requestUuid": "<requestUuid>",
"timestamp": "2020-03-...",
"source": {
"appId": "AChatApp",
"instanceId": "02e575aa-4c3a-4b66-acad-155073be21f6"
}
}
}

which is repeated on to the target agent as:

// DAB -> agent-B
{
"type": "getAppMetadataRequest",
"payload": {
"app": {
{ "appId": "myApp@my.appd.com", "desktopAgent": "agent-B" }
}
},
"meta": {
"requestUuid": "<requestUuid>",
"timestamp": "2020-03-...",
"source": {
"appId": "AChatApp",
"instanceId": "02e575aa-4c3a-4b66-acad-155073be21f6",
"desktopAgent": "agent-A" //added by DAB
}
}
}

Response format​

Response message schemas​

Example​

Response message from a Desktop Agent:

// agent-B -> DAB
{
"type": "getAppMetadataResponse",
"payload": {
"appMetadata": {
"appId": "myApp@my.appd.com",
"name": "myApp",
"version": "1.0",
"title": "My example application",
"tooltip": " A tooltip for the application that can be used to render UI elements.",
"description": "A longer, multi-paragraph description for the application that could include mark-up.",
"icons": [..],
"screenshots": [...]
}
},
"meta": {
"requestUuid": "<requestUuid>",
"responseUuid": "<responseUuidAgentB>",
"timestamp": "2020-03-...",
}
}

The bridge receives the response, augments the appMetadata with a desktopAgent field, producing the following response which it sends back to agent-A:

// DAB -> agent-A
{
"type": "getAppMetadataResponse",
"payload": {
"appMetadata": {
"appId": "myApp@my.appd.com",
"name": "myApp",
"version": "1.0",
"title": "My example application",
"tooltip": " A tooltip for the application that can be used to render UI elements.",
"description": "A longer, multi-paragraph description for the application that could include mark-up.",
"icons": [..],
"screenshots": [...],
"desktopAgent": "agent-B" //added by DAB
}
},
"meta": {
"requestUuid": "<requestUuid>",
"responseUuid": "<responseUuidAgentB>",
"timestamp": "2020-03-...",
"sources": [{ "desktopAgent": "agent-B" }]
}
}