ExternalMessaging

ExternalMessaging allows a flow to communicate with an external system via a predefined named channel.

The platform will provide an instance of ExternalMessaging to flows via property injection.

A Flow can send use this API to send messages to any external channel that has been defined as part of the CorDapp ({@see Defining External Messaging Channels}).

Example usage:

  • Kotlin:
    
    class MyFlow : ClientStartableFlow {
       
       lateinit var externalMessaging: ExternalMessaging
    
       override fun call(requestBody: RestRequestBody): String {
           val myChannelName = "my channel"
    
           // Send a simple message to my channel
           externalMessaging.send(myChannelName, "hello")
    
           // Send a simple message with an ID to my channel
           externalMessaging.send(myChannelName,"id-1", "hello")
    
           return ""
       }
     }
    
  • Java:
    
    class MyFlow implements ClientStartableFlow {
    
       
       public ExternalMessaging externalMessaging;
    
       
       public String call(RestRequestBody requestBody) {
           String myChannelName = "my channel";
    
           // Send a simple message to my channel
           externalMessaging.send(myChannelName, "hello");
    
           // Send a simple message with an ID to my channel
           externalMessaging.send(myChannelName,"id-1", "hello");
    
           return "";
       }
    }
    

Functions

Link copied to clipboard
@Suspendable
abstract fun send(@NotNull channelName: String, @NotNull message: String)
Sends a message through a named channel.
@Suspendable
abstract fun send(@NotNull channelName: String, @NotNull messageId: String, @NotNull message: String)
Sends a message with identifier through a named channel.