com.genesyslab.ail
Interface InteractionWebcallback

All Superinterfaces:
AbstractInteraction, IdObject, Interaction, InteractionMultimedia, Possible, Savable

public interface InteractionWebcallback
extends InteractionMultimedia

A request for callback sent through the web

Since:
7.6.3

Nested Class Summary
static class InteractionWebcallback.Action
          To be used in the methods of the interface Possible.
static class InteractionWebcallback.WcbStatus
          Constants for Webcallback statuses.
static class InteractionWebcallback.WcbType
          Constants for Webcallback types.
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.InteractionMultimedia
InteractionMultimedia.StopProcessingReason
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.Interaction
Interaction.Status, Interaction.Type
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.AbstractInteraction
AbstractInteraction.AbstractCallType
 
Method Summary
 void cancel(java.lang.String result, java.lang.String wcbCancelQueue)
          Cancels this interaction by setting its result, and putting it into the queue for completed interactions.
 void complete(java.lang.String result, java.lang.String wcbCompletedQueue)
          Completes the processing of this interaction by setting its result, and putting it into the queue for completed interactions.
 Interaction createInteraction(java.lang.String queue)
          Creates an interaction of the desired response type in order to fulfill this InteractionWebcallback.
 void customerSessionActive(java.lang.String sessionID)
          Updates the attached data of this interaction when the customer session is active.
 void customerSessionCompleted()
          Updates the attached data of this interaction when the customer session is completed.
 int getAttempts()
          Returns the number of attempts to fulfill this request that have already been made.
 java.lang.String getCustomerNumber()
          Returns the number at which the customer requests to be replied.
 java.lang.String getDesiredResponseType()
          Returns the name of the media, through which the customer requests to be replied.
 boolean getDoEmailNotification()
          Returns true if the customer asked to receive e-mail notifications about the processing of this InteractionWebcallback.
 java.util.Calendar getEndTime()
          Returns the end of the timeframe when a response to this interaction is required.
 java.lang.String getNotificationEmail()
          Returns the e-mail address to which the notifications about the processing of this InteractionWebcallback must be sent.
 java.lang.String getResult()
          Returns the result of the processin of this InteractionWebcallback.
 java.util.Calendar getStartTime()
          Returns the beginning of the timeframe when a response to this interaction is required.
 int getTimeShift()
          Returns the time shift that must be taken into account, regarding getStartTime() and getEndTime().
 InteractionWebcallback.WcbStatus getWcbStatus()
          Returns the Webcallback status of this InteractionWebcallback.
 InteractionWebcallback.WcbType getWcbType()
          Returns the Webcallback type of this InteractionWebcallback.
 void reschedule(java.util.Calendar startDate, java.util.Calendar endDate, java.lang.String wcbRescheduleQueue)
          Reschedules this InteractionWebcallback for some time later.
 
Methods inherited from interface com.genesyslab.ail.InteractionMultimedia
addSuggestedCategories, delete, getAvailableQueuesForChildInteraction, getAvailableQueuesForThisInteraction, getCategoryId, getExternalId, getInteractionSubtype, getInteractionType, getIsCategoryApproved, getMaxSubjectLength, getMediaType, getQueue, getSuggestedCategories, isMarkDoneAvailable, placeInQueue, setAttachedData, setAvailableQueuesForChildInteraction, setAvailableQueuesForThisInteraction, setCategoryId, setExternalId, setIsCategoryApproved, submit, transferAgent, transferPlace, transferQueue
 
Methods inherited from interface com.genesyslab.ail.Interaction
answerCall, countOtherPendingInteractions, getContactId, getContentBinary, getContentBinaryMimeType, getContentBinarySize, getDateCreated, getDn, getEndDate, getMedia, getNotepad, getParentInteraction, getPlace, getStatus, getStructTextMimeType, getStructuredText, getSubject, getText, getType, getUserName, isDone, markDone, merge, releaseCall, save, setContactId, setContentBinary, setContentBinaryMimeType, setContentBinarySize, setNotepad, setStructTextMimeType, setStructuredText, setSubject, setText
 
