Flussi di lavoro
Funzioni ausiliarie composite che eseguono più chiamate SDK e restituiscono un unico risultato combinato tramite client.workflows.
Tutti i metodi dei flussi di lavoro si trovano in client.workflows. Ciascuno sostituisce una sequenza di normali chiamate SDK che altrimenti dovresti scrivere tu e restituisce un unico risultato combinato, assemblato sul client. Un flusso di lavoro non corrisponde a un singolo endpoint REST, quindi le chiavi del risultato sono nomi definiti dall'SDK, non nomi di campi trasmessi in una risposta REST.
Poiché un flusso di lavoro esegue più chiamate, la chiave API che usa deve avere accesso a ogni risorsa coinvolta, e ogni chiamata al flusso di lavoro viene conteggiata ai fini del limite di frequenza una volta per ciascuna richiesta sottostante. I metodi accettano un parametro location_id, che può contenere ID numerici o codificati in base64: vedi ID delle sedi.
workflows.auto_reply_to_reviews
Rispondi alle recensioni di una sede usando un modello, con una sola chiamata. Usalo per mantenere alta la percentuale di risposte alle recensioni positive mentre gestisci manualmente le altre.
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]]Sostituisce reviews.list, scorrendone le pagine con auto_paging_iter(), seguito da una chiamata a reviews.respond per ogni recensione che soddisfa entrambi i filtri.
# 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")Restituisce un semplice elenco di dict, uno per ogni recensione su cui ha agito, ciascuno con id, rating, reply e status. Eseguilo prima con dry_run=True: gli elementi vengono restituiti con status impostato su dry_run, così puoi controllare la selezione prima che venga pubblicata qualsiasi risposta.
workflows.listings_health_audit
Ottieni una panoramica delle schede di una sede con una sola chiamata: schede premium, schede per assistenti vocali, duplicati e un punteggio. Usalo per un pannello sullo stato delle schede di una singola sede al posto di tre chiamate separate.
client.workflows.listings_health_audit(location_id: str | int) -> APIObjectSostituisce listings.premium, listings.voice e listings.duplicates per la stessa sede, contando i risultati premium in base a syncStatus.
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"))Restituisce un oggetto APIObject con location_id, premium, voice, duplicates, synced_count, issue_count, issues e health_score. health_score è la percentuale di schede premium il cui syncStatus è SYNCED, espressa come numero intero, e vale 0 quando non ci sono schede premium. issues contiene le schede premium il cui syncStatus non è né SYNCED né assente.
workflows.weekly_reputation_report
Recupera recensioni, analisi delle recensioni, analisi del profilo e stato di sincronizzazione delle schede per una sede in un intervallo di date. Usalo per un report periodico anziché per una dashboard in tempo reale, poiché esegue cinque chiamate.
client.workflows.weekly_reputation_report( location_id: str | int, *, start_date: str | None = None, end_date: str | None = None,) -> APIObjectstart_date e end_date sono stringhe YYYY-MM-DD ed entrambe sono facoltative. Sostituisce reviews.analytics.overview, reviews.list con first=50, analytics.google, analytics.bing e listings.premium, passando l'intervallo di date a ogni chiamata che lo accetta.
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"))Restituisce un oggetto APIObject con location_id, review_summary (la panoramica delle analisi delle recensioni), recent_reviews (fino a 50 recensioni nell'intervallo), analytics (un dict con google e bing) e listings_health (un dict con total, synced e sync_rate). sync_rate è una stringa formattata come percentuale e vale N/A quando la sede non ha schede premium.
Vedi anche
- Recensioni: le chiamate per elencare le recensioni, rispondere e ottenere analisi eseguite da questi flussi di lavoro
- Schede: chiamate per schede premium, schede per assistenti vocali e duplicati
- Analisi: metriche dei profili Google e Bing
- Rispondere alle recensioni: regole per le risposte e limiti per sito
- Analisi delle recensioni: significato dei numeri nella panoramica e nella cronologia
- Trovare e correggere gli errori delle schede: cosa fare con l'elenco
issues