Interface DeskService

  • All Known Implementing Classes:
    DeskServiceImpl

    public interface DeskService
    The desk and ticket management service interface is used to control and manage desk and ticket conversations.
    Author:
    Micha Kiener
    • Method Detail

      • startTicketConversation

        Conversation startTicketConversation​(String deskConversationId,
                                             Collection<String> participantIds,
                                             String name,
                                             Map<String,​Object> variables,
                                             String userIdForPermissionChecks)
        Starts a new ticket conversation as part of a desk.
        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

        void initializeDeskConversation​(String deskConversationId)
        Invoked by the generic conversation listener to initialize the given desk conversation.
        Parameters:
        deskConversationId - the id of the desk conversation newly created and in need for initialization
      • initializeTicketConversation

        void initializeTicketConversation​(String deskConversationId,
                                          String ticketConversationId)
        Invoked by the generic conversation listener to initialize the given ticket conversation.
        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

        void switchToDeskTeam​(String deskConversationId,
                              String ticketConversationId,
                              boolean isNewTicket)
      • switchToDeskTeamMember

        void switchToDeskTeamMember​(String deskConversationId,
                                    String ticketConversationId,
                                    String deskMemberId,
                                    boolean isNewTicket)
      • handleUnassignedTicketMessage

        void handleUnassignedTicketMessage​(String deskConversationId,
                                           String ticketConversationId,
                                           Message message)
      • getDigitalAssistantUserId

        String getDigitalAssistantUserId()