Interface ChatBotModifier

  • All Superinterfaces:
    Modifier<ChatBot>

    public interface ChatBotModifier
    extends Modifier<ChatBot>
    Defines an API to modify an instance of type ChatBot
    Since:
    12.21
    • Method Detail

      • getName

        java.lang.String getName()
        Get the current chatbot name which is held in this ChatBotModifier.
        Returns:
        the name as String
        Since:
        12.21
      • validateName

        boolean validateName​(java.lang.String name)
                      throws ValidationException
        Validate the given name.
        Parameters:
        name - the name to validate
        Returns:
        true if the name is valid
        Throws:
        ValidationException - if the name is invalid
        Since:
        12.21
      • getDescription

        java.lang.String getDescription()
        Get the current chatbot description which is held in this ChatBotModifier.
        Returns:
        the description as String
        Since:
        12.21
      • setDescription

        ChatBotModifier setDescription​(java.lang.String description)

        Change the description of the associated ChatBot.

        The change is applied after the Modifier.write() method is called.

        Parameters:
        description - the new description as String
        Returns:
        the ChatBotModifier
        Since:
        12.21
      • isEnabled

        boolean isEnabled()
        Get the current chatbot enabled value which is held in this ChatBotModifier.
        Returns:
        the enabled value as boolean
        Since:
        12.21
      • setEnabled

        ChatBotModifier setEnabled​(boolean enabled)
                            throws ValidationException

        Change the enabled value of the associated ChatBot.

        The change is applied after the Modifier.write() method is called.

        Parameters:
        enabled - the new enabled value as boolean
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if the change is invalid
        Since:
        12.21
      • validateEnabled

        boolean validateEnabled​(boolean enabled)
                         throws ValidationException
        Validate the given enabled state.
        Parameters:
        enabled - the new enabled state
        Returns:
        true if the change is valid
        Throws:
        ValidationException - if the change is invalid
        Since:
        12.21
      • getTenant

        Tenant getTenant()
        Get the current chatbot tenant which is held in this ChatBotModifier.
        Returns:
        the tenant as Tenant
        Since:
        12.21
      • setTenant

        ChatBotModifier setTenant​(Tenant tenant)
                           throws ValidationException

        Change the tenant of the associated ChatBot.

        The change is applied after the Modifier.write() method is called. If the tenant is set to null, all tenants are associated with the chatbot.

        Parameters:
        tenant - the new tenant as Tenant
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if the tenant is deleted or not persistent
        Since:
        12.21
      • validateTenant

        boolean validateTenant​(Tenant tenant)
                        throws ValidationException
        Validate the given tenant.
        Parameters:
        tenant - the tenant to validate
        Returns:
        true if the tenant is valid (or null)
        Throws:
        ValidationException - if the tenant is deleted or not persistent
        Since:
        12.21
      • getNickname

        java.lang.String getNickname()
        Get the current chatbot nickname which is held in this ChatBotModifier.
        Returns:
        the nickname as String If no nickname is defined (empty string) the system setting or default nickname will be used.
        Since:
        12.21
      • setNickname

        ChatBotModifier setNickname​(java.lang.String nickname)
                             throws ValidationException

        Change the nickname of the associated ChatBot.

        If the nickname is set to an empty string the system setting or default nickname will be used. The change is applied after the Modifier.write() method is called.

        Parameters:
        nickname - the new nickname as String
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if the nickname is not valid
        Since:
        12.21
      • validateNickname

        boolean validateNickname​(java.lang.String nickname)
                          throws ValidationException
        Validate the given nickname.
        Parameters:
        nickname - the nickname to validate
        Returns:
        true if the nickname is valid (or null)
        Throws:
        ValidationException - if the nickname is not valid
        Since:
        12.21
      • getRestUrl

        java.lang.String getRestUrl()
        Get the current chatbot restUrl which is held in this ChatBotModifier.
        Returns:
        the restUrl as String
        Since:
        12.21
      • setRestUrl

        ChatBotModifier setRestUrl​(java.lang.String restUrl)
                            throws ValidationException

        Change the restUrl of the associated ChatBot.

        The change is applied after the Modifier.write() method is called.

        Parameters:
        restUrl - the new restUrl as String
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if the restUrl is not valid
        Since:
        12.21
      • validateRestUrl

        boolean validateRestUrl​(java.lang.String restUrl)
                         throws ValidationException
        Validate the given restUrl.
        Parameters:
        restUrl - the restUrl to validate
        Returns:
        true if the restUrl is valid
        Throws:
        ValidationException - if the restUrl is is not valid
        Since:
        12.21
      • getKnowledgeBaseAgentName

        java.lang.String getKnowledgeBaseAgentName()
        Get the current chatbot knowledgeBaseAgentName which is held in this ChatBotModifier.
        Returns:
        the knowledgeBaseAgentName as String If the returned value is an empty string, the default agent will be used.
        Since:
        12.21
      • setKnowledgeBaseAgentName

        ChatBotModifier setKnowledgeBaseAgentName​(java.lang.String knowledgeBaseAgentName)
                                           throws ValidationException

        Change the knowledgeBaseAgentName of the associated ChatBot.

        If the knowledgeBaseAgentName is set to an empty string, the default agent will be used. The change is applied after the Modifier.write() method is called.

        Parameters:
        knowledgeBaseAgentName - the new knowledgeBaseAgentName as String
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if the knowledgeBaseAgentName is not valid
        Since:
        12.21
      • validateKnowledgeBaseAgentName

        boolean validateKnowledgeBaseAgentName​(java.lang.String knowledgeBaseAgentName)
                                        throws ValidationException
        Validate the given knowledgeBaseAgentName.
        Parameters:
        knowledgeBaseAgentName - the knowledgeBaseAgentName to validate
        Returns:
        true if the knowledgeBaseAgentName is valid (or null)
        Throws:
        ValidationException - if the knowledgeBaseAgentName is not valid
        Since:
        12.21
      • getInactivityTimeout

        java.lang.Long getInactivityTimeout()
        Get the current chatbot inactivityTimeout which is held in this ChatBotModifier. The wait time that determines when inactive chatbot chats should be automatically closed.
        Returns:
        the inactivityTimeout as Long or null, if the timeout is inactive
        Since:
        12.21
      • setInactivityTimeout

        ChatBotModifier setInactivityTimeout​(java.lang.Long inactivityTimeout)
                                      throws ValidationException

        Change the inactivityTimeout of the associated ChatBot.

        The change is applied after the Modifier.write() method is called. If the timeout is set to null, it will be inactive.

        Parameters:
        inactivityTimeout - the new inactivityTimeout as Long in seconds
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if timeout has negative value
        Since:
        12.21
      • validateInactivityTimeout

        boolean validateInactivityTimeout​(java.lang.Long inactivityTimeout)
                                   throws ValidationException
        Validate the given inactivityTimeout.
        Parameters:
        inactivityTimeout - the inactivityTimeout to validate
        Returns:
        true if the inactivityTimeout is valid
        Throws:
        ValidationException - if timeout has negative value
        Since:
        12.21
      • getRouteToAgentTimeout

        java.lang.Long getRouteToAgentTimeout()
        Get the current chatbot routeToAgentTimeout which is held in this ChatBotModifier. If a previous customer chat was assigned to an agent, a following chat from the same customer will get routed to an agent in this time period
        Returns:
        the routeToAgentTimeout as Long or null, if the timeout is inactive
        Since:
        12.21
      • setRouteToAgentTimeout

        ChatBotModifier setRouteToAgentTimeout​(java.lang.Long routeToAgentTimeout)
                                        throws ValidationException

        Change the routeToAgentTimeout of the associated ChatBot.

        The change is applied after the Modifier.write() method is called. If the timeout is set to null, it will be inactive.

        Parameters:
        routeToAgentTimeout - the new routeToAgentTimeout as Long in seconds
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if timeout has negative value
        Since:
        12.21
      • validateRouteToAgentTimeout

        boolean validateRouteToAgentTimeout​(java.lang.Long routeToAgentTimeout)
                                     throws ValidationException
        Validate the given routeToAgentTimeout.
        Parameters:
        routeToAgentTimeout - the routeToAgentTimeout to validate
        Returns:
        true if the routeToAgentTimeout is valid
        Throws:
        ValidationException - if timeout has negative value
        Since:
        12.21
      • getBotRoutingTimeout

        java.lang.Long getBotRoutingTimeout()
        Get the current chatbot botRoutingTimeout which is held in this ChatBotModifier. Determines the wait time for a chatbot that is no longer reachable before it gets rerouted to an agent.
        Returns:
        the botRoutingTimeout as Long or null, if the timeout is inactive
        Since:
        12.21
      • setBotRoutingTimeout

        ChatBotModifier setBotRoutingTimeout​(java.lang.Long botRoutingTimeout)
                                      throws ValidationException

        Change the botRoutingTimeout of the associated ChatBot.

        The change is applied after the Modifier.write() method is called. If the timeout is set to null, it will be inactive.

        Parameters:
        botRoutingTimeout - the new botRoutingTimeout as Long in seconds
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if timeout has negative value
        Since:
        12.21
      • validateBotRoutingTimeout

        boolean validateBotRoutingTimeout​(java.lang.Long botRoutingTimeout)
                                   throws ValidationException
        Validate the given botRoutingTimeout.
        Parameters:
        botRoutingTimeout - the botRoutingTimeout to validate
        Returns:
        true if the botRoutingTimeout is valid
        Throws:
        ValidationException - if timeout negative value
        Since:
        12.21
      • getAgentRoutingTimeout

        java.lang.Long getAgentRoutingTimeout()
        Get the current chatbot agentRoutingTimeout which is held in this ChatBotModifier. If no agent accepts the chat which was handed over by the chatbot within the specified timeframe, the chat will be returned to the chatbot.
        Returns:
        the agentRoutingTimeout as Long or null, if the timeout is inactive
        Since:
        12.21
      • setAgentRoutingTimeout

        ChatBotModifier setAgentRoutingTimeout​(java.lang.Long agentRoutingTimeout)
                                        throws ValidationException

        Change the agentRoutingTimeout of the associated ChatBot.

        The change is applied after the Modifier.write() method is called. If the timeout is set to null, it will be inactive.

        Parameters:
        agentRoutingTimeout - the new agentRoutingTimeout as Long in seconds
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if timeout has negative value
        Since:
        12.21
      • validateAgentRoutingTimeout

        boolean validateAgentRoutingTimeout​(java.lang.Long agentRoutingTimeout)
                                     throws ValidationException
        Validate the given agentRoutingTimeout.
        Parameters:
        agentRoutingTimeout - the agentRoutingTimeout to validate
        Returns:
        true if the agentRoutingTimeout is valid
        Throws:
        ValidationException - if timeout has negative value
        Since:
        12.21
      • isSendTypingEnabled

        boolean isSendTypingEnabled()
        Get the current chatbot sendTypingEnabled value which is held in this ChatBotModifier.
        Returns:
        the sendTypingEnabled value as boolean
        Since:
        12.21
      • setSendTypingEnabled

        ChatBotModifier setSendTypingEnabled​(boolean sendTypingEnabled)
                                      throws ValidationException

        Change the sendTypingEnabled value of the associated ChatBot.

        The change is applied after the Modifier.write() method is called.

        Parameters:
        sendTypingEnabled - the new sendTypingEnabled value as boolean
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if the change is invalid
        Since:
        12.21
      • validateSendTypingEnabled

        boolean validateSendTypingEnabled​(boolean sendTypingEnabled)
                                   throws ValidationException
        Validate the given sendTypingEnabled state.
        Parameters:
        sendTypingEnabled - the new sendTypingEnabled state
        Returns:
        true if the change is valid
        Throws:
        ValidationException - if the change is invalid
        Since:
        12.21
      • getCategories

        java.util.Set<Category> getCategories()
        Get the current categories assigned to the chatbot which are held in this ChatBotModifier.
        Returns:
        the categories as a list of type Category
        Since:
        12.21
      • addAssignedCategories

        ChatBotModifier addAssignedCategories​(Category... categories)
                                       throws ValidationException

        Assign the passed categories to the chatbot.

        The change is applied after the Modifier.write() method is called.

        Parameters:
        categories - the categories the chatbot should be assigned to
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if a category is null
        Since:
        12.21
      • removeAssignedCategories

        ChatBotModifier removeAssignedCategories​(Category... categories)
                                          throws ValidationException

        Remove the assignment the passed categories to the chatbot.

        The change is applied after the Modifier.write() method is called.

        Parameters:
        categories - the categories for which the assignment should be removed
        Returns:
        the ChatBotModifier
        Throws:
        ValidationException - if a category is null
        Since:
        12.21