I have created a Lex Chatbot under AWS Services. Have it tested as well using Test Chat bot session.
I would like to create a Web Service on .net which can Send Request as Intent/Messages and Get response from same amazon lex chat bot.
FInally i got this working using nuget package Amazon.lex model. Below is the console application for getting response from my AWS chatbot
Amazon.Lex.Model.PostTextRequest amazonPostRequest = new
Amazon.Lex.Model.PostTextRequest();
amazonPostRequest.BotAlias = "BookATrip_VFirst";
amazonPostRequest.BotName = "BookATrip_VFirst";
amazonPostRequest.UserId = "BotAccessRestAPI";
amazonPostRequest.InputText = "book a car";
AmazonLexClient amazonLexClient = new AmazonLexClient("AKIA25U6KRJ7AO7MODNQ", "khAIm2l1zK94zUCeG+Gg/oACIIgCAKLBkEJUAEl2", Amazon.RegionEndpoint.USEast1);
Task<PostTextResponse> amazonPostResponse = amazonLexClient.PostTextAsync(amazonPostRequest);
//Task<IAmazonLex> AmazonLexResponse = amazonLexClient.PostTextAsync(amazonPostRequest);
while (amazonPostResponse.Status!=TaskStatus.RanToCompletion)
{
//just to wait for response
Console.WriteLine(amazonPostResponse);
Console.ReadLine();
}
//Console.WriteLine(amazonPostResponse.Result.ContentLength);
//Console.WriteLine(amazonPostResponse.Result.DialogState);
Console.WriteLine(amazonPostResponse.Result.HttpStatusCode);
Console.WriteLine(amazonPostResponse.Result.IntentName);
Console.WriteLine(amazonPostResponse.Result.Message);
Console.WriteLine(amazonPostResponse.Result.MessageFormat);
Console.WriteLine(amazonPostResponse.Result.SessionAttributes);
Console.WriteLine(amazonPostResponse.Result.SessionId);
Console.ReadLine();