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