Skip to content
Open
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6c426a8
feat(core): add RecommendationShelf section with personalization trac…
thiagopereira-vtex Jun 23, 2026
5f3999b
fix(core): add recommendation/personalization GraphQL typeDefs
thiagopereira-vtex Jun 23, 2026
1f92187
test(core): include recommendation operations in schema assertions
thiagopereira-vtex Jun 23, 2026
961112a
fix(api): expose recommendation and personalization operations
thiagopereira-vtex Jun 23, 2026
c0495e5
refactor(core): clean up RecommendationShelf code smells
thiagopereira-vtex Jun 23, 2026
1108aa3
test(core): cover RecommendationShelf and useStartSession
thiagopereira-vtex Jun 23, 2026
4caead7
refactor(core): compare globalThis.window with undefined directly
thiagopereira-vtex Jun 23, 2026
70e3b83
Update packages/core/cms/faststore/components/cms_component__Recommen…
thiagopereira-vtex Jun 23, 2026
ec92aef
fix(api): use private cache scope for personalized recommendations
thiagopereira-vtex Jun 23, 2026
e369181
fix(core): harden RecommendationShelf per review feedback
thiagopereira-vtex Jun 23, 2026
fab2acc
refactor(core): move analytics utils out of RecommendationShelf into SDK
thiagopereira-vtex Jun 23, 2026
91e14d0
refactor(core): reuse SDK GraphQL layer in RecommendationShelf
thiagopereira-vtex Jun 23, 2026
402816e
feat(core): make RecommendationShelf carousel and product card config…
thiagopereira-vtex Jun 24, 2026
4658ec0
refactor(core): remove SendProductViewEvent mutation and related logic
thiagopereira-vtex Jun 24, 2026
814da62
refactor(core): simplify RecommendationShelf per quality review
thiagopereira-vtex Jun 24, 2026
4c934e8
refactor(api): remove SendProductViewEvent mutation and related types
thiagopereira-vtex Jun 26, 2026
f3ef796
refactor(api, core): rename startSession to startRecommendationSessio…
thiagopereira-vtex Jun 26, 2026
1ea6afa
feat(api, core): return StoreProduct from recommendations for consist…
thiagopereira-vtex Jun 26, 2026
3a52956
refactor(api): rename StartSessionResult to StartRecommendationSessio…
thiagopereira-vtex Jun 26, 2026
7b4e2d2
feat(core): enhance RecommendationShelf with configurable items conte…
thiagopereira-vtex Jun 29, 2026
6ea9e5f
Update packages/api/src/platforms/vtex/clients/recommendation/index.ts
thiagopereira-vtex Jul 1, 2026
060d0a0
feat(api, core): implement server-side validation for recommendations…
thiagopereira-vtex Jul 2, 2026
3214947
feat(core): add RecommendationShelf component for personalized produc…
thiagopereira-vtex Jul 2, 2026
acb4bf4
refactor(RecommendationShelf): update prop type and improve empty sta…
thiagopereira-vtex Jul 3, 2026
daa57c5
refactor(api, core): address recommendation shelf review feedback
thiagopereira-vtex Jul 6, 2026
9de413f
test(api, core): cover recommendation resolvers/client and fix Sonar …
thiagopereira-vtex Jul 6, 2026
a43bf23
refactor(core): use Boolean directly as the default retry predicate
thiagopereira-vtex Jul 6, 2026
d89732b
Merge branch 'dev' into feat/recommendation-shelf
thiagopereira-vtex Jul 6, 2026
1852ee1
fix(api): close Recommendation describe block after merge with dev
thiagopereira-vtex Jul 6, 2026
0e36d26
fix(api): add storeCookies option to fetchAPI for recommendations
thiagopereira-vtex Jul 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
219 changes: 219 additions & 0 deletions packages/api/src/__generated__/schema.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions packages/api/src/platforms/vtex/typeDefs/mutation.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,8 @@ type Mutation {
startOrderEntryOperation(
data: IOrderEntryOperation!
): StoreOrderEntryOperationResult @auth
"""
Starts an anonymous personalization session for the current shopper.
"""
startRecommendationSession: Boolean!
}
9 changes: 9 additions & 0 deletions packages/api/src/platforms/vtex/typeDefs/query.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,15 @@ type Query {
Returns the items in an orderForm by its ID.
"""
orderFormItems(orderFormId: String!): [StoreOrderFormCartItem!]! @auth
"""
Returns personalized product recommendations for a given campaign.
"""
recommendations(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the implementation for this recommendations query?

campaignVrn: String!
userId: String
products: [String!]
): RecommendationResponse!
@cacheControl(scope: "private", sMaxAge: 120, staleWhileRevalidate: 3600)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A recomendação é feita pra cada usuário (userId)? Acho que, nesse caso, faz sentido ser private: ficar no browser do usuário e não "vazar" para cdn ou outra camada compartilhada. Caso contrário, seria melhor public.

}

type ValidateUserData {
Expand Down
Loading
Loading