Class DeskServiceImpl

All Implemented Interfaces:
DeskService

public class DeskServiceImpl extends CommonEngineServiceImpl<EngageEngineConfiguration> implements DeskService
The default desk and ticket service implementation.
Author:
Micha Kiener
  • Field Details

    • digitalAssistantUserId

      protected String digitalAssistantUserId
      The user id of the digital assistant used in ticket and desk conversations, defaults to the digital assistant user, if not changed.
  • Constructor Details

  • Method Details

    • startTicketConversation

      public Conversation startTicketConversation(String deskConversationId, Collection<String> participantIds, String name, Map<String,Object> variables, String userIdForPermissionChecks)
      Description copied from interface: DeskService
      Starts a new ticket conversation as part of a desk.
      Specified by:
      startTicketConversation in interface DeskService
      Parameters:
      deskConversationId - the id of the desk conversation where a new ticket should be started for
      participantIds - the collection of participants for the ticket
      name - the name of the ticket, must be provided
      variables - the optional map of additional ticket information
      userIdForPermissionChecks - optionally pass in a user id to check for permissions, if not provided, no permission check is done
      Returns:
      the newly created ticket conversation
    • initializeDeskConversation

      public void initializeDeskConversation(String deskConversationId)
      Description copied from interface: DeskService
      Invoked by the generic conversation listener to initialize the given desk conversation.
      Specified by:
      initializeDeskConversation in interface DeskService
      Parameters:
      deskConversationId - the id of the desk conversation newly created and in need for initialization
    • initializeTicketConversation

      public void initializeTicketConversation(String deskConversationId, String ticketConversationId)
      Description copied from interface: DeskService
      Invoked by the generic conversation listener to initialize the given ticket conversation.
      Specified by:
      initializeTicketConversation in interface DeskService
      Parameters:
      deskConversationId - the id of the desk conversation the ticket belongs to
      ticketConversationId - the id of the ticket conversation newly created and in need for initialization
    • switchToDeskTeam

      public void switchToDeskTeam(String deskConversationId, String ticketConversationId, boolean isNewTicket)
      Specified by:
      switchToDeskTeam in interface DeskService
    • switchToDeskTeamMember

      public void switchToDeskTeamMember(String deskConversationId, String ticketConversationId, String deskMemberId, boolean isNewTicket)
      Specified by:
      switchToDeskTeamMember in interface DeskService
    • handleUnassignedTicketMessage

      public void handleUnassignedTicketMessage(String deskConversationId, String ticketConversationId, Message message)
      Specified by:
      handleUnassignedTicketMessage in interface DeskService
    • getDigitalAssistantUserId

      public String getDigitalAssistantUserId()
      Specified by:
      getDigitalAssistantUserId in interface DeskService
    • setDigitalAssistantUserId

      public void setDigitalAssistantUserId(String digitalAssistantUserId)
    • getCommandContext

      protected CommandContext getCommandContext()