AI Reviews (OpenAI) — Product Review Generator
The module has been tested on OpenCart 3.x. Operation on other versions is not guaranteed.
Sales and technical support of the module for online stores are not provided in the Russian Federation and the Republic of Belarus.
The module code is unencrypted, without ionCube or obfuscation. You can freely view and modify the code.
AI Reviews (OpenAI) — Automatic Review Generation for OpenCart Products
AI Reviews (OpenAI) is a module for OpenCart and ocStore that automatically creates product reviews using OpenAI models.
The module uses the product name, model, manufacturer, description, attributes, and configured prompt. Based on this data, OpenAI generates the review text, author name, and rating.
Reviews can be created for individual products or in bulk—for the entire catalog, products without reviews, a selected category, or a manufacturer. To safely process a large number of products, the module uses a persistent task queue with step-by-step AJAX processing and cron support.
Main Module Features
- Review generation via the OpenAI Responses API
- Automatic generation of review text, author name, and rating
- Selection of an OpenAI model from a list
- Configurable system instruction
- Custom product prompt template
- Use of the product name, model, manufacturer, description, and attributes
- Review generation in one or multiple languages
- Random language selection for each review
- Random number of reviews for each product within a specified range
- Random review date and time within a specified range
- Automatic or manual review publication
- Bulk addition of products to the queue
- Step-by-step queue processing without a long-running PHP process
- Automatic background processing via cron
- Automatic retries after API errors
- Protection against stuck tasks
- Control of repeated author names and review texts
- Viewing, editing, enabling, and deleting generated reviews
Using Product Information
The module automatically retrieves product information from the OpenCart database and uses it to build the request sent to OpenAI.
The following variables can be used in the prompt template:
- {name} — product name
- {model} — product model
- {manufacturer} — manufacturer or brand
- {description} — product description without HTML markup
- {attributes} — product attributes and specifications
- {language} — language of the current review
The desired rating range can be specified as plain text directly in the prompt, for example: “Desired rating: from 3 to 5”.
If a product has no manufacturer, description, or attributes, the module sends the available data. It is recommended not to require the model to mention characteristics that are not present in the product information.
Flexible OpenAI Configuration
- OpenAI API key
- Model selection from a list
- Temperature configuration
- Maximum number of output tokens
- Reasoning effort configuration
- Timeout for a single API request
- Number of retry attempts after an error
- Delay between API requests
- Number of tasks processed per cron run
- Secret access key for cron
- System instruction for all reviews
- Separate task template for products
- Additional instruction for generating the author name
For reasoning models, the module takes into account that internal reasoning tokens may also use the configured response limit. When reasoning is enabled, the module automatically uses at least 1,000 output tokens.
For standard generation of short reviews, it is recommended to use Reasoning effort: none or low.
Review Language Settings
One or multiple languages can be specified in the general settings, separated by commas.
Example: Ukrainian, Russian, English
If multiple languages are specified, one of them is selected randomly for each new review. There is no need to select a language separately when adding products to the bulk queue—the module’s general language setting is used.
Rating Control
The rating is generated by the OpenAI model according to the instruction in the prompt. The module accepts only values from 1 to 5.
To control the rating, simply add the required condition to the prompt template:
- Desired rating: from 3 to 5
- Desired rating: from 4 to 5
- Desired rating: 5
A separate {rating} variable is not used.
Number of Reviews per Product
When adding products to the bulk queue, you can set a range for the number of reviews to create for each product.
- From 3 to 5 — 3, 4, or 5 tasks will be created randomly for each product
- From 3 to 3 — exactly 3 tasks will be created for each product
- From 1 to 1 — one review for each product
Each review is processed as a separate queue task. This allows only a failed task to be retried without regenerating the entire set.
Review Date Settings
The module allows you to set a start and end date for new reviews.
For each generated review, the date and time are selected randomly within the specified range. This prevents all reviews from being created with the same date.
- Lower review date limit
- Upper review date limit
- Random time during the selected day
- Automatic range correction if the start date is later than the end date
Preventing Repeated Names
The module can send OpenAI a list of previously used author names. The model receives an instruction not to repeat these names when creating a new review.
In the settings, you can specify the maximum number of the most recent unique names sent to the model.
- A higher value reduces the likelihood of repeated names
- A lower value reduces input token usage
- A value of 0 completely disables sending previously used names
For a more natural result, the module can generate full names, shortened forms, names with initials, and other appropriate variants depending on the review language.
Preventing Repeated Review Texts
To reduce similarity between new reviews, the module can send OpenAI the latest review texts for the current product.
- The number of previous reviews sent to the model can be configured
- Only the latest reviews for the specific product are sent
- The length of each transmitted text is limited
- The model receives an instruction not to repeat phrases, structure, openings, or endings
- A separate thematic direction is selected for each new review
- A value of 0 disables sending previous reviews
Increasing the number of transmitted texts improves repetition control but increases OpenAI input token usage.
Review Themes
To prevent reviews for the same product from differing only by a few words, the module automatically changes the recommended focus of the text.
Possible themes include:
- First impression and reason for choosing the product
- Everyday use and convenience
- Manufacturing and material quality
- Packaging, delivery, and initial setup
- How well the product met the buyer’s expectations
- A specific practical use case
- A useful detail noticed during use
- Value for money
- Ease of setup, care, or maintenance
- Recommendation for a specific type of buyer
Adding Products to the Queue
The module allows you to add either an individual product or a group of products to the queue based on specified conditions.
- One selected product
- Products without reviews
- All store products
- Products from a selected category
- Products from a selected manufacturer
- Enabled products only
- Disabled products only
- Products with any status
- Filter by product creation start date
- Filter by product creation end date
- Range for the number of reviews per product
An individual product can be found by name or model using the standard OpenCart autocomplete.
Generation Queue
Each future review is stored as a separate task in a persistent database queue. Pagination is provided for the queue. The number of rows per page is determined by the OpenCart config_limit_admin setting. If the value is missing or equals zero, 20 rows per page are used.
Task Statuses
- pending — the task is waiting to be processed
- processing — the task is being processed
- retry — an error occurred and the task is waiting for another attempt
- done — the review was created successfully
- failed — the permitted number of retry attempts has been exhausted
If a task remains in the processing state because the PHP process terminated unexpectedly, the module automatically returns it to the retry state after 15 minutes.
Queue Management
- Deleting an individual task
- Clearing the entire queue
- Protecting an active task from deletion while it is being processed
- Task list pagination
- Displaying the latest error message
- Automatic retry after a temporary error
Step-by-Step Manual Processing
When the start button is clicked, the module does not attempt to process the entire queue in a single PHP request.
Instead, step-by-step AJAX processing is used:
- The browser starts processing one task
- The module generates and saves one review
- The progress indicator is updated
- The browser automatically starts the next task
- The process continues until all available tasks have been processed
Progress Indicator
The bulk queue tab displays an indicator of the current progress.
- Number of pending tasks
- Number of tasks being processed
- Number of successfully completed tasks
- Number of tasks with errors
- Overall queue completion percentage
After each AJAX request, the indicator is updated without a full page reload.
Automatic Processing via Cron
The module automatically generates a ready-to-use cron URL and crontab command in its settings. The recommended cron frequency depends on the number of products, OpenAI API limits, and the configured batch size. For gradual continuous queue processing, running it once per minute is usually sufficient.
Retries After Errors
If the OpenAI API is temporarily unavailable, the request limit is exceeded, or the response does not contain valid structured data, the task is not deleted.
- The number of retry attempts is configurable
- The error text is stored in the queue
- After all attempts are exhausted, the task receives the failed status
Managing Generated Reviews
A separate tab is provided in the administration area for reviews created by the module.
- Viewing the list of generated reviews
- Displaying the product and author
- Displaying the rating and status
- Displaying the review creation date
- Displaying the OpenAI model used
- Displaying the number of input and output tokens
- Editing the author, text, rating, and status
- Editing in a modal window without reloading the page
- Quickly enabling or disabling a review
- Green button for an enabled review
- Red button for a disabled review
- Deleting an individual review
- Bulk deletion of all generated reviews
- Review list pagination
Through its own interface, the module allows editing and deleting only reviews that were created by the module and registered in the generated reviews table. Regular customer reviews are not modified.
Publishing Reviews
The initial status of new reviews can be selected in the settings.
- Enabled — the review becomes immediately available in the store
- Disabled — the review is saved for prior administrator approval
The status can be changed at any time from the generated reviews list or in the editing modal window.
Saving Reviews
Completed reviews are saved in the standard OpenCart reviews table. Therefore, they are compatible with the standard review display and management system.
Token Usage
The cost of one request depends on the selected model, the length of the product description, attributes, prompt, and the number of transmitted names and previous reviews.
Separate settings are provided to control costs:
- Maximum number of output tokens
- Number of names used for repetition control
- Number of previous reviews for the product
- Reasoning level
- OpenAI model selection
To save tokens, you can reduce the number of transmitted names and reviews or set the value to 0. A high reasoning level is usually not required for short product reviews.
OpenAI API Usage Cost
Important: reviews are generated through the paid OpenAI API. API usage is not included in the module price and is paid directly to OpenAI by the store owner.
The actual cost depends on:
- The selected OpenAI model
- The number of input tokens
- The number of output and reasoning tokens
- The length of product descriptions and attributes
- The number of transmitted names and previous reviews
- The number of generated reviews
Pricing, model availability, limits, and billing rules may change. Current information is available on the official page: OpenAI API Pricing.
Benefits
- Automating content preparation for a large catalog
- Bulk generation without running a single long PHP process
- Flexible selection of products for processing
- Use of actual product information
- Custom prompts and generation rules
- Support for multiple languages
- Control of dates, ratings, and publication status
- Reduced repetition of names and texts
- Manual and automatic queue processing
- Editing results before publication
- Tracking token usage
- Use of the standard OpenCart review system
Security
- The cron URL is protected by a separate secret key
- Administrator permissions are checked for AJAX operations
- Cron generation is blocked when the module is disabled
- Only reviews created by the module can be edited through its interface
Compatibility
- OpenCart 3.x
- ocStore 3.x
- Standard OpenCart review system
- Standard OpenCart 3 administration interface
- Ukrainian, English, and Russian localizations
The module does not modify the product page template. Reviews are displayed in the storefront using the installed OpenCart theme.
System Requirements
- PHP 7.2 or a newer compatible version
- PHP cURL
- PHP JSON
- PHP mbstring is recommended
- Ability to send outbound HTTPS requests to api.openai.com
- OpenAI account
- Active OpenAI API key
- Positive balance or active OpenAI API billing
- Cron on the server or in the hosting control panel—for automatic processing
Important Limitations
- The result depends on the selected model, prompt, and product information
- The module does not guarantee identical results when generation is repeated
- OpenAI may refuse to process certain requests according to its policies
- Model availability depends on the OpenAI account and region
- Request limits depend on the OpenAI API usage tier
- Increasing the context and number of previous reviews increases token usage
- Generated text should be reviewed before publication
- The module cannot verify a real buyer’s actual experience with the product
Installation
- Upload the archive through “Extensions → Extension Installer”
- Go to “Extensions → Modifications” and refresh the modification cache
- Open “Extensions → Extensions → Modules”
- Install the AI Reviews (OpenAI) module
- Open the module settings
- Enter the OpenAI API key
- Select the model and generation parameters
- Review the system and product prompts
- Set the language, date range, and status of new reviews
- Enable the module and save the settings
- If necessary, add the generated cron command in the hosting control panel
License
One license covers one domain and its subdomains.
OpenAI API services, payment for used tokens, topping up the OpenAI balance, and configuration of third-party hosting, servers, or cron are not included in the module license price.
Adaptation for a non-standard administration panel, a modified database structure, or a third-party review system is provided separately.
ocStore 3.x
English
Russian
English
Russian
PHP 8.0-8.3
There are no reviews for this product, be the first to leave your review.