using System; using System.Collections.Generic; using System.Runtime.Serialization; namespace Amazon.Lambda.ConnectEvents { /// /// This class represents the input event from Amazon Connect ContactFlow. It is used as the input parameter /// for Lambda functions. /// https://docs.aws.amazon.com/lambda/latest/dg/services-connect.html /// https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html /// public class ContactFlowEvent { /// /// ContactFlow Details /// public ContactFlowDetails Details { get; set; } /// /// Event Name /// public string Name { get; set; } /// /// Class represnting details of ContactFlow /// public class ContactFlowDetails { /// /// Contact data. This is always passed by Amazon Connect for every contact. /// public ContactData ContactData { get; set; } /// /// These are parameters specific to this call that were defined when you created the Lambda function. /// public IDictionary Parameters { get; set; } } /// /// Class representing contact data. /// public class ContactData { /// /// User attributes that have been previously associated with a contact, such as when using a Set contact attributes block in a contact flow. This map may be empty if there aren't any saved attributes. /// public IDictionary Attributes { get; set; } /// /// Channel (such as Voice, Chat or Tasks) /// public string Channel { get; set; } /// /// Contact ID /// public string ContactId { get; set; } /// /// Customer Endpoint /// public Endpoint CustomerEndpoint { get; set; } /// /// Initial Contact ID /// public string InitialContactId { get; set; } /// /// Initiation Method (INBOUND | OUTBOUND | TRANSFER | CALLBACK) /// public string InitiationMethod { get; set; } /// /// The Amazon Resource Name (ARN) of the Amazon Connect instance. /// public string InstanceARN { get; set; } /// /// Previous Contact ID /// public string PreviousContactId { get; set; } /// /// Contains information about a queue. /// public Queue Queue { get; set; } /// /// System Endpoint /// public Endpoint SystemEndpoint { get; set; } } /// /// Class representing endpoint. /// public class Endpoint { /// /// Address (such as telephone number). /// public string Address { get; set; } /// /// Endpoint Type (such as TELEPHONE_NUMBER). /// public string Type { get; set; } } /// /// Contains information about a queue. /// public class Queue { /// /// The Amazon Resource Name (ARN) for the queue. /// public string Arn { get; set; } /// /// Queue name. /// public string Name { get; set; } } } }