Represents an Interaction within the Interaction Center system.

Namespace: ININ.IceLib.Interactions
Assembly: ININ.IceLib.Interactions (in ININ.IceLib.Interactions.dll) Version: 0.0.0.0 (22.3.0.218)

Syntax

C#
public abstract class Interaction
Visual Basic
Public MustInherit Class Interaction

Remarks

Interactions in the Interaction Center system can be calls, chats, emails, email, monitors, or recordings.

This class allows you to start, stop, and change watches on interaction attributes along with interaction control actions such as pickup, hold, disconnect, park, etc.

To start watching interaction attributes, call StartWatching(array<String>[]()[][]) or StartWatchingAsync(array<String>[]()[][], AsyncCompletedEventHandler, Object) passing in an array of attribute names to watch (For built in attributes see InteractionAttributeName). When the asynchronous start watching completes it invokes the specified AsyncCompletedEventHandler delegate.

To stop watching interaction attributes, call StopWatching()()()() or StopWatchingAsync(AsyncCompletedEventHandler, Object). When the asynchronous stop watch action completes, it invokes the completedCallback delegate.

To change the interaction attributes to watch, call ChangeWatchedAttributes(array<String>[]()[][], array<String>[]()[][], Boolean) or ChangeWatchedAttributesAsync(array<String>[]()[][], array<String>[]()[][], Boolean, AsyncCompletedEventHandler, Object). When the asynchronous change watched attributes action completes it invokes the completedCallback delegate.

Calling StartWatching(array<String>[]()[][]) or StartWatchingAsync(array<String>[]()[][], AsyncCompletedEventHandler, Object) when a watch is in place or StopWatching()()()(), StopWatchingAsync(AsyncCompletedEventHandler, Object), ChangeWatchedAttributes(array<String>[]()[][], array<String>[]()[][], Boolean), or ChangeWatchedAttributesAsync(array<String>[]()[][], array<String>[]()[][], Boolean, AsyncCompletedEventHandler, Object) when a watch is not in place raises an InvalidOperationException.

Accessing interaction properties when a watch is not in place raises a NotCachedException.

To retrieve the value of a Boolean attribute call GetBooleanAttribute(String) or GetBooleanAttributeAsync(String, EventHandler<(Of <<'(GetAttributeCompletedEventArgs<(Of <<'(Boolean>)>>)>)>>), Object) and provide an attribute name. When the asynchronous get attribute operation completes it invokes the completedCallback delegate returning the value of this attribute.

To retrieve the value of a integer attribute call GetIntegerAttribute(String) or GetIntegerAttributeAsync(String, EventHandler<(Of <<'(GetAttributeCompletedEventArgs<(Of <<'(Int32>)>>)>)>>), Object) and provide an attribute name. When the asynchronous get attribute operation completes it invokes the completedCallback delegate returning the value of this attribute.

To retrieve the value of a string attribute call GetStringAttribute(String) or GetStringAttributeAsync(String, EventHandler<(Of <<'(GetAttributeCompletedEventArgs<(Of <<'(String>)>>)>)>>), Object) and provide an attribute name. When the asynchronous get attribute operation completes it invokes the completedCallback delegate returning the value of this attribute.

To retrieve the value of a DateTime attribute call GetDateTimeAttribute(String) or GetDateTimeAttributeAsync(String, EventHandler<(Of <<'(GetAttributeCompletedEventArgs<(Of <<'(DateTime>)>>)>)>>), Object) and provide an attribute name. When the asynchronous get attribute operation completes it invokes the completedCallback delegate returning the value of this attribute.

To set the value of a DateTime attribute call SetDateTimeAttribute(String, DateTime) or SetDateTimeAttributeAsync(String, DateTime, AsyncCompletedEventHandler, Object). When the set attribute value completes it invokes the completedCallback delegate.

To set the value of a string attribute call SetStringAttribute(String, String) or SetStringAttributeAsync(String, String, AsyncCompletedEventHandler, Object). When the set attribute value completes it invokes the completedCallback delegate.

To append a value to a string attribute call AppendStringAttribute(String, String, String) or AppendStringAttributeAsync(String, String, String, AsyncCompletedEventHandler, Object) and provide the string to append to the attribute value. When the append operation completes it invokes the completedCallback delegate.

