An open API service indexing awesome lists of open source software.

https://github.com/vtex-apps/search-graphql


https://github.com/vtex-apps/search-graphql

hacktoberfest intelligent-search store-framework vtex-io

Last synced: 26 days ago
JSON representation

Awesome Lists containing this project

README

          

# Search GraphQL

This app exports a GraphQL schema for search results on VTEX Stores.

The default implementation for this schema is on [vtex.search-resolver](https://github.com/vtex-apps/search-resolver) app.

### Usage

To use it in your app, declare it on your `manifest.json` file, as demonstrated below:

```json
"dependencies": {
"vtex.search-graphql": "0.x"
}
```

You may then use it in your front end component queries, for example, write file `productQuery.gql`:

```graphql
query ProductQuery($slug: String) {
product(identifier: { field: slug, value: $slug}) @context(provider: "vtex.search-graphql") {
productName
}
}
```

To resolve this query, you need to have an app that implements the schema declared in this app, such as: [vtex.search-resolver](https://github.com/vtex-apps/search-resolver).

Table of Contents

- [Query](#query)
- [Objects](#objects)
- [AssemblyOption](#assemblyoption)
- [Attachment](#attachment)
- [Banners](#banners)
- [Benefit](#benefit)
- [BenefitItem](#benefititem)
- [Brand](#brand)
- [BrandFacet](#brandfacet)
- [CategoriesTreeFacet](#categoriestreefacet)
- [Category](#category)
- [ClusterHighlight](#clusterhighlight)
- [CompositionItem](#compositionitem)
- [CompositionType](#compositiontype)
- [Correction](#correction)
- [DeliverySlaPerTypes](#deliveryslapertypes)
- [DeliverySlaSamples](#deliveryslasamples)
- [DepartmentFacet](#departmentfacet)
- [Discount](#discount)
- [DomainValues](#domainvalues)
- [Facet](#facet)
- [FacetValue](#facetvalue)
- [Facets](#facets)
- [FilterFacet](#filterfacet)
- [FilterFacets](#filterfacets)
- [Gift](#gift)
- [GiftImage](#giftimage)
- [Image](#image)
- [InputValue](#inputvalue)
- [Installment](#installment)
- [ItemMetadata](#itemmetadata)
- [ItemMetadataUnit](#itemmetadataunit)
- [ItemPriceTable](#itempricetable)
- [Items](#items)
- [KitItem](#kititem)
- [Offer](#offer)
- [OnlyProduct](#onlyproduct)
- [PageType](#pagetype)
- [PriceRange](#pricerange)
- [PriceRangesFacet](#pricerangesfacet)
- [PriceTableItem](#pricetableitem)
- [Product](#product)
- [ProductClusters](#productclusters)
- [ProductPriceRange](#productpricerange)
- [ProductSearch](#productsearch)
- [ProductSuggestions](#productsuggestions)
- [Property](#property)
- [PropertyGroup](#propertygroup)
- [QueryArgs](#queryargs)
- [Range](#range)
- [Recommendation](#recommendation)
- [Reference](#reference)
- [Region](#region)
- [SKU](#sku)
- [SKUSpecificationField](#skuspecificationfield)
- [SKUSpecificationValue](#skuspecificationvalue)
- [SearchBanner](#searchbanner)
- [SearchBreadcrumb](#searchbreadcrumb)
- [SearchCorrection](#searchcorrection)
- [SearchMetadata](#searchmetadata)
- [SearchSuggestion](#searchsuggestion)
- [SearchSuggestionAttribute](#searchsuggestionattribute)
- [SearchSuggestions](#searchsuggestions)
- [SearchURLStats](#searchurlstats)
- [SelectedFacet](#selectedfacet)
- [SelectedProperty](#selectedproperty)
- [Seller](#seller)
- [SkuSpecification](#skuspecification)
- [SpecificationGroup](#specificationgroup)
- [SpecificationGroupProperty](#specificationgroupproperty)
- [Suggestions](#suggestions)
- [Teaser](#teaser)
- [TeaserCondition](#teasercondition)
- [TeaserEffects](#teasereffects)
- [TeaserValue](#teaservalue)
- [Video](#video)
- [productSpecification](#productspecification)
- [Inputs](#inputs)
- [AssemblyOptionInput](#assemblyoptioninput)
- [Options](#options)
- [ProductUniqueIdentifier](#productuniqueidentifier)
- [SelectedFacetInput](#selectedfacetinput)
- [General filters](#general-filters)
- [Enums](#enums)
- [CategoryTreeBehavior](#categorytreebehavior)
- [CrossSelingInputEnum](#crossselinginputenum)
- [FilterType](#filtertype)
- [InputValueType](#inputvaluetype)
- [InstallmentsCriteria](#installmentscriteria)
- [ItemsFilter](#itemsfilter)
- [Operator](#operator)
- [PageEntityIdentifier](#pageentityidentifier)
- [ProductUniqueIdentifierField](#productuniqueidentifierfield)
- [SORT](#sort)
- [SimulationBehavior](#simulationbehavior)
- [Scalars](#scalars)
- [Boolean](#boolean)
- [Float](#float)
- [ID](#id)
- [Int](#int)
- [String](#string)
- [StringOrBoolean](#stringorboolean)

## Query



Field
Argument
Type
Description




product
Product
Returns a specified product.


slug
String
Product slug.


identifier
ProductUniqueIdentifier
Product identifier.


regionId
String
Seller ID encoded with base64 according to this format: SW#{sellerId}.


salesChannel
Int
Trade Policy.


banners
Banners
Lists the banners registered for a given query. Check the configuring banners documentation for a full explanation of the banner feature.


fullText
String
Search term. It can contain any character.


selectedFacets
[SelectedFacetInput]
List of the selected facets. The order in which the terms appear is not relevant to the search. You can also repeat the same facetKey several times for different values.


correction
Correction
Tries to correct a misspelled term from the search.


fullText
String
Search term. It can contain any character.


searchSuggestions
SearchSuggestions
Lists suggested terms similar to the search term.


fullText
String!
Search term. It can contain any character.


productSearch
ProductSearch
Lists the products for a given query.


query
String
Deprecated. Use fullText instead.


fullText
String
Search term. It can contain any character.


map
String
Deprecated. Use selectedFacets instead.


selectedFacets
[SelectedFacetInput]
List of the selected facets. The order in which the terms appear is not relevant to the search. You can also repeat the same facetKey several times for different values.


category
String
Deprecated. Use selectedFacets instead.


specificationFilters
[String]
Deprecated. Use selectedFacets instead.


priceRange
String
Filter by price range. e.g.: {a} TO {b} - {a} is the minimum price "from" and {b} is the highest price "to"


collection
String
Deprecated. Use selectedFacets instead.


salesChannel
String
Filter by availability at a specific sales channel. e.g.: salesChannel:4 if want filter by available products for the sales channel 4.


orderBy
String
Sort by a criteria:



  • OrderByPriceDESC/OrderByPriceASC: Price, in descending (DESC) or ascending (ASC) order.


  • OrderByTopSaleDESC: Amount of orders in the past 90 days, in descending order.


  • OrderByReviewRateDESC: Review rates, in descending (DESC) order.


  • OrderByNameASC/OrderByNameDESC: Name, in descending (DESC) or ascending (ASC) alphabetical order.


  • OrderByReleaseDateDESC: Release date, in descending (DESC) order.


  • OrderByBestDiscountDESC: Discount percentage in descending (DESC) order.


  • OrderByScoreDESC: Score, in descending (DESC) order.

If you want to sort textually by a specification, use the format {specification key}:{asc|desc}. For example: material:asc or material:desc. This always sorts values textually (not numerically) and it works only on vtex.search-resolver@1.x.


from
Int
Pagination item start. Default value: `0`.


to
Int
Pagination item end. Default value: `9`.


hideUnavailableItems
Boolean
If true, uses isAvailablePerSalesChannel_ parameter on query with segment's sales channel. Will override any given salesChannel argument.


simulationBehavior
SimulationBehavior
If you want faster searches and do not care about most up to date prices and promotions, use skip value.


productOriginVtex
Boolean
Each search engine has its own database, but this database might not have all the product information like clusterHighlights or productClusters. As an alternative, the search engine may use the VTEX API to complete this information by setting this field to true.


operator
Operator
Indicates how the search engine will deal with the fullText if there is more than one word. Set the value as and if the returned products must have all the words in its metadata. Otherwise, set the value as or.


fuzzy
String
Indicates how the search engine will correct misspelled words by using fuzzy logic. It can be a number representing the max number of misspelled letters, or the string auto suggesting that the search engine should set this value by itself.


searchState
String
As fuzzy and operator, it controls the search state, but it is for general purposes. This field allows the search engines to apply features that are not handled by the other fields. The possible values in this field are defined by each search engine.


options
Options
Search options that customize the search result.


searchMetadata
SearchMetadata



query
String
Terms that are used in search, for example eletronics/samsung.


fullText
String
Text inputted by the user as the search term.


map
String
Defines term types: Brand, Category, Department. For example: c,b.


selectedFacets
[SelectedFacetInput]
List of the selected facets. The order in which the terms appear is not relevant to the search. You can also repeat the same facetKey several times for different values.


products
[Product]
Returns products list filtered and ordered.


query
String
Terms that are used in search, for example eletronics/samsung.


map
String
Defines term types: Brand, Category, Department. For example: c,b.


category
String
Filter by category. For example, {a}/{b}, where {a} and {b} are categoryIds.


specificationFilters
[String]
Array of product specification. For example, specificationFilter_{a}:{b} where {a} is the specificationId, and {b} is the specification value.


priceRange
String
Filter by price range. For example, {a} TO {b}, where {a} is the minimum price "from" and {b} is the highest price "to".


collection
String
Filter by collection, also known as productClusterId.


salesChannel
String
Filter by availability at a specific sales channel, also known as trade policy. For example, salesChannel:4 if you want to filter by available products for the sales channel whose ID is 4.


orderBy
String
Sort by a criteria:


  • OrderByPriceDESC/OrderByPriceASC: Price, in descending (DESC) or ascending (ASC) order.


  • OrderByTopSaleDESC: Amount of orders in the past 90 days, in descending order.


  • OrderByReviewRateDESC: Review rates, in descending (DESC) order.


  • OrderByNameASC/OrderByNameDESC: Name, in descending (DESC) or ascending (ASC) alphabetical order.


  • OrderByReleaseDateDESC: Release date, in descending (DESC) order.


  • OrderByBestDiscountDESC: Discount percentage in descending (DESC) order.


  • OrderByScoreDESC: Score, in descending (DESC) order.




from
Int
Pagination item start. Default value: `0`.


to
Int
Pagination item end. Default value: `9`.


hideUnavailableItems
Boolean
If true, uses isAvailablePerSalesChannel_ parameter on query with segment's sales channel. Will override any given salesChannel argument.


simulationBehavior
SimulationBehavior
If you want faster searches and do not care about most up to date prices and promotions, use skip value.


productRecommendations
[Product]



identifier
ProductUniqueIdentifier



type
CrossSelingInputEnum



groupBy
CrossSelingGroupByEnum



productsByIdentifier
[Product]



field
ProductUniqueIdentifierField!



values
[ID!]



salesChannel
String
Filter by availability at a specific sales channel.


facets
Facets
Returns facets category.


query
String
Deprecated. Use fullText instead.


fullText
String
Search term. It can contain any character.


map
String
Deprecated. Use selectedFacets instead.


selectedFacets
[SelectedFacetInput]
List of the selected facets. The order in which the terms appear is not relevant to the search. You can also repeat the same facetKey several times for different values.


hideUnavailableItems
Boolean
If true, uses isAvailablePerSalesChannel_ parameter on query with segment's sales channel.


removeHiddenFacets
Boolean
If true, remove hidden facets from the result.


behavior
String
If Static, ignores SpecificationFilters received on the map and query when returning the facets available, which means the facets never change.


operator
Operator
Indicates how the search engine will deal with the fullText if there is more than one word. Set the value as and if the returned products must have all the words in its metadata. Otherwise, set the value as or.


fuzzy
String
Indicates how the search engine will correct misspelled words by using fuzzy logic. It can be a number representing the max number of misspelled letters, or the string auto suggesting that the search engine should set this value by itself.


searchState
String
As fuzzy and operator, it controls the search state, but it is for general purposes. This field allows the search engines to apply features that are not handled by the other fields. The possible values in this field are defined by each search engine.


from
Int
Pagination item start. Default value: `0`.


to
Int
Pagination item end. Default value: `9`.


categoryTreeBehavior
CategoryTreeBehavior
Determines the behavior of the category tree.


initialAttributes
String
Initial attributes (based on the initialMap parameter).


autocomplete
Suggestions
Get autocomplete suggestions in search.


maxRows
Int
Number of items that are returned.


searchTerm
String
Terms that are used in search, for example `iphone`.


topSearches
SearchSuggestions
Lists the 10 most searched terms.


autocompleteSearchSuggestions
SearchSuggestions
Lists the suggested terms and attributes similar to the search term.


fullText
String!
Search term. It can contain any character.


productSuggestions
ProductSuggestions
Get product suggestions.


fullText
String!
Text inputted by the user as the search term.


facetKey
String
Selected facet key.


facetValue
String
Selected facet value.


productOriginVtex
Boolean
Each search engine has its own database, but this database might not have all the product information like clusterHighlights or productClusters. As an alternative, the search engine may use the VTEX API to complete this information by setting this field to true.


simulationBehavior
SimulationBehavior
If you want faster searches and do not care about most up to date prices and promotions, use skip value.


hideUnavailableItems
Boolean
If true, uses isAvailablePerSalesChannel_ parameter on query with segment's sales channel.


regionId
String
Seller ID encoded with base64 according to this format: SW#{sellerId}.


salesChannel
Int
Sales Channel related to the region ID.


orderBy
String
Sort by a criteria:


  • OrderByPriceDESC/OrderByPriceASC: Price, in descending (DESC) or ascending (ASC) order.


  • OrderByTopSaleDESC: Amount of orders in the past 90 days, in descending order.


  • OrderByReviewRateDESC: Review rates, in descending (DESC) order.


  • OrderByNameASC/OrderByNameDESC: Name, in descending (DESC) or ascending (ASC) alphabetical order.


  • OrderByReleaseDateDESC: Release date, in descending (DESC) order.


  • OrderByBestDiscountDESC: Discount percentage in descending (DESC) order.


  • OrderByScoreDESC: Score, in descending (DESC) order.
If you want to sort textually by a specification, use the format {specification key}:{asc|desc}. For example: material:asc or material:desc. This always sorts values textually (not numerically) and it works only on vtex.search-resolver@1.x.


searchURLsCount
[SearchURLStats]
Get search URLs access stats count.


limit
Int
Number of items that are returned.


sort
SORT
Sorting strategy, where `asc` means ascending, and `desc` means descending.

## Objects

### AssemblyOption

| Field | Argument | Type | Description |
| --- | --- | --- | --- |
| id | [ID](#id) | | |
| name | [String](#string) | | |
| required | [Boolean](#boolean) | | |
| composition | [CompositionType](#compositiontype) | | |
| inputValues | [InputValue](#inputvalue)[] | | |

### Attachment

| Field | Argument | Type | Description |
| --- | --- | --- | --- |
| id | [ID](#id) | | |
| name | [String](#string) | | |
| required | [Boolean](#boolean) | | |
| domainValues | [DomainValues](#domainvalues)[] | | |

### Banners

| Field | Argument | Type | Description |
| --- | --- | --- | --- |
| banners | [SearchBanner](#searchbanner)[] | | List of banners. |

### Benefit



Field
Argument
Type
Description




featured
Boolean
Indicates if the benefit is featured or not.


id
String
ID of the product to which the benefit is associated.


name
String
Name of the benefit.


items
[BenefitItem]
Items of the benefit.


teaserType
String
Type of benefit.

### BenefitItem



Field
Argument
Type
Description




benefitProduct
Product
Product itself.


benefitSKUIds
[String]
IDs of the SKUs that are taking part in the benefit.


discount
Float
Discount applied to the benefit product.


minQuantity
Int
Minimum quantity of the benefit product that is required to validate the benefit.

### Brand



Field
Argument
Type
Description




cacheId
ID
Slug is used as cacheId.


id
Int
Brand ID.


imageUrl
String
Brand logo.


slug
String
Text link.


name
String
Name of the brand.


titleTag
String
Title used by HTML title tag.


metaTagDescription
String
Description used by HTML tag.


active
Boolean
Indicates if the brand is active.

### BrandFacet



Field
Argument
Type
Description




id
ID!



quantity
Int!



name
String!



link
String!



linkEncoded
String!



map
String



value
String!



selected
Boolean!


### CategoriesTreeFacet



Field
Argument
Type
Description




id
ID!



quantity
Int!



name
String



link
String!



linkEncoded
String!



href
String!
Contains slugified links according to the store structure, such as /:department/d, /:category/:subcategory, etc.


map
String



value
String!



children
[CategoriesTreeFacet]



selected
Boolean!


### Category



Field
Argument
Type
Description




cacheId
ID
Category ID is used as cacheId.


href
String
URI of category.


slug
String
Category text link.


id
Int
Category ID.


name
String
Category name.


titleTag
String
Title used by HTML title tag.


hasChildren
Boolean
Description used by HTML tag.


metaTagDescription
String
Indicates if the category has children categories.


children
[Category]
Category children.

### ClusterHighlight



Field
Argument
Type
Description




id
ID



name
String


### CompositionItem



Field
Argument
Type
Description




id
ID



minQuantity
Int



maxQuantity
Int



initialQuantity
Int



priceTable
String



seller
String


### CompositionType



Field
Argument
Type
Description




minQuantity
Int



maxQuantity
Int



items
[CompositionItem]


### Correction



Field
Argument
Type
Description




correction
SearchCorrection


### DeliverySlaPerTypes



Field
Argument
Type
Description




TypeName
String



Price
Float



EstimatedTimeSpanToDelivery
String


### DeliverySlaSamples



Field
Argument
Type
Description




DeliverySlaPerTypes
[DeliverySlaPerTypes]



Region
Region


### DepartmentFacet



Field
Argument
Type
Description




id
ID!



quantity
Int!



name
String



link
String!



linkEncoded
String!



map
String



value
String!



selected
Boolean!


### Discount

Discount object



Field
Argument
Type
Description




name
String
Discount name

### DomainValues



Field
Argument
Type
Description




FieldName
String



MaxCaracters
String



DomainValues
String


### Facet



Field
Argument
Type
Description




name
String



values
[FacetValue]



from
Int



to
Int



type
FilterType



hidden
Boolean



quantity
Int


### FacetValue



Field
Argument
Type
Description




id
ID



quantity
Int!



name
String



key
String



value
String



selected
Boolean



children
[FacetValue]



range
Range



link
String



linkEncoded
String



href
String


### Facets



Field
Argument
Type
Description




departments ⚠️
[DepartmentFacet]

⚠️ DEPRECATED

Use facets instead.



brands ⚠️
[BrandFacet]

⚠️ DEPRECATED

Use facets instead.



specificationFilters
[FilterFacets]



categoriesTrees ⚠️
[CategoriesTreeFacet]

⚠️ DEPRECATED

Use facets instead.



priceRanges
[PriceRangesFacet]
Price range for the given query.


recordsFiltered ⚠️
Int

⚠️ DEPRECATED

Use recordsFiltered from productSearch instead.



queryArgs
QueryArgs
Information about the searched query.


facets
[Facet]
List of facets.


sampling
Boolean
Indicates whether there was sampling in the aggregation of facets or not. In search results that have many products, only the first 30000 will be aggregated to avoid performance issues.


breadcrumb
[SearchBreadcrumb]
Generated breadcrumb for the given query.

### FilterFacet



Field
Argument
Type
Description




quantity
Int!



name
String



link
String!



linkEncoded
String!



map
String



value
String!



selected
Boolean!


### FilterFacets



Field
Argument
Type
Description




name
String



facets
[FilterFacet]


### Gift



Field
Argument
Type
Description




productName
String



skuName
String



brand
String



linkText
String



description
String



images
[GiftImage]


### GiftImage



Field
Argument
Type
Description




imageUrl
String



imageLabel
String



imageText
String


### Image



Field
Argument
Type
Description




cacheId
ID



imageId
ID



imageLabel
String



imageTag
String



imageUrl
String



imageText
String


### InputValue



Field
Argument
Type
Description




label
String



maxLength
Int



type
InputValueType



defaultValue
StringOrBoolean



domain
[String]


### Installment



Field
Argument
Type
Description




Value
Float



InterestRate
Float



TotalValuePlusInterestRate
Float



NumberOfInstallments
Int



PaymentSystemName
String



PaymentSystemGroupName
String



Name
String


### ItemMetadata



Field
Argument
Type
Description




items
[ItemMetadataUnit]



priceTable
[ItemPriceTable]


### ItemMetadataUnit



Field
Argument
Type
Description




id
ID



name
String



skuName
String



productId
String



refId
String



ean
String



imageUrl
String



detailUrl
String



seller
String



assemblyOptions
[AssemblyOption]


### ItemPriceTable



Field
Argument
Type
Description




type
String



values
[PriceTableItem]


### Items



Field
Argument
Type
Description




thumb
String



name
String



href
String



criteria
String



slug
String



productId
String


### KitItem



Field
Argument
Type
Description




itemId
ID



amount
Int



product
OnlyProduct



sku
SKU


### Offer



Field
Argument
Type
Description




Installments
[Installment]



criteria
InstallmentsCriteria



rates
Boolean



excludedPaymentSystems
[String]



includedPaymentSystems
[String]



Price
Float



ListPrice
Float



spotPrice
Float



PriceWithoutDiscount
Float



RewardValue
Float



PriceValidUntil
String



AvailableQuantity
Float



Tax
Float



taxPercentage
Float



CacheVersionUsedToCallCheckout
String



DeliverySlaSamples
[DeliverySlaSamples]



discountHighlights
[Discount!]
List of discount highlights.


teasers
[Teaser!]



giftSkuIds
[String]
List of SKUs for gifts associated with the product.


gifts
[Gift]
List of gifts associated with the product.

### OnlyProduct



Field
Argument
Type
Description




brand
String



categoryId
ID



categoryTree
[Category]



clusterHighlights
[ClusterHighlight]



productClusters
[ProductClusters]



description
String



link
String



linkText
String



productId
ID



productName
String



properties
[Property]



propertyGroups
[PropertyGroup]



productReference
String



recommendations
Recommendation



jsonSpecifications
String


### PageType



Field
Argument
Type
Description




id
String



type
PageEntityIdentifier


### PriceRange



Field
Argument
Type
Description




highPrice
Float



lowPrice
Float


### PriceRangesFacet



Field
Argument
Type
Description




quantity
Int!



name
String



link
String!



linkEncoded
String!



map
String



value
String!



selected
Boolean!



slug
String


### PriceTableItem



Field
Argument
Type
Description




id
String



assemblyId
String



price
Int


### Product



Field
Argument
Type
Description




brand
String
Brand of the product.


brandId
Int
ID of the brand of the product.


cacheId
ID
LinkText is used as cacheId.


categoryId
ID



categories ⚠️
[String]
Categories of the product.

⚠️ DEPRECATED

Use categoryTree field for internationalization support.



categoryTree
[Category]
Product's category tree.


clusterHighlights
[ClusterHighlight]
List of related products.


productClusters
[ProductClusters]



description
String
Product description.


items
[SKU]
SKU objects of the product.


filter
ItemsFilter



skuSpecifications
[SkuSpecification]
List of SKU Specifications.


link
String
Product URL.


linkText
String
Product slug.


productId
ID
Product ID.


productName
String
Product name.


properties
[Property]
Array of product properties.


propertyGroups
[PropertyGroup]
Array of product properties.


productReference
String
Product reference.


titleTag
String
Title used by HTML title tag.


metaTagDescription
String
Description used by HTML tag.


recommendations
Recommendation
Related Products.


jsonSpecifications
String
JSON specification of the product.


benefits
[Benefit]
List of benefits associated with this product.


itemMetadata
ItemMetadata



specificationGroups
[SpecificationGroup]
Array of product SpecificationGroup.


priceRange
ProductPriceRange
Returns highest and lowest prices for available SKUs in product.


releaseDate
String
Product Release Date, for list ordering and product cluster highlight.


selectedProperties
[SelectedProperty]
Product properties that will be selected by default. For example, {key: "Color", value: "Blue"}

### ProductClusters

FieldArgumentTypeDescriptionidIDnameString

### ProductPriceRange

FieldArgumentTypeDescriptionsellingPricePriceRangelistPricePriceRange

### ProductSearch



Field
Argument
Type
Description




products
[Product]
List of products.


recordsFiltered
Int
Total number of products.


titleTag
String
Title used in the title tag.


metaTagDescription
String
String to be used in the <meta name="description"... tag.


breadcrumb ⚠️
[SearchBreadcrumb]

⚠️ DEPRECATED

Use breadcrumb from the facets query instead.



canonical
String



suggestion ⚠️
SearchSuggestions

⚠️ DEPRECATED

Use the suggestion query instead.



correction
SearchCorrection
Object that indicates if the term was misspelled and suggests a possible correction.


operator
Operator
Indicates how the search engine deals with the fullText when there is more than one word.


  • and: The results will contain all the words in the query.
  • or: The results will contain at least one word from the original search query.

If and was not possible, or will be the fallback.


fuzzy
String
Indicates how the search engine corrected the misspelled word by using fuzzy logic. It can be a number representing the max number ofmisspelled letters, or the string auto suggesting that the search engine should set this value by itself.


searchState
String
As fuzzy and operator, it controls the search state, but it is for general purposes. This field allows the search engines to applyfeatures that are not handled by the other fields.The possible values in this field are defined by each search engine.


banners ⚠️
[SearchBanner]

⚠️ DEPRECATED

Use the banners query instead.



redirect
String
Returns the redirect URL set for the given query.

### ProductSuggestions



Field
Argument
Type
Description




count
Int!
Number of suggested products.


products
[Product]!
Suggested products.


misspelled
Boolean
Indicates if the term is misspelled or not.


operator
Operator
Indicates how the search engine will deal with the fullText if there is more than one word. Set the value as and if the returned products must have all the words in its metadata. Otherwise, set the value as or.

### Property



Field
Argument
Type
Description




originalName
String



name
String



values
[String]


### PropertyGroup



Field
Argument
Type
Description




name
String



properties
[String]


### QueryArgs



Field
Argument
Type
Description




map
String



query
String



selectedFacets
[SelectedFacet]


### Range



Field
Argument
Type
Description




from
Float



to
Float


### Recommendation



Field
Argument
Type
Description




buy
[Product]



view
[Product]



similars
[Product]


### Reference



Field
Argument
Type
Description




Key
String



Value
String


### Region



Field
Argument
Type
Description




IsPersisted
Boolean



IsRemoved
Boolean



Id
ID



Name
String



CountryCode
String



ZipCode
String



CultureInfoName
String


### SKU

### SKU



Field
Argument
Type
Description




itemId
ID



name
String



nameComplete
String



complementName
String



ean
String



referenceId
[Reference]



measurementUnit
String



unitMultiplier
Float



kitItems
[KitItem]



images
[Image]



quantity
Int



videos
[Video]



sellers
[Seller]



variations
[Property]



attachments ⚠️
[Attachment]

⚠️ DEPRECATED

Use itemMetaData instead.



estimatedDateArrival
String


### SKUSpecificationField



Field
Argument
Type
Description




originalName
String



name
String


### SKUSpecificationValue



Field
Argument
Type
Description




originalName
String



name
String


### SearchBanner



Field
Argument
Type
Description




id
String
Banner ID.


name
String
Banner name.


area
String
Banner area.


HTML
String
Banner HTML.

### SearchBreadcrumb



Field
Argument
Type
Description




name
String
Human-readable format of the facet key.


href
String
Query link.

### SearchCorrection

Object that indicates if the term was misspelled and suggests a possible correction.



Field
Argument
Type
Description




text
String
Corrected term. If the API was not able to correct the term, it will show the original search term.


highlighted
String
The same as text, but it highlights the corrected word. Useful when there is more than one word.


misspelled
Boolean
Indicates whether the term was misspelled (true) or not (false).


correction
Boolean
Indicates whether the API was able to suggest a correction (true) or not (false).

### SearchMetadata



Field
Argument
Type
Description




titleTag
String



metaTagDescription
String


### SearchSuggestion



Field
Argument
Type
Description




term
String!
Search term.


count
Int!
Number of times the term was searched.


attributes
[SearchSuggestionAttribute]
List of facets in which the term can be searched.

### SearchSuggestionAttribute



Field
Argument
Type
Description




key
String!
Facet key.


value
String!
Facet value.


labelValue
String!
Human-readable format of the facet key.

### SearchSuggestions



Field
Argument
Type
Description




searches
[SearchSuggestion]
A list of search suggestions.

### SearchURLStats



Field
Argument
Type
Description




path
String!



count
Int!


### SelectedFacet



Field
Argument
Type
Description




key
String



value
String


### SelectedProperty



Field
Argument
Type
Description




key
String



value
String


### Seller



Field
Argument
Type
Description




sellerId
ID



sellerName
String



addToCartLink
String



sellerDefault
Boolean



commertialOffer
Offer


### SkuSpecification



Field
Argument
Type
Description




field
SKUSpecificationField



values
[SKUSpecificationValue]


### SpecificationGroup



Field
Argument
Type
Description




originalName
String



name
String



specifications
[SpecificationGroupProperty]


### SpecificationGroupProperty



Field
Argument
Type
Description




originalName
String



name
String



values
[String]


### Suggestions



Field
Argument
Type
Description




cacheId
ID
searchTerm from Query autocomplete is used as cacheId.


itemsReturned
[Items]


### Teaser



Field
Argument
Type
Description




name
String



conditions
TeaserCondition



effects
TeaserEffects


### TeaserCondition



Field
Argument
Type
Description




minimumQuantity
Int



parameters
[TeaserValue]


### TeaserEffects



Field
Argument
Type
Description




parameters
[TeaserValue]


### TeaserValue



Field
Argument
Type
Description




name
String



value
String


### Video



Field
Argument
Type
Description




videoUrl
String


### productSpecification



Field
Argument
Type
Description




fieldName
String



fieldValues
[String]


## Inputs

### AssemblyOptionInput



Field
Type
Description




id
ID!



quantity
Int!



assemblyId
String!



seller
String!



options
[AssemblyOptionInput!]


### Options



Field
Type
Description




allowRedirect
Boolean
If the search has a redirect enabled, this allows (true) or not (false) the redirect to be used.

### ProductUniqueIdentifier



Field
Type
Description




field
ProductUniqueIdentifierField!



value
ID!


### SelectedFacetInput



Field
Type
Description




key
String
A key for the selected facet.


value
String
Facet value.

#### General filters

The `key` parameter also allows the following general filters.

| `facetKey` | Description |
| - | - |
| `category-${n}` | Filter the search by category, where `n` represents the category tree level (1 = department, 2 = category, 3 = subcategory, and so on). |
| `region-id` | Filter the search by a region ID, for regionalization purposes. The value is the region ID. |

## Enums

### CategoryTreeBehavior

| Value | Description |
| - | - |
| default | Uses the default value set by the search provider. |
| show | Shows the category tree when it is possible. |
| hide | Hides the category tree in any situation. |

### CrossSelingInputEnum

| Value | Description |
| - | - |
| buy | |
| similars | |
| view | |
| viewAndBought | |
| accessories | |
| suggestions | |

### CrossSelingGroupByEnum

| Value | Description |
| - | - |
| PRODUCT | Default behavior. Groups SKUs from the same product and bring only products. Limited to 12 products. |
| NONE | Returns all SKUs registered in the Catalog for the recommendation. |

### FilterType

| Value | Description |
| - | - |
| TEXT | |
| NUMBER | |
| CATEGORYTREE | |
| BRAND | |
| PRICERANGE | |

### InputValueType

| Value | Description |
| - | - |
| TEXT | |
| BOOLEAN | |
| OPTIONS | |

### InstallmentsCriteria

| Value | Description |
| - | - |
| MAX_WITHOUT_INTEREST | |
| MAX_WITH_INTEREST | |
| MAX | |
| MIN | |
| ALL | |

### ItemsFilter

| Value | Description |
| - | - |
| ALL | Returns all items, same as no filter. |
| FIRST_AVAILABLE | Returns only the first available item. Returns first if no item is available. |
| ALL_AVAILABLE | Returns all available items. Returns first if no item is available. |

### Operator

| Value | Description |
| - | - |
| and | |
| or | |

### PageEntityIdentifier

| Value | Description |
| - | - |
| brand | |
| department | |
| category | |
| subcategory| |
| search | |

### ProductUniqueIdentifierField

| Value | Description |
| - | - |
| id | |
| slug | |
| ean | |
| reference | |
| sku | |

### SORT

| Value | Description |
| - | - |
| ASC | |
| DESC | |

### SimulationBehavior

| Value | Description |
| - | - |
| default | Performs the simulation on the catalog as usual. |
| only1P | Performs the simulation on catalog only for seller 1P. |
| regionalize1p | Only first party sellers will include the regionId. |
| skip | Calls catalog passing a parameter to not simulate each SKU and get its most up to date price. |
| async | Performs the simulation on the client side. |

## Scalars

### Boolean

The `Boolean` scalar type represents `true` or `false`.

### Float

The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).

### ID

The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.

### Int

The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

### String

The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

### StringOrBoolean

Represents a [String](#string) or a [Boolean](#boolean) value.