Basic Messages
Send and receive messages over DIDComm connection
A BasicMessage
is an arbitrary textual message sent over DIDComm connection. It allows for basic communications between the cloud agent and an established connection.
Send a basic message to a connection
The cloud agent creates a new BasicMessage
and sends the message to the specified connection.
mutation MyMutation {
sendBasicMessage(
connectionId: "001fe530-3562-41d6-a631-3df9c7ae1f38"
content: "Hi Bob. I've sent you your updated credential offer. If you don't accept it within the next week, I'll have to withdraw the offer. Please let me know if you changed your mind. Thanks"
) {
id
content
timestamp
direction
}
}
Broadcast a basic message to multiple connections
The cloud agent sends a message to an array of connections. This operation creates multiple BasicMessage
(s) with identical content
, one for each specified connection. The operation returns an array of connectionIds
to whom the message was successfully sent.
mutation MyMutation {
broadcastBasicMessage(
connectionIds: ["001fe530-3562-41d6-a631-3df9c7ae1f38", "01560d79-712a-42d5-91f6-8ded03c7e549"]
content: "An upgraded version of your credential is now available. See website for details."
) {
connectionIds
}
}
View basic messages for a connection
View basic messages, with pagination and a required connectionId
filter. Returns a nextToken
which can be passed into the same query in order to fetch subsequent pages.
query MyQuery {
basicMessages(
page: {
nextToken: null
}
filter: {
connectionId: "001fe530-3562-41d6-a631-3df9c7ae1f38"
}
) {
items {
id
content
timestamp
direction
}
nextToken
}
}
Alternatively, when querying a Connection
, it is possible to fetch basic messages associated with that connection. The following query fetches a page of connections who have basic messages associated with them, and returns the latest basic message for each of those connections.
query MyQuery {
connections(
page: {
nextToken: null
}
filter: {
hasBasicMessages: true
}
) {
items {
id
alias
basicMessages(page: {
limit: 1
nextToken: null
}) {
items {
id
content
timestamp
direction
}
nextToken
}
}
nextToken
}
}
Delete basic messages
Delete multiple basic messages. The operation returns an array of messageIds
which were successfully deleted.
mutation MyMutation {
deleteBasicMessages(
messageIds: ["ebf7dbd4-38e0-4109-ad44-aa0c06a4a8c7", "f133e282-8817-4959-ac16-39cba8954b4e"]
) {
messageIds
}
}
Alternatively, delete all basic messages for a specified connection.
mutation MyMutation {
deleteBasicMessagesForConnection(
connectionId: "001fe530-3562-41d6-a631-3df9c7ae1f38"
)
}
Last updated