انتقل إلى المحتوى
القائمة
كل مجموعات الواجهة

Search

Suggest, search, recommend. Public key.

4 نقاط وصول. أسماء نقاط الوصول وأوصافها مأخوذة من ملف OpenAPI، لذلك تظهر بالإنجليزية.

GET/v1/suggest

Suggestions while typing (never billed)

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

المعاملات

الاسمالموضعالنوعإلزاميالوصف
qquerystringنعمmax length 128
langquerystringلا`auto` or a tenant locale. · default "auto" · pattern ^(auto|[a-z]{2})$
limitqueryintegerلاdefault 8 · min 1 · max 20
productsqueryintegerلاHow many product previews to include. · default 4 · min 0 · max 10
sessionquerystring | nullلاmax length 64

الردود

GET/v1/search

Search (GET form)

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

Filters use `filter[<name>]=v1,v2` and `filter[<name>][gte|lte]=n`. Response has the `X-SeekGist-Usage` header. Billed when page=1.

المعاملات

الاسمالموضعالنوعإلزاميالوصف
qquerystringلاmax length 256
langquerystringلا`auto` or a tenant locale. · default "auto" · pattern ^(auto|[a-z]{2})$
pagequeryintegerلاdefault 1 · min 1 · max 1000
per_pagequeryintegerلاdefault 20 · min 1 · max 100
sortquery"relevance" | "price_asc" | "price_desc" | "newest" | "popular"لاdefault "relevance"
facetsquerystring | nullلاComma-separated facet names.
aiquery"auto" | "on" | "off"لاdefault "auto"
sessionquerystring | nullلاmax length 64
devicequery"desktop" | "mobile" | "tablet" | "unknown"لاdefault "unknown"

الردود

POST/v1/search

Search (JSON body, complex filters)

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

جسم الطلب application/json SearchRequest

الاسمالنوعإلزاميالوصف
qstringلاmax length 256
langstringلا`auto` or a tenant locale.default "auto" · pattern ^(auto|[a-z]{2})$
pageintegerلاdefault 1 · min 1 · max 1000
per_pageintegerلاdefault 20 · min 1 · max 100
filtersmap<string, string[] | RangeFilter | string | boolean>لاe.g. {"brand": ["Nike"], "price": {"lte": 100}, "in_stock": true}
sort"relevance" | "price_asc" | "price_desc" | "newest" | "popular"لاdefault "relevance"
facetsstring[]لاFacet names to return, e.g. brand, category, price.
ai"auto" | "on" | "off"لاauto = plan + tenant setting decide, and the AI runs only when it helps (price or use-case requests, long or unknown words, zero results); on = the AI on every query (plan and budget still apply); off = never call the AI.default "auto"
sessionstring | nullلاOpaque shopper session id (no PII).max length 64
device"desktop" | "mobile" | "tablet" | "unknown"لاdefault "unknown"
debugbooleanلاSecret key or dashboard only: include the pipeline trace.default false
config_overrideRankingConfig | nullلاDashboard session only (ignored for API keys): try a ranking/synonym setup without saving it.

الردود

GET/v1/recommend

Recommendations

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

المعاملات

الاسمالموضعالنوعإلزاميالوصف
typequery"similar" | "also_viewed" | "trending" | "recently_viewed"نعم
product_idquerystring | nullلاmax length 128
category_idquerystring | nullلاmax length 128
sessionquerystring | nullلاmax length 64
limitqueryintegerلاdefault 10 · min 1 · max 50

الردود

أشكال البيانات في هذه الصفحة

SuggestResponse

Suggestions while typing. NEVER billed, never calls the AI.

الاسمالنوعإلزاميالوصف
querystringنعم
suggestionsSuggestion[]نعم
productsProductCard[]لا
categoriesFacetBucket[]لا
took_msnumberنعم

Suggestion

Recent searches are NOT returned here: the widget keeps them in the shopper's browser only (localStorage, no server copy, no PII). See docs/adr/0012 and packages/widget/README.md.

الاسمالنوعإلزاميالوصف
textstringنعم
highlightedstring | nullلا
kind"query" | "category" | "brand"لاdefault "query"
targetstring | nullلاCategory or brand id/url for kind=category|brand.

ProductCard

Display fields. Connectors that render their own cards use only `id`.

الاسمالنوعإلزاميالوصف
idstringنعم
namemap<string, string>نعم
urlstring | nullلا
image_urlstring | nullلا
pricestringنعم
sale_pricestring | nullلا
currencystringنعم
in_stockbooleanنعم
brandstring | nullلا
categorymap<string, string> | nullلا

FacetBucket

الاسمالنوعإلزاميالوصف
valuestringنعم
labelmap<string, string> | nullلا
countintegerنعم

SearchResponse

