Share via


ConversationThreadClient.SendMessageAsync Method

Definition

Overloads

SendMessageAsync(String, SendConversationMessageOptions, CancellationToken)

Sends a conversation message from Business to User.

SendMessageAsync(String, RequestContent, RequestContext)

[Protocol Method] Sends a conversation message from Business to User.

SendMessageAsync(String, SendConversationMessageOptions, CancellationToken)

Source:
ConversationThreadClient.cs

Sends a conversation message from Business to User.

public virtual System.Threading.Tasks.Task<Azure.Response<Azure.Communication.Messages.SendConversationMessageResult>> SendMessageAsync(string conversationId, Azure.Communication.Messages.SendConversationMessageOptions options, System.Threading.CancellationToken cancellationToken = default);
abstract member SendMessageAsync : string * Azure.Communication.Messages.SendConversationMessageOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.Communication.Messages.SendConversationMessageResult>>
override this.SendMessageAsync : string * Azure.Communication.Messages.SendConversationMessageOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.Communication.Messages.SendConversationMessageResult>>
Public Overridable Function SendMessageAsync (conversationId As String, options As SendConversationMessageOptions, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response(Of SendConversationMessageResult))

Parameters

conversationId
String

The conversation ID.

options
SendConversationMessageOptions

Details of the conversation message to send.

cancellationToken
CancellationToken

The cancellation token to use.

Returns

Exceptions

conversationId or options is null.

conversationId is an empty string, and was expected to be non-empty.

Examples

This sample shows how to call SendMessageAsync.

Uri endpoint = new Uri("<endpoint>");
TokenCredential credential = new DefaultAzureCredential();
ConversationThreadClient client = new ConversationThreadClient(endpoint, credential);

SendConversationMessageOptions options = new SendConversationMessageOptions(new TextConversationMessageContent("<content>"));
Response<SendConversationMessageResult> response = await client.SendMessageAsync("<conversationId>", options);

This sample shows how to call SendMessageAsync with all parameters.

Uri endpoint = new Uri("<endpoint>");
TokenCredential credential = new DefaultAzureCredential();
ConversationThreadClient client = new ConversationThreadClient(endpoint, credential);

SendConversationMessageOptions options = new SendConversationMessageOptions(new TextConversationMessageContent("<content>"))
{
    OutboundDeliveryStrategy = OutboundDeliveryStrategyKind.InternalOnly,
};
Response<SendConversationMessageResult> response = await client.SendMessageAsync("<conversationId>", options);

Applies to

SendMessageAsync(String, RequestContent, RequestContext)

Source:
ConversationThreadClient.cs

[Protocol Method] Sends a conversation message from Business to User.

public virtual System.Threading.Tasks.Task<Azure.Response> SendMessageAsync(string conversationId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member SendMessageAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.SendMessageAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function SendMessageAsync (conversationId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)

Parameters

conversationId
String

The conversation ID.

content
RequestContent

The content to send as the body of the request.

context
RequestContext

The request context, which can override default behaviors of the client pipeline on a per-call basis.

Returns

The response returned from the service.

Exceptions

conversationId or content is null.

conversationId is an empty string, and was expected to be non-empty.

Service returned a non-success status code.

Examples

This sample shows how to call SendMessageAsync and parse the result.

Uri endpoint = new Uri("<endpoint>");
TokenCredential credential = new DefaultAzureCredential();
ConversationThreadClient client = new ConversationThreadClient(endpoint, credential);

using RequestContent content = RequestContent.Create(new
{
    request = new
    {
        kind = "text",
        content = "<content>",
    },
});
Response response = await client.SendMessageAsync("<conversationId>", content);

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("messageId").ToString());

This sample shows how to call SendMessageAsync with all parameters and request content and parse the result.

Uri endpoint = new Uri("<endpoint>");
TokenCredential credential = new DefaultAzureCredential();
ConversationThreadClient client = new ConversationThreadClient(endpoint, credential);

using RequestContent content = RequestContent.Create(new
{
    request = new
    {
        kind = "text",
        content = "<content>",
    },
    outboundDeliveryStrategy = "internalOnly",
});
Response response = await client.SendMessageAsync("<conversationId>", content);

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("messageId").ToString());

Applies to