Interface ConfigurationService

All Known Implementing Classes:
DefaultConfigurationService

public interface ConfigurationService
Configuration service.
  • Method Details

    • createConfiguration

      String createConfiguration(String productCode)
      Creates a new configuration, based on a root product code
      Parameters:
      productCode - Root product code
      Returns:
      Configuration Identifier
    • getConfigurationSummary

      ConfigurationSummaryData getConfigurationSummary(String configId)
      Retrieves the CPQ configuration summary
      Parameters:
      configId - CPQ configuration Id
      Returns:
      CPQ configuration summary
    • deleteConfiguration

      boolean deleteConfiguration(String configId)
      Delete the configuration for given configId
      Parameters:
      configId - CPQ configuration Id
      Returns:
      true if deletion was successful
    • cloneConfiguration

      String cloneConfiguration(String configId, boolean permanent)
      Clones the configuration for given configId
      Parameters:
      configId - CPQ configuration Id
      permanent - indicates whether clone should be permanent
      Returns:
      CPQ configuration Id of cloned configuration
    • removeCachedConfigurationSummary

      void removeCachedConfigurationSummary(String configId)
      Removes a cached configuration summary if present. Tolerates summary not being present
      Parameters:
      configId - Configuration identifier
    • hasConfigurationIssues

      boolean hasConfigurationIssues(String configId)
      Checks if a configuration has issues
      Parameters:
      configId - Configuration ID
      Returns:
      Issues?
    • getNumberOfConfigurationIssues

      int getNumberOfConfigurationIssues(String configId)
      get's the total number of configuration issues
      Parameters:
      configId - Identifies the CPQ configuration
      Returns:
      number of configuration issues
    • makeConfigurationPermanent

      void makeConfigurationPermanent(String configId)
      Marks a persisted configuration as permanent.
      Should be called when the UI is 'done' configuring. Afterwards admin/server is required to do any changes. UI/Client scope is not sufficient anymore to do changes.
      Parameters:
      configId - config id
    • getLineItems

      List<ConfigurationSummaryLineItemData> getLineItems(String configId)
      get's the list of line items
      Parameters:
      configId - Identifies the CPQ configuration
      Returns:
      line items
    • getConfigurationSummary

      default ConfigurationSummaryData getConfigurationSummary(String configId, AbstractOrderEntryModel entry)
      Retrieves the CPQ configuration summary. As a rule, CPQ configuration can be retrieved only for the origin user or a user from the same company. However, there are some processes in commerce which run asynchronous with the anonymous user and need to retrieve the CPQ configuration. In these cases, the required authorization is already verified by the parent process. This method allows such processes to retrieve the CPQ configuration summary even if the process is running with anonymous user.
      Parameters:
      configId - CPQ configuration Id
      entry - entry containing this CPQ configurable product
      Returns:
      CPQ configuration summary
    • getNumberOfConfigurationIssues

      default int getNumberOfConfigurationIssues(String configId, AbstractOrderEntryModel entry)
      Get's the total number of configuration issues. As a rule, CPQ configuration can be retrieved only for the origin user or a user from the same company. However, there are some processes in commerce which run asynchronous with the anonymous user and need to retrieve the CPQ configuration. In these cases, the required authorization is already verified by the parent process. This method allows such processes to retrieve the number of issues in the CPQ configuration even if the process is running with anonymous user.
      Parameters:
      configId - Identifies the CPQ configuration
      entry - entry containing this CPQ configurable product
      Returns:
      number of configuration issues
    • hasConfigurationIssues

      default boolean hasConfigurationIssues(String configId, AbstractOrderEntryModel entry)
      Checks if a configuration has issues. As a rule, CPQ configuration can be retrieved only for the origin user or a user from the same company. However, there are some processes in commerce which run asynchronous with the anonymous user and need to retrieve the CPQ configuration. In these cases, the required authorization is already verified by the parent process. This method allows such processes to verify whether the CPQ configuration has issues even if the process is running with anonymous user.
      Parameters:
      configId - Configuration ID
      entry - entry containing this CPQ configurable product
      Returns:
      Issues?