Click or drag to resize
Apptus.ESales.Connector Namespace

The Apptus.ESales.Connector namespace contains all the classes of the eSales Connector API. These classes are intended to support common web development tasks such as querying the eSales query processor cluster correctly, keeping track of recent session activity to enable personalization, providing an object model for querying selected parts of an eSales panel hierarchy as well as browse through the results of a panel query using a standardized object model rather than relying on parsing result XML.

If the cluster is hosted in a cloud, the Apptus.ESales.Connector.CloudConnector should be used. Otherwise, the OnPremConnector should be used.
The connector objects are obtained by calling the static get(String) or getOrCreate(String) methods available in both classes. The getOrCreate method will create an instance if there is no instance using that url already. The get method will not throw any exceptions but if there is no instance using the given url, it will return null.

The Connector instance is used for imports and exports and fetching Session instances.
The Session instance is used to notify eSales and create Panel instances.
The Panel instance is used to execute eSales panels and parse them into subclasses of the Result class.

Public classArgMap
Convenience class for passing arguments to a panel request.
Public classAuthorization Obsolete.
Public classBusyClusterException
Public classCloudConnector
Connector for Apptus eSales when hosted in the cloud. All requests to the eSales service are initiated by method calls to a CloudConnector object, or an object obtained via the CloudConnector. Use the GetOrCreate(String) or Get(String) method to obtain a CloudConnector object.
Public classConnector

Abstract super type for CloudConnector and OnPremConnector. Shared operations are declared here to allow for code reuse for session-based operations and some common operations.

Imports can be carried out using the import* methods such as ImportConfiguration(Stream, String).
Exports can in a similar manner be done with the export* methods such as ExportConfiguration.

