İş akışları

client.workflows üzerinden birkaç SDK çağrısı çalıştıran ve tek bir birleşik sonuç döndüren bileşik yardımcılar.

Tüm iş akışı metotları client.workflows altında yer alır. Her biri, aksi durumda kendiniz yazmanız gereken bir dizi normal SDK çağrısının yerini alır ve istemci tarafında birleştirilmiş tek bir sonuç döndürür. Bir iş akışının arkasında tek bir REST uç noktası yoktur; bu nedenle sonuçtaki anahtarlar, REST yanıtında iletilen alan adları değil, SDK'nın kendi adlarıdır.

Bir iş akışı birden fazla çağrı yaptığı için kullandığı API anahtarının, iş akışının eriştiği tüm kaynaklara erişim izni olması gerekir ve tek bir iş akışı çağrısı, gerçekleştirdiği her istek için hız limitinizden bir kez düşülür. Metotlar, sayısal veya base64 ile kodlanmış kimlikleri kabul eden bir location_id alır; bkz. Konum kimlikleri.


workflows.auto_reply_to_reviews

Bir konumun yorumlarını tek bir çağrıyla, bir şablon kullanarak yanıtlayın. Diğer yorumları elle yanıtlarken olumlu yorumlara yanıt verme oranını yüksek tutmak için bunu kullanın.

Python
client.workflows.auto_reply_to_reviews(    location_id: str | int,    *,    template: str = "Thank you for your feedback!",    min_rating: int = 4,    only_unanswered: bool = True,    dry_run: bool = False,) -> list[dict[str, Any]]
ParametreTürAçıklama
location_idstr | intİşlenecek konum.
templatestrEşleşen yorumlar için yanıt metni. {rating} yerine yorumun puanı konur.
min_ratingintYalnızca bu puana veya daha yüksek bir puana sahip yorumları yanıtlayın. Varsayılan değer 4.
only_unansweredboolZaten yanıtlanmış yorumları atlayın. Varsayılan değer True.
dry_runboolYanıtları yayımlamadan hangi yorumların yanıtlanacağını döndürün. Varsayılan değer False.

auto_paging_iter() ile sayfalar arasında ilerlenerek yapılan reviews.list çağrılarının ve ardından her iki filtreden geçen her yorum için yapılan bir reviews.respond çağrısının yerini alır.

Python
# See what would be sent, without postingplan = client.workflows.auto_reply_to_reviews(  16808,  template="Thanks for the {rating}-star review!",  min_rating=4,  dry_run=True,)for entry in plan:  print(entry["id"], entry["rating"], entry["status"]) # Then post for realresults = client.workflows.auto_reply_to_reviews(16808, min_rating=4)print(f"Replied to {len(results)} reviews")

İşlem yaptığı her yorum için bir sözlük içeren basit bir liste döndürür; her sözlükte id, rating, reply ve status bulunur. Önce dry_run=True ile çalıştırın: döndürülen öğelerde status değeri dry_run olarak ayarlanır; böylece herhangi bir yanıt yayımlanmadan önce seçimi kontrol edebilirsiniz.


workflows.listings_health_audit

Bir konumun işletme kayıtlarının genel durumunu tek bir çağrıyla alın: premium işletme kayıtları, sesli arama işletme kayıtları, yinelenen işletme kayıtları ve bir puan. Konum bazında bir durum paneli oluşturmak için üç ayrı çağrı yerine bunu kullanın.

Python
client.workflows.listings_health_audit(location_id: str | int) -> APIObject

Aynı konum için yapılan listings.premium, listings.voice ve listings.duplicates çağrılarının yerini alır; premium sonuçlar syncStatus değerine göre sayılır.

Python
audit = client.workflows.listings_health_audit(16808)print(f"Health score: {audit.health_score}%")print(f"Synced: {audit.synced_count} of {len(audit.premium)}")print(f"Duplicates found: {len(audit.duplicates)}")for issue in audit.issues:  print(issue.get("site"), issue.get("syncStatus"))

location_id, premium, voice, duplicates, synced_count, issue_count, issues ve health_score içeren bir APIObject döndürür. health_score, syncStatus değeri SYNCED olan premium işletme kayıtlarının tam sayı olarak ifade edilen yüzdesidir ve premium işletme kaydı yoksa 0 olur. issues, syncStatus alanı mevcut olan ve değeri SYNCED olmayan premium işletme kayıtlarını içerir.


workflows.weekly_reputation_report

Bir konumun belirli bir tarih aralığındaki yorumlarını, yorum analizlerini, profil analizlerini ve işletme kaydı senkronizasyon durumunu alın. Beş çağrı yaptığı için bunu canlı bir kontrol paneli yerine düzenli olarak hazırlanan bir rapor için kullanın.

Python
client.workflows.weekly_reputation_report(    location_id: str | int,    *,    start_date: str | None = None,    end_date: str | None = None,) -> APIObject

start_date ve end_date, YYYY-MM-DD biçimindeki dizelerdir ve ikisi de isteğe bağlıdır. reviews.analytics.overview, first=50 ile yapılan reviews.list, analytics.google, analytics.bing ve listings.premium çağrılarının yerini alır; tarih aralığı, bunu kabul eden her çağrıya iletilir.

Python
report = client.workflows.weekly_reputation_report(  16808,  start_date="2026-09-01",  end_date="2026-09-07",)print(report.review_summary.get("averageRating"))print(report.analytics.get("google", {}).get("views"))print(report.listings_health.get("sync_rate"))

location_id, review_summary (yorum analizlerinin genel özeti), recent_reviews (tarih aralığındaki en fazla 50 yorum), analytics (google ve bing içeren bir sözlük) ve listings_health (total, synced ve sync_rate içeren bir sözlük) içeren bir APIObject döndürür. sync_rate, yüzde olarak biçimlendirilmiş bir dizedir ve konumun premium işletme kaydı yoksa N/A olur.


Ayrıca bkz.