בוט תשובות אוטומטי לסקירות למרקטפלייסים
מוכר ב-Ozon מאבד עד 30% מהדירוגים בגלל אחוז תגובה נמוך לסקירות. טיפול ידני ב-500 סקירות בחודש לוקח 40 שעות מזמנו של מנהל. הבוט שלנו מצמצם את זה לשעתיים ומשפר את דירוגי כרטיסי המוצר. מרקטפלייסים מתחשבים באחוז הסקירות שזכו לתגובה באלגוריתמי הדירוג שלהם — מה שמשפיע ישירות על המכירות. בנינו בוט שמבצע אוטומציה של שלוש משימות: שליפת סקירות חדשות, יצירת תשובות ופרסומן באמצעות API. זה מאפשר להגיב ל-95% מהסקירות תוך שעתיים ללא התערבות אנושית.
למה אוטומציה קריטית למוכרים במרקטפלייסים
מערכות הדירוג של המרקטפלייסים מתחשבות לא רק בדירוג הממוצע אלא גם בפעילות המוכר. אחוז תגובה גבוה (מעל 90%) מעניק יתרון תחרותי בתוצאות החיפוש. הלקוחות שלנו מדווחים על עלייה של 20-30% במיקומי כרטיסי המוצר לאחר הטמעת הבוט. בנוסף, האוטומציה מבטלת טעויות אנוש: החמצת מועדים, תשובות אחידות והזנחת סקירות ניטרליות. לפי הנתונים שלנו, חנויות עם תשובות אוטומטיות מקבלות 40% פחות סקירות שליליות. עם ניסיון של למעלה מ-10 שנים ויותר מ-100 פרויקטים מוצלחים, אנו מבטיחים אוטומציה אמינה.
איך הבוט מטפל בסקירות שליליות
הארכיטקטורה מבוססת על תור משימות: עבודת Cron בודקת את ה-API של כל מרקטפלייס. אם הדירוג הוא 4-5, הסקירה נשלחת למחולל GPT או למערכת תבניות. אם הדירוג הוא 1-3, היא נכנסת לתור תשובות ידניות עם התראה בטלגרם למנהל. זה מבטיח שכל סקירה שלילית תקבל תשובה מותאמת אישית ללא עיכוב. להלן ההיגיון באמצעות דוגמה מ-Ozon:
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();
}
} יצירת תשובות: תבניות לעומת GPT
אנו מציעים שתי גישות ליצירת תשובות. הראשונה מבוססת תבניות: עבור סקירות של 4-5 כוכבים נבחרת תבנית אקראית עם התאמה אישית (שם, מוצר). השנייה משתמשת ב-GPT (gpt-4o-mini) לייחודיות מקסימלית. ניתן לשלב ביניהן: תבניות למוצרים פשוטים, GPT לפלחי פרימיום. גישת ה-GPT יוצרת תשובות ייחודיות פי 5 מהר יותר מכתיבה ידנית.
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 טבעיות יותר אך דורשות יותר כוח חישוב. אנו משתמשים בטמפרטורה 0.8 ובהנחיית מערכת קפדנית האוסרת הבטחות הנחות וקישורים.
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;
}
} השוואה בין גישות תבניות ו-GPT
| פרמטר | תבנית | GPT |
|---|---|---|
| מהירות יצירה | < 0.1 שניות | ~1-2 שניות |
| ייחודיות | בינונית (קבוצת תבניות מוגבלת) | גבוהה |
| התאמה אישית | בסיסית (החלפת שם, מוצר) | עמוקה (הקשר הסקירה) |
| סיכון לשגיאות | נמוך | אפשריות הזיות |
מערכת משימות ובקרת איכות
כל סקירה מעובדת בתור באמצעות Laravel Horizon עם שלושה ניסיונות חוזרים. לפני הפרסום, התשובה עוברת ולידציה: אורך (20-1000 תווים), היעדר קישורים ואזכורי מתחרים. אם התשובה נכשלת בוולידציה, נזרקת חריגה והסקירה מסומנת לבדיקה ידנית.
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,
]);
}
} מדדי ביצועים
| מדד | יעד |
|---|---|
| אחוז הסקירות המעובדות | > 95% תוך 24 שעות |
| חלק התשובות האוטומטיות (דירוג 4-5) | 70-80% מכלל הסקירות |
| זמן תשובה ממוצע | < שעתיים |
| שגיאות פרסום | < 1% |
מה כלול בעבודה שלנו
- פיתוח לקוחות API עבור Ozon, Wildberries, Yandex.Market (מפתח-ביד).
- הגדרת יצירת תשובות (תבניות או GPT).
- מערכת תורים והתראות (טלגרם).
- ולידציית תשובות וטיפול בשגיאות.
- לוח מחוונים עם מדדים (Laravel Horizon + Google Data Studio).
- תיעוד טכני והעברת גישה.
תהליך הגדרת הבוט
- ניתוח דרישות: זיהוי מרקטפלייסים, היקף סקירות, שיטת יצירה מועדפת.
- פיתוח לקוח API: יצירת מודולים לכל מרקטפלייס.
- שילוב מחולל: הגדרת תבניות או GPT בהתאם להיגיון העסקי.
- הגדרת תורים: Laravel Horizon לעיבוד רקע.
- בדיקות: תחת עומס של עד 1000 סקירות ביום.
- פריסה: לשרת שלך או לענן.
- ניטור: מדדים, התראות, תמיכה שוטפת.
לוחות זמנים
- לקוח API של Ozon + מחולל תבניות: יום אחד
- API של Wildberries + Yandex.Market: +יום אחד
- מחולל GPT + ולידטור: יום אחד
- מערכת משימות + תור תשובות ידניות: 0.5 יום
- התראות טלגרם + מדדים: 0.5 יום
סה"כ: 3–4 ימי עבודה. אנו מבטיחים קוד שקוף ותמיכה לאחר הפריסה. לצוות שלנו ניסיון פיתוח נרחב ויותר מ-100 פרויקטים שהושלמו. צור קשר לייעוץ והערכת פרויקט. הזמן פיתוח עכשיו והתחל ליהנות מהיתרונות של אוטומציה.
עלות ההתקנה מתחילה ב-$2,000, עם מנוי חודשי מ-$500 בהתאם להיקף הסקירות והתכונות.