The XML data formats are documented in the section Importing data on Apptus Zone ( The format for configuration and panels isn't documented publicly. They are generated by eSales Manager and these exports and imports should be used for backup and migration only. Manually editing these files isn't supported and should not be done.

The procedure for imports can be found in the eSales tutorial on Apptus Zone (

Use the Session(String, String, String) method to get Session instances. These are used to notify eSales and query panels. View the Session documentation for details.

Public classCssClass
Class used to generate the css classes that are required to use automatic notifications or site overlay for web pages. The class has methods that returns string representations for the css classes given a ticket.
Public classCustomerKeyAuthentication
Public classDuplicateSubpanelException
Public classDynamicPage

A dynamic page consists of a page name and a number of subpanels. Each subpanel must point to a public panel, already defined in the eSales panel hierarchy.

Use {@link #retrieveContent()} to get the content of this page and all of its subpanels, recursively.

Public classCode exampleFacets
Class for creating a facets argument, used for check-box navigation. It also has support for parsing and toggling facet values, so it can be used to keep track of selection changes. Note that Facets are immutable and all methods return new Facets objects.
Public classFetchClusterException
Thrown to signal that en error was encountered while fetching eSales cluster configuration.
Public classFilter
A convenience class for filters used as argument to selected functions in the eSales service.
Public classCode exampleFilterBuilder
The FilterBuilder class is a utility that is intended to be used to create filters for eSales queries. The methods in this class are all static and return some kind of Filter limiting your search.
Working with the FilterBuilder
// create some simple attribute filters
Filter a = FilterBuilder.Attribute("artist", "Presley");
Filter b = FilterBuilder.Attribute("song", "Jumpin' Jack Flash");     
Filter c = FilterBuilder.Attribute("description", "Rock nostalgia");

Console.WriteLine("Created some attribute filters:"); 


// lets combine them
Filter kingOfRock = FilterBuilder.And(a, c);
Filter classic = FilterBuilder.And(b, c);
Filter justCool = FilterBuilder.Or(a, b);
Filter coolOldie = FilterBuilder.And(justCool, c); 


// lets add some more stuff into the mix
Filter lamers = FilterBuilder.Attribute("artist", "Sofarock");
lamers = FilterBuilder.Or(lamers, FilterBuilder.Attribute("artist", "amazonics"));
Filter noLamers = FilterBuilder.Not(lamers);

// combine more than 2 filters at once by simply supplying them all
Filter theOriginal = FilterBuilder.And(classic, noLamers, c);
Public classIllegalArgumentException Obsolete.
Thrown to signal that an illegal argument was supplied during a method call.
Public classIllegalStateException Obsolete.
Thrown if some invalid state is encountered.
Public classInstanceUrl
Public classInvalidFilterException
Thrown if an invalid filter is being constructed.
Public classInvalidResultException
Thrown if an invalid result XML was encountered while parsing.
Public classJavaScriptNotifier
A class used by the JavaScript notification system.
Public classMalformedUrlException
Thrown to signal that a malformed URL was encountered.
Public classMessageAuthentication
Public classOnPremConnector
Connector for on-premise instances of Apptus eSales. All requests to the eSales service are initiated by method calls to a Connector, or an object obtained via the Connector. Use the GetOrCreate(String) or Get(String) method to obtain a OnPremConnector object.
Public classOrder
A sale order from a customer session. Use Session.NotifyPayment to notify eSales that an order has been paid by a customer in a session.
Public classOrderLine
An order line in a sale order.
Public classPanel

A panel in the eSales panel hierarchy. Use RetrieveContent to get the content of this panel and all its subpanels, recursively.

When executing panels, see the Panel library section in Apptus Zone ( for the arguments to each panel. When working with filters see Working with filters and the FilterBuilder class. Also read the other articles in the Key concepts section for information about the other panel arguments.

Public classPanelContent
The content of a panel as retrieved from an eSales servie.

A PanelContent object contains all panel attributes for the panel, as defined in eSales Manager.

For zone panels, a PanelContent object contains all subpanels returned by the eSales service.

For function panels, a PanelContent object contains the result of evaluating the function in the eSales service.

An object of this class will never make new requests to the eSales service; it justs holds the result of a request.

Public classPanelException
Thrown when trying to read the result from a panel, if the evaluation resulted in error in the eSales service.
Public classPanelParser
Parser for a panel response from the eSales service.
Public classPath
Convenience class for working with panel paths.
Public classProductStreamer

An IEnumerable that allows you to do filtered product exports, conveniently parsed into ResultProduct items. Every new iteration on this class will result in a new request to eSales. Note that the IEnumerator returned by the GetEnumerator method must be disposed when done. This is done automatically when using foreach iteration.

Note that while iterating, imports will be blocked from completing on a selected eSales server. Imports will not fail but will wait for the iteration to finish. This means that if you fail to close the ProductStreamer you might block imports indefinitely!

If an error occurrs during iteration a XmlException, IOException or BadServerException may be thrown.

Public classReporter
A Reporter fetches market-specific reports from an eSales cluster. All reports contains statistical data from a given time interval.
Public classResult
Base class for result types.
Public classResultAd
Representation of a ad as returned by eSales.
Public classResultAds
Representation of a ads listing as returned by eSales.
Public classResultAttribute
Representation of an attribute for a product, variant, category or ad.
Public classResultCategory
A common abstraction for the CategoryNode and CategoryData classes.
Public classResultCategoryData
A class representing a category that holds only attribute information. In addition to its super class it also knows which tree it belongs to.
Public classResultCategoryList
Represents a result having the CategoryList format, which is a list of CategoryData objects.
Public classResultCategoryNode
Represents the root of a (possibly partial) category tree. The tree can be traversed using for example Subcategories, or utility methods such as GetSelectedSubcategory and FindDescendant(String).
Public classResultCompletion
Representation of a completion.
Public classResultCompletions
Representation of a Autocomplete result as returned by eSales.
Public classResultCorrection
Representation of a correction.
Public classResultCorrections
Representation of a find_corrections result as returned by eSales.
Public classResultCount
Representation of a result from calling the eSales count_products web service function.
Public classResultFacetList
Public classResultFacetRange
Represents a result having the facet_range format.
Public classResultPhrase
Representation of a phrase.
Public classResultPhrases
A result having the phrases format.
Public classResultProduct
Representation of a product as returned by eSales.
Public classResultProducts
Representation of a product listing as returned by eSales.
Public classResultSuggestion
Public classResultSuggestions
Public classResultValue
Represents a single element in a result having the values format.
Public classResultValues
Represents a result having the values format.
Public classResultVariant
Representation of a variant as returned by eSales.
Public classResultTypeException
Thrown when trying to retrieve a result as a specific resultType, which the result does not match.
Public classRuleParser
Public classSession

A session where information is exchanged with an eSales service.

Use the notification methods to notify the eSales service about client-side activities. These notification will be used to improve results from eSales with the use of machine learning algorithms, and for statistical reports.
A tutorial section describing the procedure for notifying client-side activities can be found in the tutorial section Notifying Customer Actions on Apptus Zone (

Use the Panel(String) method to get a panel object, from which you may retrieve content from the eSales service.

You may (but need not) call the End method once the session is over. This will allow the eSales service to include the information in statistical reports. If you don't call End the session will end automatically on the eSales server after two hours.

Public classSKUList

List of products and variants. Used for notifying payments.

Add products to list if no specific variant of the product is used. Add product variant pairs if a specific variant is used of the product.

Public classSubpanel

A subpanel refers to a public panel, and can be provided to a dynamic page in order to retrieve content from several panels at once without having to predefine a zone. Each subpanel must have a unique name within a dynamic page.

Public classTypeParser
Public classUrlParser Obsolete.
Public classUrlParserClusterUrl
Public enumerationResultResultType
Enumeration specifying the type of result for a specific instance.