Methods inherited from interface com.genesyslab.ail.AbstractInteraction
addInteractionListener, getAttachedData, getAttachedData, getAttachedDataEx, getTConnectionId, queryStatus, removeAttachedData, removeInteractionListener, saveAttachedData, setAttachedData
 
Methods inherited from interface com.genesyslab.ail.Possible
arePossible, isPossible
 
Methods inherited from interface com.genesyslab.ail.Savable
getContactServerId, isDirty
 

Method Detail

reschedule

void reschedule(java.util.Calendar startDate,
                java.util.Calendar endDate,
                java.lang.String wcbRescheduleQueue)
                throws RequestFailedException
Reschedules this InteractionWebcallback for some time later.

Parameters:
startDate - the beginning of the timeframe when the InteractionWebcallback should be delivered to an agent again. Can be null, in this case the original startDate is not changed.
endDate - the end of the timeframe when the InteractionWebcallback should be delivered to an agent again. If null, the endDate is set 20 minutes after the startDate.
wcbRescheduleQueue - the name of the queue where rescheduled interactions are to be put.
Throws:
RequestFailedException

createInteraction

Interaction createInteraction(java.lang.String queue)
                              throws RequestFailedException
Creates an interaction of the desired response type in order to fulfill this InteractionWebcallback. Alternatively, Place.createInteraction(MediaType, Interaction, String) can be used, but you will need to set some attached data.

Parameters:
queue - the queue where the interaction must be created. This parameter is ignored if the desired response type is voice.
Throws:
RequestFailedException

cancel

void cancel(java.lang.String result,
            java.lang.String wcbCancelQueue)
            throws RequestFailedException
Cancels this interaction by setting its result, and putting it into the queue for completed interactions.

Parameters:
result - the result of this interaction.
wcbCancelQueue - the queue for canceled Webcallback interactions.
Throws:
RequestFailedException

complete

void complete(java.lang.String result,
              java.lang.String wcbCompletedQueue)
              throws RequestFailedException
Completes the processing of this interaction by setting its result, and putting it into the queue for completed interactions.

Parameters:
result - the result of this interaction.
wcbCompletedQueue - the queue for completed Webcallback interactions.
Throws:
RequestFailedException

customerSessionActive

void customerSessionActive(java.lang.String sessionID)
Updates the attached data of this interaction when the customer session is active.

Parameters:
sessionID - the ID of the customer session. In case the desired response type is voice, pass the AbstractInteraction.getTConnectionId(). In multimedia case, pass Savable.getContactServerId().

customerSessionCompleted

void customerSessionCompleted()
Updates the attached data of this interaction when the customer session is completed.


getEndTime

java.util.Calendar getEndTime()
Returns the end of the timeframe when a response to this interaction is required.


getStartTime

java.util.Calendar getStartTime()
Returns the beginning of the timeframe when a response to this interaction is required.


getAttempts

int getAttempts()
Returns the number of attempts to fulfill this request that have already been made.


getTimeShift

int getTimeShift()
Returns the time shift that must be taken into account, regarding getStartTime() and getEndTime(). Value is in minutes, please see Date.getTimeZoneOffset()


getCustomerNumber

java.lang.String getCustomerNumber()
Returns the number at which the customer requests to be replied.

See Also:
getDesiredResponseType()

getDesiredResponseType

java.lang.String getDesiredResponseType()
Returns the name of the media, through which the customer requests to be replied.

See Also:
getCustomerNumber()

getNotificationEmail

java.lang.String getNotificationEmail()
Returns the e-mail address to which the notifications about the processing of this InteractionWebcallback must be sent.

See Also:
getDoEmailNotification()

getResult

java.lang.String getResult()
Returns the result of the processin of this InteractionWebcallback.


getWcbStatus

InteractionWebcallback.WcbStatus getWcbStatus()
Returns the Webcallback status of this InteractionWebcallback.


getWcbType

InteractionWebcallback.WcbType getWcbType()
Returns the Webcallback type of this InteractionWebcallback.


getDoEmailNotification

boolean getDoEmailNotification()
Returns true if the customer asked to receive e-mail notifications about the processing of this InteractionWebcallback.

See Also:
getNotificationEmail()