Share via


ConversationAdministrationClient.CreateConversation Method

Definition

Overloads

CreateConversation(RequestContent, RequestContext)

[Protocol Method] Creates a new conversation. This is only for create operation.

CreateConversation(CommunicationConversation, ConversationMessage, CancellationToken)

Creates a new conversation. This is only for create operation.

CreateConversation(RequestContent, RequestContext)

Source:
ConversationAdministrationClient.cs

[Protocol Method] Creates a new conversation. This is only for create operation.

public virtual Azure.Response CreateConversation(Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateConversation : Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
override this.CreateConversation : Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
Public Overridable Function CreateConversation (content As RequestContent, Optional context As RequestContext = Nothing) As Response

Parameters

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

content is null.

Service returned a non-success status code.

Examples

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

ConversationAdministrationClient client = new ConversationAdministrationClient((string)null);

using RequestContent content = RequestContent.Create(new
{
    conversation = new object(),
});
Response response = client.CreateConversation(content);

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

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

ConversationAdministrationClient client = new ConversationAdministrationClient((string)null);

using RequestContent content = RequestContent.Create(new
{
    conversation = new
    {
        topic = "<topic>",
        deliveryChannelIds = new object[]
        {
            "<deliveryChannelIds>"
        },
        outboundDeliveryStrategy = "internalOnly",
        participants = new object[]
        {
            new
            {
                kind = "internal",
                contact = new
                {
                    kind = "communication",
                    id = "<id>",
                },
                displayName = "<displayName>",
            }
        },
    },
    initialMessage = new
    {
        content = "<content>",
    },
});
Response response = client.CreateConversation(content);

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("topic").ToString());
Console.WriteLine(result.GetProperty("deliveryChannelIds")[0].ToString());
Console.WriteLine(result.GetProperty("outboundDeliveryStrategy").ToString());
Console.WriteLine(result.GetProperty("participants")[0].GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("participants")[0].GetProperty("displayName").ToString());
Console.WriteLine(result.GetProperty("participants")[0].GetProperty("kind").ToString());

Applies to

CreateConversation(CommunicationConversation, ConversationMessage, CancellationToken)

Source:
ConversationAdministrationClient.cs

Creates a new conversation. This is only for create operation.

public virtual Azure.Response<Azure.Communication.Messages.CommunicationConversation> CreateConversation(Azure.Communication.Messages.CommunicationConversation conversation, Azure.Communication.Messages.ConversationMessage initialMessage = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateConversation : Azure.Communication.Messages.CommunicationConversation * Azure.Communication.Messages.ConversationMessage * System.Threading.CancellationToken -> Azure.Response<Azure.Communication.Messages.CommunicationConversation>
override this.CreateConversation : Azure.Communication.Messages.CommunicationConversation * Azure.Communication.Messages.ConversationMessage * System.Threading.CancellationToken -> Azure.Response<Azure.Communication.Messages.CommunicationConversation>
Public Overridable Function CreateConversation (conversation As CommunicationConversation, Optional initialMessage As ConversationMessage = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Response(Of CommunicationConversation)

Parameters

conversation
CommunicationConversation

The conversation details.

initialMessage
ConversationMessage

An initial message within the conversation.

cancellationToken
CancellationToken

The cancellation token to use.

Returns

Exceptions

conversation is null.

Examples

This sample shows how to call CreateConversation.

ConversationAdministrationClient client = new ConversationAdministrationClient((string)null);

CommunicationConversation conversation = new CommunicationConversation();
Response<CommunicationConversation> response = client.CreateConversation(conversation);

This sample shows how to call CreateConversation with all parameters.

ConversationAdministrationClient client = new ConversationAdministrationClient((string)null);

CommunicationConversation conversation = new CommunicationConversation
{
    Topic = "<topic>",
    DeliveryChannelIds = { "<deliveryChannelIds>" },
    OutboundDeliveryStrategy = OutboundDeliveryStrategyKind.InternalOnly,
    Participants = {new InternalConversationParticipant(new CommunicationContact("<id>"))
    {
        DisplayName = "<displayName>",
    }},
};
ConversationMessage initialMessage = new ConversationMessage("<content>");
Response<CommunicationConversation> response = client.CreateConversation(conversation, initialMessage: initialMessage);

Applies to