/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the connectparticipant-2018-09-07.normal.json service model. */ using System; using System.Collections.Generic; using System.Net; using Amazon.ConnectParticipant.Model; using Amazon.ConnectParticipant.Model.Internal.MarshallTransformations; using Amazon.ConnectParticipant.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.ConnectParticipant { /// /// Implementation for accessing ConnectParticipant /// /// Amazon Connect is an easy-to-use omnichannel cloud contact center service that enables /// companies of any size to deliver superior customer service at a lower cost. Amazon /// Connect communications capabilities make it easy for companies to deliver personalized /// interactions across communication channels, including chat. /// /// /// /// Use the Amazon Connect Participant Service to manage participants (for example, agents, /// customers, and managers listening in), and to send messages and events within a chat /// contact. The APIs in the service enable the following: sending chat messages, attachment /// sharing, managing a participant's connection state and message events, and retrieving /// chat transcripts. /// /// public partial class AmazonConnectParticipantClient : AmazonServiceClient, IAmazonConnectParticipant { private static IServiceMetadata serviceMetadata = new AmazonConnectParticipantMetadata(); #if BCL45 || AWS_ASYNC_ENUMERABLES_API private IConnectParticipantPaginatorFactory _paginators; /// /// Paginators for the service /// public IConnectParticipantPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new ConnectParticipantPaginatorFactory(this); } return this._paginators; } } #endif #region Constructors /// /// Constructs AmazonConnectParticipantClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonConnectParticipantClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonConnectParticipantConfig()) { } /// /// Constructs AmazonConnectParticipantClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonConnectParticipantClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonConnectParticipantConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonConnectParticipantClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonConnectParticipantClient Configuration Object public AmazonConnectParticipantClient(AmazonConnectParticipantConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonConnectParticipantClient with AWS Credentials /// /// AWS Credentials public AmazonConnectParticipantClient(AWSCredentials credentials) : this(credentials, new AmazonConnectParticipantConfig()) { } /// /// Constructs AmazonConnectParticipantClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonConnectParticipantClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonConnectParticipantConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonConnectParticipantClient with AWS Credentials and an /// AmazonConnectParticipantClient Configuration object. /// /// AWS Credentials /// The AmazonConnectParticipantClient Configuration Object public AmazonConnectParticipantClient(AWSCredentials credentials, AmazonConnectParticipantConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonConnectParticipantClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonConnectParticipantClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonConnectParticipantConfig()) { } /// /// Constructs AmazonConnectParticipantClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonConnectParticipantClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonConnectParticipantConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonConnectParticipantClient with AWS Access Key ID, AWS Secret Key and an /// AmazonConnectParticipantClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonConnectParticipantClient Configuration Object public AmazonConnectParticipantClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonConnectParticipantConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonConnectParticipantClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonConnectParticipantClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonConnectParticipantConfig()) { } /// /// Constructs AmazonConnectParticipantClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonConnectParticipantClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonConnectParticipantConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonConnectParticipantClient with AWS Access Key ID, AWS Secret Key and an /// AmazonConnectParticipantClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonConnectParticipantClient Configuration Object public AmazonConnectParticipantClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonConnectParticipantConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customize the pipeline /// /// protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonConnectParticipantEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region CompleteAttachmentUpload /// /// Allows you to confirm that the attachment has been uploaded using the pre-signed URL /// provided in StartAttachmentUpload API. /// /// /// /// ConnectionToken is used for invoking this API instead of ParticipantToken. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// Container for the necessary parameters to execute the CompleteAttachmentUpload service method. /// /// The response from the CompleteAttachmentUpload service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// An attachment with that identifier is already being uploaded. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The number of attachments per contact exceeds the quota. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for CompleteAttachmentUpload Operation public virtual CompleteAttachmentUploadResponse CompleteAttachmentUpload(CompleteAttachmentUploadRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CompleteAttachmentUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = CompleteAttachmentUploadResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CompleteAttachmentUpload operation. /// /// /// Container for the necessary parameters to execute the CompleteAttachmentUpload operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCompleteAttachmentUpload /// operation. /// REST API Reference for CompleteAttachmentUpload Operation public virtual IAsyncResult BeginCompleteAttachmentUpload(CompleteAttachmentUploadRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CompleteAttachmentUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = CompleteAttachmentUploadResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CompleteAttachmentUpload operation. /// /// /// The IAsyncResult returned by the call to BeginCompleteAttachmentUpload. /// /// Returns a CompleteAttachmentUploadResult from ConnectParticipant. /// REST API Reference for CompleteAttachmentUpload Operation public virtual CompleteAttachmentUploadResponse EndCompleteAttachmentUpload(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CreateParticipantConnection /// /// Creates the participant's connection. /// /// /// /// ParticipantToken is used for invoking this API instead of ConnectionToken. /// /// /// /// The participant token is valid for the lifetime of the participant – until they are /// part of a contact. /// /// /// /// The response URL for WEBSOCKET Type has a connect expiry timeout of 100s. /// Clients must manually connect to the returned websocket URL and subscribe to the desired /// topic. /// /// /// /// For chat, you need to publish the following on the established websocket connection: /// /// /// /// {"topic":"aws/subscribe","content":{"topics":["aws/chat"]}} /// /// /// /// Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter, /// clients need to call this API again to obtain a new websocket URL and perform the /// same steps as before. /// /// /// /// Message streaming support: This API can also be used together with the StartContactStreaming /// API to create a participant connection for chat contacts that are not using a websocket. /// For more information about message streaming, Enable /// real-time chat message streaming in the Amazon Connect Administrator Guide. /// /// /// /// Feature specifications: For information about feature specifications, such /// as the allowed number of open websocket connections per participant, see Feature /// specifications in the Amazon Connect Administrator Guide. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// /// Container for the necessary parameters to execute the CreateParticipantConnection service method. /// /// The response from the CreateParticipantConnection service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for CreateParticipantConnection Operation public virtual CreateParticipantConnectionResponse CreateParticipantConnection(CreateParticipantConnectionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateParticipantConnectionRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateParticipantConnectionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreateParticipantConnection operation. /// /// /// Container for the necessary parameters to execute the CreateParticipantConnection operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateParticipantConnection /// operation. /// REST API Reference for CreateParticipantConnection Operation public virtual IAsyncResult BeginCreateParticipantConnection(CreateParticipantConnectionRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreateParticipantConnectionRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateParticipantConnectionResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreateParticipantConnection operation. /// /// /// The IAsyncResult returned by the call to BeginCreateParticipantConnection. /// /// Returns a CreateParticipantConnectionResult from ConnectParticipant. /// REST API Reference for CreateParticipantConnection Operation public virtual CreateParticipantConnectionResponse EndCreateParticipantConnection(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DisconnectParticipant /// /// Disconnects a participant. /// /// /// /// ConnectionToken is used for invoking this API instead of ParticipantToken. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// Container for the necessary parameters to execute the DisconnectParticipant service method. /// /// The response from the DisconnectParticipant service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for DisconnectParticipant Operation public virtual DisconnectParticipantResponse DisconnectParticipant(DisconnectParticipantRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DisconnectParticipantRequestMarshaller.Instance; options.ResponseUnmarshaller = DisconnectParticipantResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DisconnectParticipant operation. /// /// /// Container for the necessary parameters to execute the DisconnectParticipant operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisconnectParticipant /// operation. /// REST API Reference for DisconnectParticipant Operation public virtual IAsyncResult BeginDisconnectParticipant(DisconnectParticipantRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DisconnectParticipantRequestMarshaller.Instance; options.ResponseUnmarshaller = DisconnectParticipantResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DisconnectParticipant operation. /// /// /// The IAsyncResult returned by the call to BeginDisconnectParticipant. /// /// Returns a DisconnectParticipantResult from ConnectParticipant. /// REST API Reference for DisconnectParticipant Operation public virtual DisconnectParticipantResponse EndDisconnectParticipant(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetAttachment /// /// Provides a pre-signed URL for download of a completed attachment. This is an asynchronous /// API for use with active contacts. /// /// /// /// ConnectionToken is used for invoking this API instead of ParticipantToken. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// Container for the necessary parameters to execute the GetAttachment service method. /// /// The response from the GetAttachment service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for GetAttachment Operation public virtual GetAttachmentResponse GetAttachment(GetAttachmentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetAttachmentRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAttachmentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetAttachment operation. /// /// /// Container for the necessary parameters to execute the GetAttachment operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetAttachment /// operation. /// REST API Reference for GetAttachment Operation public virtual IAsyncResult BeginGetAttachment(GetAttachmentRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetAttachmentRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAttachmentResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetAttachment operation. /// /// /// The IAsyncResult returned by the call to BeginGetAttachment. /// /// Returns a GetAttachmentResult from ConnectParticipant. /// REST API Reference for GetAttachment Operation public virtual GetAttachmentResponse EndGetAttachment(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetTranscript /// /// Retrieves a transcript of the session, including details about any attachments. For /// information about accessing past chat contact transcripts for a persistent chat, see /// Enable /// persistent chat. /// /// /// /// ConnectionToken is used for invoking this API instead of ParticipantToken. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// Container for the necessary parameters to execute the GetTranscript service method. /// /// The response from the GetTranscript service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for GetTranscript Operation public virtual GetTranscriptResponse GetTranscript(GetTranscriptRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetTranscriptRequestMarshaller.Instance; options.ResponseUnmarshaller = GetTranscriptResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetTranscript operation. /// /// /// Container for the necessary parameters to execute the GetTranscript operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetTranscript /// operation. /// REST API Reference for GetTranscript Operation public virtual IAsyncResult BeginGetTranscript(GetTranscriptRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetTranscriptRequestMarshaller.Instance; options.ResponseUnmarshaller = GetTranscriptResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetTranscript operation. /// /// /// The IAsyncResult returned by the call to BeginGetTranscript. /// /// Returns a GetTranscriptResult from ConnectParticipant. /// REST API Reference for GetTranscript Operation public virtual GetTranscriptResponse EndGetTranscript(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region SendEvent /// /// Sends an event. /// /// /// /// ConnectionToken is used for invoking this API instead of ParticipantToken. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// Container for the necessary parameters to execute the SendEvent service method. /// /// The response from the SendEvent service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for SendEvent Operation public virtual SendEventResponse SendEvent(SendEventRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SendEventRequestMarshaller.Instance; options.ResponseUnmarshaller = SendEventResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the SendEvent operation. /// /// /// Container for the necessary parameters to execute the SendEvent operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSendEvent /// operation. /// REST API Reference for SendEvent Operation public virtual IAsyncResult BeginSendEvent(SendEventRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SendEventRequestMarshaller.Instance; options.ResponseUnmarshaller = SendEventResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the SendEvent operation. /// /// /// The IAsyncResult returned by the call to BeginSendEvent. /// /// Returns a SendEventResult from ConnectParticipant. /// REST API Reference for SendEvent Operation public virtual SendEventResponse EndSendEvent(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region SendMessage /// /// Sends a message. /// /// /// /// ConnectionToken is used for invoking this API instead of ParticipantToken. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// Container for the necessary parameters to execute the SendMessage service method. /// /// The response from the SendMessage service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for SendMessage Operation public virtual SendMessageResponse SendMessage(SendMessageRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SendMessageRequestMarshaller.Instance; options.ResponseUnmarshaller = SendMessageResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the SendMessage operation. /// /// /// Container for the necessary parameters to execute the SendMessage operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSendMessage /// operation. /// REST API Reference for SendMessage Operation public virtual IAsyncResult BeginSendMessage(SendMessageRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SendMessageRequestMarshaller.Instance; options.ResponseUnmarshaller = SendMessageResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the SendMessage operation. /// /// /// The IAsyncResult returned by the call to BeginSendMessage. /// /// Returns a SendMessageResult from ConnectParticipant. /// REST API Reference for SendMessage Operation public virtual SendMessageResponse EndSendMessage(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region StartAttachmentUpload /// /// Provides a pre-signed Amazon S3 URL in response for uploading the file directly to /// S3. /// /// /// /// ConnectionToken is used for invoking this API instead of ParticipantToken. /// /// /// /// The Amazon Connect Participant Service APIs do not use Signature /// Version 4 authentication. /// /// /// Container for the necessary parameters to execute the StartAttachmentUpload service method. /// /// The response from the StartAttachmentUpload service method, as returned by ConnectParticipant. /// /// You do not have sufficient access to perform this action. /// /// /// This exception occurs when there is an internal failure in the Amazon Connect service. /// /// /// The number of attachments per contact exceeds the quota. /// /// /// The request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by Amazon Connect. /// /// REST API Reference for StartAttachmentUpload Operation public virtual StartAttachmentUploadResponse StartAttachmentUpload(StartAttachmentUploadRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = StartAttachmentUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = StartAttachmentUploadResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the StartAttachmentUpload operation. /// /// /// Container for the necessary parameters to execute the StartAttachmentUpload operation on AmazonConnectParticipantClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndStartAttachmentUpload /// operation. /// REST API Reference for StartAttachmentUpload Operation public virtual IAsyncResult BeginStartAttachmentUpload(StartAttachmentUploadRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = StartAttachmentUploadRequestMarshaller.Instance; options.ResponseUnmarshaller = StartAttachmentUploadResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the StartAttachmentUpload operation. /// /// /// The IAsyncResult returned by the call to BeginStartAttachmentUpload. /// /// Returns a StartAttachmentUploadResult from ConnectParticipant. /// REST API Reference for StartAttachmentUpload Operation public virtual StartAttachmentUploadResponse EndStartAttachmentUpload(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion } }