private async Task<string> StartNewConversation()
{
var newConvoTokenResponse = await masterClient.Tokens.GenerateTokenForNewConversationWithOperationResponseAsync();
if (!string.IsNullOrWhiteSpace(newConvoTokenResponse?.Body))
{
ConversationClient = new DirectLinkApiClient(new TokenCredentials(newConvoTokenResponse.Body, TenantId), new LoggingHttpHandler());
var newConvoResponse = await ConversationClient.Conversations.NewConversationWithOperationResponseAsync();
if (!string.IsNullOrWhiteSpace(newConvoResponse?.Body?.ConversationId))
{
conversationToken = newConvoResponse.Body.Token;
convoTokenExpirationDate = DateTimeOffset.UtcNow.AddMinutes(Utilities.Constants.ConvoTokenExpirationTimeInMinutes);
return newConvoResponse.Body.ConversationId;
}
else
{
//TODO handle new conversation creation failure
}
}
else
{
//TODO handle generation of new conversation token failure
}
return null;
}