Please read information below to find out how goods search is performed and what search settings can be done.
Trade provider is a service (or marketplace) for trading. Information about goods (titles, settings, configuration, etc.) and categories is sent to OT API from trade provider and then is broadcasted to website via OT API Key.
Use GetProviderInfoList method to get list of available providers and information about them.
"Warehouse" provider will be added with additional Goods from Stock Module. You can use it to create your own catalog and add any goods (either from available providers or your own).
Search options and conditions
Each provider has its own set of search conditions. It can be varied depending on website goals. Use GetProviderSearchMethodInfoList method to get list of available search options and information what they support.
Search can be done by two methods: SearchItemsFrame and BatchSearchItemsFrame. They are completely identical. Difference is that BatchSearchItemsFrame allows to get additional information right per one request besides search itself. Possible additional information will be described below.
Search conditions are also identical. They are sent into xmlParameters and presented by structure SearchItemsParameters (this structure can be found, for example, in BatchSearchItemsFrame under "xmlParameters" field by clicking on "Structure"). It has xml format (like other structure parameters). xmlParameters is obligatory as it defines what we are looking for. Examples will be described below.
What is called search conditions
- The main search criteria: search phrase, category, vendor, brand.
- Additional search criteria: filters by characteristics, novelty of goods, and another different product’s parameters.
- Sorting of search results.
From information about search methods you can get information what is available from these, and what variants are available.
Getting information about search methods
- Using GetProviderSearchMethodInfoList allows get all possible methods of search.
- GetAvailableProviderSearchMethodInfoListForSearchParameters method allows get relevant methods of search by specified parameters.
- If to specify additional block AvailableSearchMethods, you can get information about search methods immediately with products searching.
In the following table you can see what can be known in information about search method and what search conditions it affects. For example, for search condition OrderBy (items sorting) can be found possible values from AvailableSorts field. In information about search method these parameters are in the table in one line.
Comparison of search conditions and capabilities
The following table provides a comparative description of search methods as they appear in parameters structure and how they are presented in search methods description.
|Search methods||Search method information|
|Parameter name||Value example||Parameter desription|
|Value example||Parameter desription|
Provider will be defined by other conditions (for example, categories) if provider was not explicitly specified in search methods. Search will be done by default provider if none of conditions defines provider.
|Search method |
|SearchMethod||Official||Default search method defined in settings is used if another one is not set.||SearchMethod||Official||Search method title|
|DisplayName||Branded goods (Tmall)||Displayed search method title (in necessary language)|
|Flags||List of search method features|
|Goods quantity limitations||UseOptimalFrameSize||true/false|
Feature of using optimal frame size insted of sent one.
frameSize parameter is ignored and OptimalFrameSize parameter will be used from chosen search method if this condition was sent in true value.
Optimal number of requested goods (page size).
Maximum possible search speed is available if such size of pages is used because it meets size of provider's pages.
Maximum quantity of pages received for 1 query.
It can work much faster when using optimum number.
Number of goods received by the same search methods. Change and define search conditions to receive more goods.
|Goods order||OrderBy||Price:Asc||Default sorting set in settings will be used if value is not set or is not included into available.||AvailableSorts||List of available sorting in search method.|
|CategoryId||16||Category ID for search.|
|Search box for item title.|
If only item ID (item code) or link to provider's website page is indicated then only this item will be found and shown in search results (or empty if there is no such product).
Search box language by item title. It is equal to language of goods query if not set.
Autotranslation to provider language is done if it is not equal to provider language.
|VendorId||Vendor ID||Vendor||true/false||If search by vendor is supported.|
|VendorAreaId||Vendor area ID||VendorLocation||true/false||If search method supports vendor area.|
|VendorRatingRange||true/false||If search method supports filter by vendor rating.|
|MinVendorRating||5||Minimum value of vendor rating||MinVendorRating||1||Minimum value of vendor rating.|
|MaxVendorRating||15||Maximum value of vendor rating||MaxVendorRating||20||Maximum value of vendor rating.|
|true/false||If search method supports brands.|
|BrandPropertyValueId||Vrand Value ID (old parameter, use BrandId)|
|If search method supports filter by item price.|
Currency code for price range
|MinVolume||100||Minimum sales volume||VolumeRange||true/false||If search method supports filter by sales volume.|
|MaxVolume||500||Maximum sales volume|
|VolumeRangeLogic||None / Range / OnlyMin / OnlyMax||The logic of conditions by sales volume: range, only minimum, only maximum.|
|Item status (new, second-hand, unused)||StuffStatus||New / Unused / Second||Item status||StuffStatus||true/false||If search method supports filter by item status.|
Item configurations (color, model, etc.)
List of search features provided by structure.
If search method supports item features.
|MultipleConfiguratorLogic||None / All / And|
The logic of search method by several values of one feature.
Use in search of several values of one feature (for example, it is possible to output only red AND green or red OR green).
List of item features.
List of special filters supported by search method.
|Search by photo||ImageUrl||Address of the image to search for goods||Module||Image||Photo search parameters are allowed only in the search mode, in which the Module property is equal to Image|
Image File ID for Product Search
Used if the image you searched for was first uploaded via OTAPI.
|Output mode||OutputMode||Full / TotalCount / Provider|
Search results output mode.
Usual search with goods output and all related information is done. Other variants:
|CategoryMode||Nothing / External / InternalLeaf / CurrentLevel|
Categories in search results output mode.
There is categories list (not always) besides goods in search results. These categories include found goods. They are usually called clarifying categories. There are several variants of processing and output:
|Old conditions||IsTmall||true/false||Feature of only Tmall goods choice.|
Examples of parameters with search conditions and search requests
|Example||xmlParameters value||Test request||Comment|
|20 items of Taobao provider||Documentation example||Method requires at least one of parameter (CategoryId, VendorName, VendorId, ItemTitle, BrandId, Configurators). Get RootCategoryId from GetProviderInfo and pass it to CategoryId (for provider's root category search).|
Follow the link to set up search's items count (and other parameters)
|20 items of Alibaba1688 provider by 'Storage' search method||Documentation example||Search method is selected automatic (by instance key settings and search parameters) by default.|
Sometimes search method must be explicit. For example, search by reviews.
More details about search methods.
|T-shirts search with system's optimal requested items count/number/batch (page size)||Documentation example||You can find more details about search with system's optimal requested items count/number/batch (page size) in paragraph "Goods quantity limitations". Pass any positive number into frameSize.|
|Sort 20 items of Taobao provider by descending price||Documentation example||More details about available sorts.|
|20 items of Taobao provider sorted by descending reviews count||Documentation example|
Available with "Reviews" module only.
|Search t-shirts by descending sales count||Documentation example||More details about available sorts.|
|Search by internal category identifier otc-4||Documentation example|
|Search by Taobao provider's category identifier 50000671||Documentation example|
|Search by Alibaba1688 provider's category identifier||Documentation example|
|Searching for the first 100 items for "red t-shirt" query||Documentation example|
|Search in original language: 红色T恤||Documentation example|
|Search in russian language - "red t-shirt"||Documentation example|
|Search in english language — red t-shirt||Documentation example|
|Search in english by phrase (without translation on chinese): 3D Vision||Documentation example|
|Search by article: 583346884671||Documentation example|
|Search by link from Alibaba1688||Documentation example|
|Search by vendor: maxmartin玛玛绨旗舰店||Documentation example||Value of VendorId (vendor identifier) can be found in any item's information.|
|Search t-shirts by minimal vendor's rating 19||Documentation example|
|Search by brand's name: vero moda||Documentation example|
|Search t-shirts by price interval: from 10 to 40 yuan||Documentation example||Selection includes items with promotion price (PromotionPrice). Currency (if not explicit) gets from administrators panel (first currency from list) and converts.|
|Search t-shirt by USD equivalent price not exceed 3||Documentation example||Get currency code (CurrencyCode) by using GetCurrencyInstanceList or GetInstanceCurrencyInfoList methods.|
|Search t-shirt with minimal sales count of 50||Documentation example|
|Search t-shirt with minimal first lot 5||Documentation example||Alibaba1688 only.|
|Search t-shirt with maximal first lot 1 (equals to retail order)||Documentation example|
|Search t-shirts by condition (new)||Documentation example||Actualy we have 2 conditions right now: 'new' and 'used'.|
|Search by attribute: red coloured XL size t-shirt||Documentation example||Search attributes for selected item by using BatchGetItemFullInfo (example's item - id 646674173023) (<Attributes> )|
<ItemAttribute Pid="20509" Vid="28317"> (for XL size)
<ItemAttribute Pid="1627207" Vid="13535612018"> (for "red" colour)
With additional information block 'SearchProperties' pass (more details about additional information blocks)
|Search t-shirts with discount||Documentation example||List of available features can get from documentation's paragraph #2.|
|Search t-shirts in stock||Documentation example|
|Search TMall t-shirts||Documentation example|
|Search items with reviews after purchase in "dress" category||Documentation example||Available with "Reviews" module only.|
|Search by image||Documentation example|
Can search by image URL or by uploaded through API file: more details about search by image.
Search results description
Search results are presented by OtapiItemSearchResult structure, fields' description is shown below.
|Items||List of found goods with full number of goods|
|Categories||List of categories containing searched goods (clarifying goods)|
|Brands||List of brands containing goods (clarifying brands)|
|TranslatedItemTitle||Text by which goods were really searched (translated to provider language)|
|Provider||Provider in which search was done|
|SearchMethod||Search method used for search|
|CurrentSort||Real current sorting|
|CurrentFrameSize||Real current frame size (page)|
|MaximumPageCount||Maximum number of pages in search|
|IsFoundByItemId||If true, then search results contain 1 product found by code or link|
Additional blocks of information in BatchSearchItemsFrame
It is possible to get additional information for one OTAPI request using BatchSearchItemsFrame. List of additional blocks is available in blockList parameter separated by commas. Result is BatchItemSearchResult including usual OtapiItemSearchResult and also all properties for additional information.
|SubCategories||get all subcategories if search by category|
|SearchProperties||get filters by characteristics/properties|
|RootPath||get path to root if search by category|
|Vendor||get information on seller if search by seller|
|Brand||get information on brand if search by brand|
|Category||get information on category of search by category|
|HintCategories||get appropriate categories for title if search by text|
|AvailableSearchMethods||get list of appropriate matching data for search methods parameters and all information on them|