الاسمالنوعإلزاميالوصف
search_idstringنعمSend it back with click/event calls to attribute them.
queryParsedQueryنعم
idsstring[]نعمProduct ids in rank order (what connectors use).
hitsSearchHit[]نعم
totalintegerنعم
pageintegerنعم
per_pageintegerنعم
facetsFacet[]لا
did_you_meanstring | nullلا
redirectRedirect | nullلا
bannersBanner[]لا
zero_result_helpZeroResultHelp | nullلا
experimentExperimentAssignment | nullلا
took_msnumberنعم
debugobject | nullلا

ParsedQuery

الاسمالنوعإلزاميالوصف
textstringنعمAs typed.
normalizedstringنعمAfter the Arabic layer.
rewrittenstring | nullلاAfter the rule parser or the AI rewrite.
langstringنعم
filtersobjectلاFilters the parser found, e.g. price_max 600.
sortstring | nullلا
ai_usedbooleanلاdefault false
ai_cachedbooleanلاdefault false

SearchHit

الاسمالنوعإلزاميالوصف
idstringنعم
scorenumber | nullلا
productProductCardنعم
highlightsmap<string, string>لا
pinnedbooleanلاdefault false

Facet

الاسمالنوعإلزاميالوصف
namestringنعم
type"terms" | "range" | "boolean" | "category_tree"نعم
bucketsFacetBucket[]لا
minnumber | nullلا
maxnumber | nullلا

Redirect

الاسمالنوعإلزاميالوصف
urlstringنعم
rule_idstringنعم

Banner

الاسمالنوعإلزاميالوصف
idstringنعم
htmlstring | nullلا
image_urlstring | nullلا
link_urlstring | nullلا
position"top" | "inline" | "bottom"لاdefault "top"

ZeroResultHelp

الاسمالنوعإلزاميالوصف
relaxedbooleanنعمTrue when the results come from a relaxed query.
relaxed_querystring | nullلا
popular_categoriesFacetBucket[]لا

ExperimentAssignment

الاسمالنوعإلزاميالوصف
experiment_idstringنعم
variantstringنعم

SearchRequest

POST /v1/search body. GET /v1/search takes the same fields as query parameters (filters as `filter[brand]=Nike&filter[price][lte]=100`).

الاسمالنوعإلزاميالوصف
qstringلاmax length 256
langstringلا`auto` or a tenant locale.default "auto" · pattern ^(auto|[a-z]{2})$
pageintegerلاdefault 1 · min 1 · max 1000
per_pageintegerلاdefault 20 · min 1 · max 100
filtersmap<string, string[] | RangeFilter | string | boolean>لاe.g. {"brand": ["Nike"], "price": {"lte": 100}, "in_stock": true}
sort"relevance" | "price_asc" | "price_desc" | "newest" | "popular"لاdefault "relevance"
facetsstring[]لاFacet names to return, e.g. brand, category, price.
ai"auto" | "on" | "off"لاauto = plan + tenant setting decide, and the AI runs only when it helps (price or use-case requests, long or unknown words, zero results); on = the AI on every query (plan and budget still apply); off = never call the AI.default "auto"
sessionstring | nullلاOpaque shopper session id (no PII).max length 64
device"desktop" | "mobile" | "tablet" | "unknown"لاdefault "unknown"
debugbooleanلاSecret key or dashboard only: include the pipeline trace.default false
config_overrideRankingConfig | nullلاDashboard session only (ignored for API keys): try a ranking/synonym setup without saving it.

RangeFilter

الاسمالنوعإلزاميالوصف
gtenumber | nullلا
ltenumber | nullلا

RankingConfig

One ranking setup, used by the dashboard playground (`SearchRequest.config_override`) and by A/B variants (`Variant.config`). Every field is optional: a missing field means "use the tenant's saved value" (`TenantSettings.search`, same field names). Nothing here is saved.

الاسمالنوعإلزاميالوصف
ai_rewriteboolean | nullلا
rule_parserboolean | nullلا
in_stock_firstboolean | nullلا
business_signalsmap<string, number> | nullلاWeights 0..1, e.g. {popularity: 0.2, margin: 0.1}. {} turns them all off.
typo_toleranceboolean | nullلا
hybrid_searchboolean | nullلا
cheap_rerank_top_ninteger | nullلاmin 10 · max 200
merch_rulesboolean | nullلاfalse = ignore all merchandising rules.
disabled_rule_idsstring[] | nullلا
synonym_setsstring[] | nullلاTenant synonym sets that are on. "default" is the normal set. Example A/B: A = ["default"], B = ["default", "winter-2026"].
global_synonymsboolean | nullلاfalse = ignore the platform's global synonyms.

RecommendResponse

الاسمالنوعإلزاميالوصف
type"similar" | "also_viewed" | "trending" | "recently_viewed"نعم
idsstring[]نعم
productsProductCard[]نعم
source"attributes" | "vectors" | "co_views" | "popularity" | "session"نعم