Flux de travail

Fonctions utilitaires composites qui exécutent plusieurs appels au SDK et renvoient un résultat combiné via client.workflows.

Toutes les méthodes de flux de travail se trouvent sous client.workflows. Chacune remplace une séquence d'appels SDK ordinaires que vous devriez autrement écrire vous-même et renvoie un résultat combiné assemblé côté client. Aucun flux de travail ne correspond à un seul endpoint REST ; les clés du résultat sont donc des noms propres au SDK, et non des noms de champs transmis dans une réponse REST.

Comme un flux de travail effectue plusieurs appels, la clé API utilisée pour l'exécuter doit donner accès à toutes les ressources qu'il utilise, et chaque requête sous-jacente est comptabilisée dans votre limite de débit. Les méthodes prennent un location_id, qui accepte les identifiants numériques ou encodés en base64 ; consultez Identifiants des établissements.


workflows.auto_reply_to_reviews

Répondez aux avis d'un établissement à partir d'un modèle, en un seul appel. Utilisez cette méthode pour maintenir un taux de réponse élevé aux avis positifs pendant que vous traitez les autres manuellement.

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]]
ParamètreTypeDescription
location_idstr | intÉtablissement à traiter.
templatestrTexte de réponse aux avis correspondants. {rating} est remplacé par la note de l'avis.
min_ratingintRépondre uniquement aux avis dont la note est supérieure ou égale à cette valeur. Valeur par défaut : 4.
only_unansweredboolIgnorer les avis qui ont déjà une réponse. Valeur par défaut : True.
dry_runboolRenvoyer les avis auxquels une réponse serait apportée, sans publier de réponse. Valeur par défaut : False.

Cette méthode remplace les appels à reviews.list paginés avec auto_paging_iter(), suivis d'un appel à reviews.respond pour chaque avis qui satisfait aux deux filtres.

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")

Renvoie une simple liste de dictionnaires, un par avis traité, chacun contenant id, rating, reply et status. Exécutez d'abord la méthode avec dry_run=True : les entrées renvoyées ont status défini sur dry_run, ce qui vous permet de vérifier la sélection avant la publication de toute réponse.


workflows.listings_health_audit

Obtenez une vue d'ensemble des fiches d'un établissement en un seul appel : fiches premium, fiches vocales, doublons et score. Utilisez cette méthode pour afficher un panneau d'état par établissement au lieu d'effectuer trois appels distincts.

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

Cette méthode remplace listings.premium, listings.voice et listings.duplicates pour le même établissement, avec un décompte des résultats premium par syncStatus.

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"))

Renvoie un APIObject contenant location_id, premium, voice, duplicates, synced_count, issue_count, issues et health_score. health_score est la proportion de fiches premium dont syncStatus vaut SYNCED, exprimée en pourcentage entier, et vaut 0 en l'absence de fiches premium. issues contient les fiches premium dont syncStatus ne vaut pas SYNCED et n'est pas absent.


workflows.weekly_reputation_report

Récupérez les avis, les analyses des avis, les analyses des profils et l'état de synchronisation des fiches d'un établissement sur une période donnée. Utilisez cette méthode pour un rapport récurrent plutôt que pour un tableau de bord en temps réel, car elle effectue cinq appels.

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

start_date et end_date sont des chaînes au format YYYY-MM-DD, toutes deux facultatives. Cette méthode remplace reviews.analytics.overview, reviews.list avec first=50, analytics.google, analytics.bing et listings.premium, en transmettant la période à chaque appel qui l'accepte.

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"))

Renvoie un APIObject contenant location_id, review_summary (la synthèse des analyses des avis), recent_reviews (jusqu'à 50 avis sur la période), analytics (un dictionnaire contenant google et bing) et listings_health (un dictionnaire contenant total, synced et sync_rate). sync_rate est une chaîne formatée en pourcentage et vaut N/A lorsque l'établissement n'a aucune fiche premium.


Voir aussi