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 Details

    • getName

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

      Change the name of the associated ChatBot.

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

      Parameters:
      name - the new name as String
      Returns:
      the ChatBotModifier
      Throws:
      ValidationException - if the name is invalid
      Since:
      12.21
    • validateName

      boolean validateName(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

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

      ChatBotModifier setDescription(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

      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(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(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

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

      ChatBotModifier setRestUrl(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(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

      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(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(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

      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(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(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

      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(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(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

      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(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(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

      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(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(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

      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