To perform a Pickup operation on an interaction, call Pickup()()()() or PickupAsync(AsyncCompletedEventHandler, Object). When the asynchronous Pickup operation completes it invokes the completedCallback delegate.

To perform a Disconnect operation on an interaction, call Disconnect()()()() or DisconnectAsync(AsyncCompletedEventHandler, Object). When the asynchronous Disconnect operation completes it invokes the completedCallback delegate.

To perform a Hold operation on an interaction, call Hold(Boolean) or HoldAsync(Boolean, AsyncCompletedEventHandler, Object). When the asynchronous Hold operation completes it invokes the completedCallback delegate.

To perform a Record operation on an interaction, call Record(Boolean, Boolean) or RecordAsync(Boolean, Boolean, AsyncCompletedEventHandler, Object). When the asynchronous Record operation completes it invokes the completedCallback delegate.

To perform a BlindTransfer operation on an interaction, call BlindTransfer or BlindTransferAsync. When the asynchronous BlindTransfer operation completes it invokes the completedCallback delegate.

To perform a ConsultTransfer operation on an interaction, call ConsultTransfer(InteractionId) or ConsultTransferAsync(InteractionId, AsyncCompletedEventHandler, Object). When the asynchronous ConsultTransfer operation completes it invokes the completedCallback delegate.

To perform a TransferToVoicemail operation on an interaction, call TransferToVoicemail or TransferToVoicemailAsync. When the asynchronous TransferToVoicemail operation completes it invokes the completedCallback delegate.

To perform a Park operation on an interaction, call Park or ParkAsync. When the asynchronous Park operation completes it invokes the completedCallback delegate.

To perform a Listen operation on an interaction, call Listen(Boolean, Boolean) or ListenAsync(Boolean, Boolean, AsyncCompletedEventHandler, Object). When the asynchronous Listen operation completes it invokes the completedCallback delegate.

To perform a Coach operation on an interaction, call Coach(Boolean, Boolean) or CoachAsync(Boolean, Boolean, AsyncCompletedEventHandler, Object). When the asynchronous Coach operation completes it invokes the completedCallback delegate.

To perform a Mute operation on an interaction, call Mute(Boolean) or MuteAsync(Boolean, AsyncCompletedEventHandler, Object). When the asynchronous Mute operation completes it invokes the completedCallback delegate.

To perform a Pause operation on an interaction, call Pause(Boolean) or PauseAsync(Boolean, AsyncCompletedEventHandler, Object). When the asynchronous Pause operation completes it invokes the completedCallback delegate.

To perform a Private operation on an interaction, call Private(Boolean) or PrivateAsync(Boolean, AsyncCompletedEventHandler, Object). When the asynchronous Private operation completes it invokes the completedCallback delegate.

To perform a Voicemail operation on an interaction, call Voicemail()()()() or VoicemailAsync(AsyncCompletedEventHandler, Object). When the asynchronous Voicemail operation completes it invokes the completedCallback delegate.

To perform a Join operation on an interaction, call Join()()()() or JoinAsync(AsyncCompletedEventHandler, Object). When the asynchronous Join operation completes it invokes the completedCallback delegate.

To perform a RequestHelp operation on an interaction, call RequestHelp(String) or RequestHelpAsync(String, AsyncCompletedEventHandler, Object). When the asynchronous RequestHelp operation completes it invokes the completedCallback delegate.

Note
The asynchronous methods are preferred since the above operations can be lengthy.
Note
For more information on getting started with queues and interactions see Getting Started With Interactions.

Examples

The following is an example of retrieving an interaction attribute and returning the string value.
CopyC#
private void queryAttributeButton_Click(object sender, System.EventArgs e)
   {
       if (_Interaction != null)
       {
           _Interaction.GetStringAttributeAsync(attributeNameTextBox.Text, GetStringAttributeCompleted, null);
       }
   }

private void GetStringAttributeCompleted(object sender, GetAttributeCompletedEventArgs<string> e)
   {
       try
       {
         attributeValueTextBox.Text = e.AttributeValue;
       }
       catch (Exception ex)
       {
           attributeValueTextBox.Text = String.Empty;
           MessageBox.Show(ex.StackTrace, ex.Message);
       }
   }

Inheritance Hierarchy

Version Information

Supported for IC Server version 2015 R1 and beyond.
For 4.0, supported for IC Server version 4.0 GA and beyond.
For 3.0, supported for IC Server version 3.0 GA and beyond.

See Also