Share via


ConversationThreadClient.SendMessage Method

Definition

Overloads

SendMessage(String, SendConversationMessageOptions, CancellationToken)

Sends a conversation message from Business to User.

SendMessage(String, RequestContent, RequestContext)

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

SendMessage(String, SendConversationMessageOptions, CancellationToken)

Source:
ConversationThreadClient.cs

Sends a conversation message from Business to User.

public virtual Azure.Response<Azure.Communication.Messages.SendConversationMessageResult> SendMessage(string conversationId, Azure.Communication.Messages.SendConversationMessageOptions options, System.Threading.CancellationToken cancellationToken = default);
abstract member SendMessage : string * Azure.Communication.Messages.SendConversationMessageOptions * System.Threading.CancellationToken -> Azure.Response<Azure.Communication.Messages.SendConversationMessageResult>
override this.SendMessage : string * Azure.Communication.Messages.SendConversationMessageOptions * System.Threading.CancellationToken -> Azure.Response<Azure.Communication.Messages.SendConversationMessageResult>
Public Overridable Function SendMessage (conversationId As String, options As SendConversationMessageOptions, Optional cancellationToken As CancellationToken = Nothing) As 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 SendMessage.

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 = client.SendMessage("<conversationId>", options);

This sample shows how to call SendMessage 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 = client.SendMessage("<conversationId>", options);

Applies to

SendMessage(String, RequestContent, RequestContext)

Source:
ConversationThreadClient.cs

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

public virtual Azure.Response SendMessage(string conversationId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member SendMessage : string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
override this.SendMessage : string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
Public Overridable Function SendMessage (conversationId As String, content As RequestContent, Optional context As RequestContext = Nothing) As 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 SendMessage 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 = client.SendMessage("<conversationId>", content);

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

This sample shows how to call SendMessage 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 = client.SendMessage("<conversationId>", content);

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

Applies to