etechflow / module-advanced-product-reviews

etechflow/module-advanced-product-reviews

Advanced Product Reviews for Magento 2 — rich reviews with images & video, pros/cons, helpful voting, verified-buyer filters, review summaries, admin replies, Q&A, review reminders with auto-generated coupons, and headless (REST/GraphQL) support.

  • ETechFlow
magento2-module Compatibility: Not yet tested Code Quality: Pending Tests: N/A Security: Pending OSL-3.0, AFL-3.0
Viewing version 1.1.4. Latest version is 1.1.5. Switch to latest

ETechFlow Advanced Product Reviews for Magento 2

Rich, conversion-focused product reviews for Magento 2 (Open Source and Adobe
Commerce / Cloud). Replaces the bare core review experience with photos & video,
pros/cons, verified-buyer badges, helpful voting, review summaries, admin
replies, customer Q&A, post-purchase reminders with auto-generated coupons,
AI auto-translation, an analytics dashboard, and a full headless (GraphQL +
REST)
layer with a Hyvä theme integration.

  • Vendor / module: ETechFlow_AdvancedProductReviews
  • Compatibility: Magento 2.4.4 – 2.4.8, PHP 8.1 – 8.4, CE / EE / Cloud
  • Themes: Luma, Hyvä (via the companion ETechFlow_AdvancedProductReviewsHyva module), and headless storefronts (PWA Studio / custom)

Features

Storefront reviews

  • Photos & video on reviews (real MIME sniffing, not just extension checks, to block spoofed uploads)
  • Pros / cons lists and a "would recommend" flag
  • Verified Buyer badge (detected from the customer's order history)
  • "Was this helpful?" voting with duplicate-vote protection (per customer, and per guest via a privacy-preserving hash)
  • Summary bar: average rating, star distribution, recommend %, verified count
  • Filtering & sorting: by rating, verified-only, with-media; newest / oldest / most-helpful / highest / lowest
  • Comments on reviews, including store (admin) replies
  • AI auto-translation of reviews into the storefront language, powered by the Claude API, cached per language so each review is translated once

Customer Q&A

  • Customers ask questions on a product; staff or other customers answer
  • Moderation workflow (pending / approved / rejected), admin answers flagged as official

Post-purchase review reminders

  • Schedules a reminder email a configurable number of days after an order completes
  • Optional auto-generated coupon as a thank-you incentive (uses Magento SalesRule coupon generation)
  • Skips customers who have already reviewed; idempotent per order; cron-driven

Admin

  • Configuration under Stores ▸ Configuration ▸ ETechFlow ▸ Advanced Product Reviews
  • Grids for Comments, Questions, and Reminders with mass actions
  • Analytics dashboard (Reports ▸ Reviews Analytics): KPIs, rating distribution, 12-month trend, top products — dependency-free inline charts

Headless (Phase 7)

  • GraphQL API for summary, review list, Q&A, and mutations (vote / comment / ask / translate)
  • REST API for review summary and review-extra data
  • Hyvä companion module renders the whole UI from the GraphQL API (Tailwind + Alpine)

Installation

Composer (recommended)

composer require etechflow/module-advanced-product-reviews
bin/magento module:enable ETechFlow_AdvancedProductReviews
bin/magento setup:upgrade
bin/magento setup:di:compile        # production mode only
bin/magento cache:flush

Manual

Copy the module to app/code/ETechFlow/AdvancedProductReviews, then run the same
module:enable / setup:upgrade / cache:flush commands.

Hyvä stores should also install the companion module
etechflow/module-advanced-product-reviews-hyva (see its own README).


Configuration

Stores ▸ Configuration ▸ ETechFlow ▸ Advanced Product Reviews

Section Key settings
General Enable module, allow guest reviews, auto-approve
Review elements Pros/cons, recommend, helpful voting, comments (+ guest), Q&A
Media Enable images / videos, max counts & sizes, allowed video types
Translation (Claude) Enable, Claude API key (stored encrypted), model, auto-translate
Spam CAPTCHA toggle
Reminders Enable, delay (days), coupon toggle + SalesRule id, email template

Translation and Reminders ship OFF by default. Enable them and supply the
Claude API key / coupon rule when you're ready. The Claude key is stored with
Magento's encrypted-config field and is never committed to source.


Headless API

GraphQL

All types are namespaced with etf / Etf so they never collide with core.

Queries: etfReviewSummary, etfProductReviews (paged + filter + sort),
etfProductQuestions, and etf_review_summary added onto ProductInterface
(so a products query can pull the summary inline).

Mutations: etfVoteReviewHelpful, etfPostReviewComment,
etfAskProductQuestion, etfTranslateReview.

{
  etfReviewSummary(sku: "24-MB01") {
    review_count
    average_rating
    rating_distribution { rating count percent }
  }
  etfProductReviews(sku: "24-MB01", pageSize: 5, sort: HELPFUL,
                    filter: { verified_only: true }) {
    total_count
    items { review_id title rating nickname pros cons helpful_count
            media { media_type url } comments { author_name comment } }
  }
}

REST

Method Endpoint Auth
GET /V1/etechflow-reviews/summary/product/:productId anonymous
GET /V1/etechflow-reviews/summary/sku/:sku anonymous
GET /V1/etechflow-reviews/extra/review/:reviewId anonymous
GET /V1/etechflow-reviews/extra/:extraId admin
GET /V1/etechflow-reviews/extra/search admin
POST /V1/etechflow-reviews/extra admin
DELETE /V1/etechflow-reviews/extra/:extraId admin
curl https://store.example.com/rest/V1/etechflow-reviews/summary/sku/24-MB01

Data model

Eight tables, all etechflow_*, foreign-keyed to core review with
ON DELETE CASCADE (child rows clean up when a review is deleted):
review_extra, review_media, review_vote, review_comment,
review_translation, qa_question, qa_answer, review_reminder.

product_id columns are indexed, not hard-FK'd, so the module stays
compatible with Adobe Commerce Content Staging (which swaps the catalog
primary key to row_id).


Cron

Job Schedule Purpose
etechflow_reviews_send_reminders hourly (0 * * * *) Send due review reminders + issue coupons

Quality

  • Coding standard: Magento2 (PHP_CodeSniffer) — 0 errors
  • PHP 8.1–8.4, declare(strict_types=1) throughout, constructor property promotion
  • Service contracts (Api/) for repository + summary management; GraphQL and REST share the same service layer

Licensing & Activation

This module is commercially licensed. On a production host it stays inactive
until a valid license key is present
— every storefront, headless
(GraphQL/REST), and admin surface is gated, so there is no ungated bypass.

  • Activate: Stores ▸ Configuration ▸ eTechFlow ▸ Advanced Product Reviews ▸
    License → paste your key. Or open any admin grid (Comments / Q&A /
    Reminders / Analytics) to reach the in-admin gate page, choose a plan and
    pay by card (Stripe) — your subscription key is issued by the eTechFlow portal
    and saved automatically.
  • Key types: a per-module HMAC key, the shared eTechFlow bundle key (one
    key activates every eTechFlow module on the host), or an SP-XXXX
    subscription key validated against the licensing portal (with domain + server-IP
    checks and soft expiry).
  • Dev/staging is free: localhost, *.test, *.local, staging./dev.
    hosts, *.magento.cloud, ngrok tunnels, etc. bypass licensing automatically.
    You can also set Production Environment = No to bypass on any host.
  • HMAC and bundle keys validate offline (no phone-home); only SP-XXXX keys
    contact the portal, and results are cached.

Uninstall

bin/magento module:disable ETechFlow_AdvancedProductReviews
# optional data removal:
bin/magento setup:upgrade

Drop the etechflow_* tables manually if you want to remove stored data.


License

OSL-3.0 / AFL-3.0. See LICENSE.txt.

Author

ETechFlow — [email protected]

No changelog yet

The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.

Versions
Version Stability QA Status Compatibility Released
1.1.5 stable Fail Magento 2.4.7-2.4.8 Details 2026-06-22 15:13:05
1.1.4 stable Not tested Not yet tested Details 2026-06-22 14:47:16
1.1.2 stable Not tested Not yet tested Details 2026-06-22 14:12:00
1.1.1 stable Not tested Not yet tested Details 2026-06-22 12:57:00
1.0.0 stable Not tested Not yet tested Details 2026-06-16 13:08:19

Requires 9

Package Constraint
magento/framework >=103.0.0
magento/module-catalog >=104.0.0
magento/module-customer >=103.0.0
magento/module-review >=100.4.0
magento/module-sales >=103.0.0
magento/module-sales-rule >=101.2.0
magento/module-store >=101.1.0
magento/module-ui >=101.2.0
php ~8.1.0||~8.2.0||~8.3.0||~8.4.0

Suggests 1

Package Reason
hyva-themes/magento2-theme-module Install on Hyvä-themed storefronts to enable the bundled Tailwind/Alpine reviews UI. Not required on Luma or other standard themes — the module detects the active theme automatically.

No QA results yet

QA pipelines haven't run for this version. Compatibility and quality results appear here once the vendor publishes a tagged release that gets ingested.

License
OSL-3.0, AFL-3.0
Authors

More from etechflow

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.