Vue Storefront is now Alokai! Learn More
Product review normalizer

Product review normalizer

The normalizeProductReview function maps Magento ProductReview into Unified SfProductReview.


NameTypeDefault valueDescription
contextNormalizerContextcontext needed for the normalizer
reviewProductReviewMagento ProductReview


The SfProductReview is returned from GetProductReviews Method. If the SfProductReview structure doesn't contain the information you need for your Storefront, you can extend its logic using the addCustomFields API. The following example demonstrates how to extend SfProductReview with a ratingsBreakdown field.

export const unifiedApiExtension = createUnifiedExtension({
  normalizers: {
    addCustomFields: [
        normalizeProductReview: (context, review) => ({
          ratingsBreakdown: review.ratings_breakdown
  config: {


import { maybe } from "@shared/utils";
import { randomUUID } from "node:crypto";
import { defineNormalizer } from "../defineNormalizer";

export const normalizeProductReview = defineNormalizer.normalizeProductReview((context, review) => {
  return {
    id: randomUUID(),
    title: maybe(review.summary),
    text: maybe(review.text),
      review.ratings_breakdown?.[0]?.value == null
        ? null
        : Number.parseInt(review.ratings_breakdown?.[0]?.value),
    reviewer: maybe(review.nickname),
    createdAt: new Date(review.created_at).toISOString(),