Інтеграція Google Reviews
Vartovii використовує Google Reviews для збору відгуків співробітників та клієнтів про компанії.
Як це працює
sequenceDiagram
participant User
participant API
participant SerpAPI
participant Google Maps
User->>API: /api/google-reviews/{company}
API->>SerpAPI: Search for place ID
SerpAPI->>Google Maps: Query google_maps engine
Google Maps-->>SerpAPI: Place results
SerpAPI-->>API: data_id
API->>SerpAPI: Fetch reviews (paginated)
SerpAPI->>Google Maps: Query google_maps_reviews
Google Maps-->>SerpAPI: Reviews data
SerpAPI-->>API: Reviews JSON
API-->>User: Normalized reviews
Кінцева точка API
GET /api/google-reviews/{company_name}
Параметри
| Параметр | Тип | Опис | За замовчуванням |
|---|---|---|---|
company_name | string | Назва компанії для пошуку | обов'язково |
country | string | Код країни (de, ch, us, uk) | "de" |
max_reviews | int | Максимальна кількість відгуків для отримання | 20 |
Відповідь
{
"success": true,
"company": "Google Switzerland",
"reviews": [
{
"id": "google--1234567890",
"source": "google",
"author": "John Doe",
"rating": 4.0,
"text": "Great workplace...",
"date": "2 months ago",
"sentiment": "positive"
}
],
"summary": {
"total_reviews": 5,
"average_rating": 4.2,
"positive_count": 4,
"negative_count": 1
}
}
Технічні деталі
Інтеграція SerpAPI
- Engine:
google_maps_reviews - Pagination: Автоматична через
next_page_token - Quota: 100 запитів/місяць (безкоштовний рівень)
- Вартість: Кожна сторінка (10 відгуків) = 1 кредит
Підтримка мов
| Код країни | Мова | hl Параметр |
|---|---|---|
| de, at, ch | Німецька | de |
| us, uk, gb | Англійська | en |
| fr | Французька | fr |
| ua | Українська | uk |
Розташування коду
- Harvester:
vartovii/scrapers/google_reviews_harvester.py - SerpAPI Client:
vartovii/scrapy_services/serpapi_client.py - API Router:
backend/routers/corporate.py
Приклад використання
from vartovii.scrapers.google_reviews_harvester import get_google_reviews_harvester
harvester = get_google_reviews_harvester()
# Перевірити доступність
if harvester.is_available():
result = harvester.harvest(
company_name="Google Switzerland",
country="ch",
max_reviews=20
)
print(f"Знайдено {len(result['reviews'])} відгуків")
Додано у v3.2.12 (січень 2026)