Since July 6, 2023, Atlassian has no longer been used for Release Notes or knowledge base articles.
* Find Release Notes here (https://support.mycontactcenter.net/app/articles/detail/a_id/23378/) and articles here (https://support.mycontactcenter.net/app/main).
* Authenticated Partners can access content here (https://support.mycontactcenter.net/cc/sso/authenticator/oauth/authorize/imcontrolpanel?redirect=main&source=mycontactcenter)


Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

This method forces an agent status transition to a valid in-call status.

The execution of this method is not guaranteed to be successful. It will return an error if trying to perform an invalid status transition (for example if trying to transition an agent whose in-call status is currently “On-Call” to something like “Available”). The requested status transition might also fail if the agent is in the process of transitioning to a conflicting state.


Status transitions allowed are as follows:

Previous StatusNew Status
Busy - On CallN/A
Busy - On emailN/A
Busy - ChattingAvailable

Accept Internal Calls
WrapupBusy - On Break

Busy - Other
Busy - On BreakBusy - On Break

Busy - Other

Available

Accept Internal Calls
Busy - OtherBusy On Break

Busy - Other

Available

Accept Internal Calls
Accept Internal CallsAvailable

Busy - On Break

Busy - Other


    • The “availability” as well as the “activity” parameters are ignored when using a transferable agent status other than “Other”.
    • Possible values for the transferable agent status are:
    • 1) “Available” (causes the availability code to be 1, and the activity to be “Available”).
    • 2) “OnBreak” (causes the availability code to be 0, and the activity to be “On-break”).
    • 3) “Other” (the availability code and the activity are specified as parameters).
  • The 3 states are declared in the enum type “TransferableAgentStatus”(listed below the method declaration)


In order to use this method, you must first be aware of the Agent's current session ID which can be obtained from this method:


ChangeAgentStatusResponse TryForceAgentStatusTransition(string sessionId, string targetAgentSessionId, TransferableAgentStatus status, byte availabilityCode, string activityName)

        {

            switch (status)

            {

                case TransferableAgentStatus.Available:

                    return tryForceAgentStatusTransition(sessionId, targetAgentSessionId, CallTransferStatus.Available, 1, String.Empty);

 

                case TransferableAgentStatus.AcceptInternalCalls:

                    return tryForceAgentStatusTransition(sessionId, targetAgentSessionId, CallTransferStatus.AcceptInternalCalls, 2, String.Empty);

 

                case TransferableAgentStatus.OnBreak:

                    return tryForceAgentStatusTransition(sessionId, targetAgentSessionId, CallTransferStatus.BusyOnBreak, 0, String.Empty);

 

                default:

                    return tryForceAgentStatusTransition(sessionId, targetAgentSessionId, CallTransferStatus.BusyOther, availabilityCode, activityName);

            }

        }


ChangeAgentStatusResponse TryForceAgentStatusTransition(string sessionId, string targetAgentSessionId, TransferableAgentStatus status, byte availabilityCode, string activityName)


public enum TransferableAgentStatus

    {

        [EnumMember]

        Available,

 

        [EnumMember]

        AcceptInternalCalls,

 

        [EnumMember]

        OnBreak,

 

        [EnumMember]

        Other

    }


  • No labels