Automated Review Reply Bot for Marketplaces

Automated Review Reply Bot for Marketplaces

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • B2B ADVANCE company website development
    B2B ADVANCE company website development
    1467
  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1320
  • Website development for BELFINGROUP
    Website development for BELFINGROUP
    1016
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1276
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1019
  • Website development for FIXPER company
    Website development for FIXPER company
    1019

Automated Review Reply Bot for Marketplaces

A seller on Ozon loses up to 30% of rankings due to a low review response rate. Manually handling 500 reviews per month takes 40 hours of a manager's time. Our bot cuts that to 2 hours and boosts product card ratings. Marketplaces factor in the percentage of replied-to reviews in their ranking algorithms — directly impacting sales. We built a bot that automates three tasks: fetching new reviews, generating replies, and publishing them via API. This allows you to reply to 95% of reviews within 2 hours without human intervention.

Why Automation Is Critical for Marketplace Sellers

Marketplace ranking systems consider not just average rating but also seller activity. A high response rate (over 90%) gives a competitive edge in search results. Our clients report a 20-30% increase in product card positions after implementing the bot. Additionally, automation eliminates human errors: missed deadlines, cookie-cutter responses, and neglect of neutral reviews. According to our data, stores with automated replies receive 40% fewer negative reviews. With over 10 years of experience and 100+ successful projects, we ensure reliable automation.

How the Bot Handles Negative Reviews

The architecture is based on a task queue: a Cron job polls each marketplace's API. If the rating is 4-5, the review is sent to a GPT generator or a template system. If the rating is 1-3, it enters a manual reply queue with a Telegram notification to the manager. This guarantees every negative review receives a personalized response without delay. Below is the logic using an Ozon example:

class OzonReviewApiClient { private string $clientId; private string $apiKey; private string $baseUrl = 'https://api-seller.ozon.ru'; public function getUnprocessedReviews(): array { $response = Http::withHeaders([ 'Client-Id' => $this->clientId, 'Api-Key' => $this->apiKey, 'Content-Type' => 'application/json', ])->post("{$this->baseUrl}/v1/review/list", [ 'processed' => false, 'with_text' => true, 'page' => 1, 'page_size' => 100, ]); return $response->json('result.reviews', []); } public function replyToReview(string $reviewId, string $text): bool { $response = Http::withHeaders([ 'Client-Id' => $this->clientId, 'Api-Key' => $this->apiKey, 'Content-Type' => 'application/json', ])->post("{$this->baseUrl}/v1/review/comment/create", [ 'review_id' => $reviewId, 'text' => $text, ]); return $response->successful(); } } 

Response Generation: Templates vs GPT

We offer two generation approaches. The first is template-based: for 4-5 star reviews, a random template is selected with personalization (name, product). The second uses GPT (gpt-4o-mini) for maximum uniqueness. You can combine them: templates for simple products, GPT for premium segments. The GPT approach creates unique responses 5 times faster than manual writing.

class TemplateResponseGenerator { private array $positiveTemplates = [ "Спасибо за отзыв, {author}! Рады, что {product_short} вам понравился. Будем рады видеть вас снова!", "{author}, благодарим за оценку! Приятно слышать положительные слова о {product_short}.", "Спасибо, {author}! Ваш отзыв очень важен для нас. Желаем приятного использования {product_short}!", ]; private array $neutralTemplates = [ "Спасибо за отзыв, {author}. Если у вас возникнут вопросы по {product_short} — обращайтесь в нашу поддержку.", ]; public function generate(ReviewDTO $review): string { $templates = $review->rating >= 4 ? $this->positiveTemplates : $this->neutralTemplates; $template = $templates[array_rand($templates)]; return str_replace( ['{author}', '{product_short}'], [$review->author, $this->shortProductName($review->productName)], $template, ); } } 

GPT-based replies are more natural but require more compute. We use temperature 0.8 and a strict system prompt that forbids discount promises and links.

class GptResponseGenerator { public function generate(ReviewDTO $review): string { $response = $this->openai->chat()->create([ 'model' => 'gpt-4o-mini', 'messages' => [ [ 'role' => 'system', 'content' => implode("\n", [ 'Ты — специалист поддержки интернет-магазина. Пишешь ответ на отзыв покупателя.', 'Требования: 1–3 предложения. Без канцелярита. Называй покупателя по имени если оно есть.', 'Если плюсы — поблагодари. Нейтральный — поблагодари и предложи помощь.', 'Никаких обещаний скидок и конкретных дат.', ]), ], [ 'role' => 'user', 'content' => "Товар: {$review->productName}\nРейтинг: {$review->rating}/5\nАвтор: {$review->author}\nОтзыв: {$review->text}", ], ], 'max_tokens' => 150, 'temperature' => 0.8, ]); return $response->choices[0]->message->content; } } 

Comparison of Template and GPT Approaches

Parameter Template GPT
Generation speed < 0.1 s ~1-2 s
Uniqueness Medium (limited template set) High
Personalization Basic (name, product substitution) Deep (context of the review)
Error risk Low Possible hallucinations

Job System and Quality Control

Each review is processed in a queue via Laravel Horizon with three retry attempts. Before publishing, the reply undergoes validation: length (20-1000 characters), absence of links and competitor mentions. If the reply fails validation, an exception is thrown and the review is flagged for manual check.

class ProcessMarketplaceReviewJob implements ShouldQueue { public int $tries = 3; public function handle( TemplateResponseGenerator $templateGen, GptResponseGenerator $gptGen, ReviewPublisher $publisher, ReviewAlertService $alerts, ): void { $review = $this->review; if ($review->rating <= 3) { $alerts->urgentReviewAlert($review); return; } $text = config('reviews.use_gpt') ? $gptGen->generate($review) : $templateGen->generate($review); $success = $publisher->publish($review->platform, $review->externalId, $text); if (!$success) { throw new \RuntimeException("Failed to publish reply to {$review->platform}"); } Review::where('external_id', $review->externalId) ->update([ 'reply_text' => $text, 'reply_published_at' => now(), 'is_processed' => true, ]); } } 

Performance Metrics

Metric Target
Percentage of processed reviews > 95% within 24 hours
Share of auto-replies (rating 4-5) 70-80% of all reviews
Average reply time < 2 hours
Publishing errors < 1%

What's Included in Our Work

  • Development of API clients for Ozon, Wildberries, Yandex.Market (turnkey).
  • Configuration of reply generation (templates or GPT).
  • Queue system and notifications (Telegram).
  • Reply validation and error handling.
  • Dashboard with metrics (Laravel Horizon + Google Data Studio).
  • Technical documentation and access handover.

Bot Setup Process

  1. Requirements analysis: identify marketplaces, review volume, preferred generation method.
  2. API client development: create modules for each marketplace.
  3. Generator integration: configure templates or GPT to align with business logic.
  4. Queue setup: Laravel Horizon for background processing.
  5. Testing: under load up to 1000 reviews per day.
  6. Deployment: to your server or cloud.
  7. Monitoring: metrics, alerts, ongoing support.

Timelines

  • Ozon API client + template generator: 1 day
  • Wildberries + Yandex.Market API: +1 day
  • GPT generator + validator: 1 day
  • Job system + manual reply queue: 0.5 day
  • Telegram notifications + metrics: 0.5 day

Total: 3–4 working days. We guarantee transparent code and post-deployment support. Our team has extensive development experience and over 100 completed projects. Contact us for a consultation and project evaluation. Order development now and start reaping the benefits of automation.

Setup cost starts at $2,000, with monthly subscription from $500 depending on review volume and features.