PWA Google Reviews Connector (version 2.0)
Nom
PWA Google Reviews Connector
Version
2.0
Description générale
Le plugin PWA Google Reviews Connector est une solution WordPress qui synchronise automatiquement les avis Google Maps avec le plugin Widgets for Google Reviews (slug : wp-reviews-plugin-for-google). Il récupère les avis via une API REST personnalisée hébergée sur un serveur distant (https://prestigeweb.agency), stocke les données dans une table WordPress personnalisée, et met à jour les métadonnées nécessaires pour l »affichage des avis sur le site. Ce plugin est conçu pour fonctionner en tandem avec Widgets for Google Reviews, en s »appuyant sur ses données de configuration pour une intégration transparente.
Fonctionnalités principales
1. Récupération des avis Google Maps
- Source : Les avis sont récupérés via une API REST personnalisée (https://prestigeweb.agency/wp-json/pwa-grc/v1/google-reviews) qui agit comme un intermédiaire entre le site WordPress (Site A) et l »API Apify (https://api.apify.com/v2/acts/compass~google-maps-reviews-scraper/run-sync-get-dataset-items).
- Données récupérées : Pour chaque avis, le plugin extrait :
- Nom de l »utilisateur (
name). - Texte de l »avis (
text). - Note en étoiles (
stars, de 1 à 5). - Date de publication (
publishedAtDate). - ID unique de l »avis (
reviewId). - Photo de l »utilisateur (
reviewerPhotoUrl, si disponible). - Réponse du propriétaire (
responseFromOwnerText, si disponible).
- Nom de l »utilisateur (
- Paramètres :
- Place ID : Extrait automatiquement de l »option
trustindex-google-page-details(champid, par exemple,ChIJK_o4XSJvyRIRFlg7Gnqflw8). - Limite d »avis : Configurable via le champ
pwagrc_reviews_limit(par défaut : 20). - Langue : Fixée à
fr(français). - Données personnelles : Activées (
personal_data: true) pour inclure les noms et photos des utilisateurs.
- Place ID : Extrait automatiquement de l »option
2. Stockage des avis
- Tableau : Les avis sont stockés dans la table
{prefix}trustindex_google_reviews(par exemple,2XYbI_trustindex_google_reviews). - Structure de la table :
id: Identifiant unique (auto-incrémenté).hidden: Indicateur de visibilité (0 pour visible).user: Nom de l »utilisateur (limité à 255 caractères).user_photo: URL de la photo de l »utilisateur.text: Texte de l »avis.rating: Note (1 à 5, type float).highlight: Champ pour surlignage (non utilisé, null).date: Date de publication (formatYYYY-MM-DD).reviewId: ID unique de l »avis Google.reply: Réponse du propriétaire (si disponible).
- Comportement :
- Si un avis avec le même
reviewIdexiste, il est mis à jour. - Sinon, un nouvel avis est inséré avec un
idincrémenté (basé surMAX(id) + 1).
- Si un avis avec le même
3. Mise à jour des métadonnées
- Option WordPress : Le plugin met à jour l »option
trustindex-google-page-detailsdans la table{prefix}options. - Champs mis à jour :
rating_number: Nombre total d »avis dans la table (par exemple,"17").rating_numbers: Répartition des notes par étoile (par exemple,a:5:{i:1;i:0;i:2;i:0;i:3;i:0;i:4;i:0;i:5;i:17;}).rating_score: Moyenne des notes, arrondie au supérieur (par exemple,"5"si la moyenne est 5.0).timestamp: Timestamp Unix actuel au moment de la mise à jour (par exemple,1753021127).
- Champs préservés :
id,name,avatar_url,write_review_url,address: Non modifiés, car fournis par Widgets for Google Reviews.rating_numbers_last: Non modifié, géré par Widgets for Google Reviews (par exemple,a:5:{i:1;i:0;i:2;i:0;i:3;i:0;i:4;i:0;i:5;i:10;}).
- Format : L »option est stockée sous forme sérialisée (par exemple,
a:10:{s:2:"id";s:27:"ChIJK_o4XSJvyRIRFlg7Gnqflw8";...}).
4. Interface d »administration
- Page de réglages : Accessible via Réglages > PWA Google Reviews dans l »admin WordPress.
- Champs :
- Clé API (
pwagrc_api_key) : Champ texte pour entrer la clé API (actuellement utilisée comme jeton sans validation, en attente de l »intégration EDD dans la Phase 2). - Google Place ID (
pwagrc_place_id) : Champ en lecture seule (readonly) affichant :- Le Place ID extrait de
trustindex-google-page-details(par exemple,ChIJK_o4XSJvyRIRFlg7Gnqflw8) si disponible. - Un message d »erreur si indisponible :
"Veuillez configurer Widgets for Google Reviews et renseigner votre compte Google My Business."
- Le Place ID extrait de
- Limite d »avis par requête (
pwagrc_reviews_limit) : Champ numérique pour définir le nombre maximum d »avis à récupérer (par défaut : 20). - Intervalle Cron (
pwagrc_cron_interval) : Champ numérique pour définir la fréquence des exécutions automatiques (en heures, par défaut : 24).
- Clé API (
- Action manuelle : Bouton Lancer la récupération des avis pour déclencher la récupération immédiatement.
- Message d »avertissement : Si Widgets for Google Reviews n »est pas activé ou si
trustindex-google-page-detailsest absente, affiche :Erreur : Le plugin Widgets for Google Reviews doit être installé et configuré pour utiliser PWA Google Reviews Connector.
5. Automatisation via Cron
- Tâche Cron :
pwagrc_reviews_cron_event, planifiée avec un intervalle personnalisé (pwagrc_cron_intervalheures). - Comportement : Exécute la fonction
pwagrc_reviews_fetch_and_storeautomatiquement pour synchroniser les avis. - Gestion : La tâche est créée lors de l »activation du plugin et supprimée lors de la désactivation.
6. Dépendance avec Widgets for Google Reviews
- En-tête : Déclare une dépendance explicite via
Requires Plugins: wp-reviews-plugin-for-google. - Vérification : Vérifie si le plugin est activé et si
trustindex-google-page-detailscontient un Place ID valide avant toute récupération. - Intégration : Utilise l »option
trustindex-google-page-detailspour extraire le Place ID, évitant la saisie manuelle.
7. Communication avec le Site B
- API REST : Le plugin envoie une requête POST à https://prestigeweb.agency/wp-json/pwa-grc/v1/google-reviews avec :
{ "api_key": "valeur_de_pwagrc_api_key", "place_id": "ChIJK_o4XSJvyRIRFlg7Gnqflw8", "max_reviews": 20, "language": "fr", "personal_data": true } - Réponse : Reçoit une liste d »avis au format JSON identique à celui de l »API Apify.
- Site B : Un plugin (
wp-content/plugins/pwagrc-api/pwagrc-api.php) traite la requête, appelle l »API Apify avec une clé stockée en dur, et retourne les avis.
8. Journalisation
- Fichier de log :
wp-content/plugins/pwa-google-reviews-connector/pwagrc_reviews.log. - Contenu :
- Début de la récupération.
- Vérifications (clé API, Place ID, table existante).
- Requête envoyée à l »API du Site B (URL, corps JSON).
- Réponse reçue (code HTTP, corps complet).
- Traitement des avis (insertion/mise à jour,
reviewId). - Mise à jour de l »option
trustindex-google-page-details(avec détails surrating_number,rating_numbers,rating_score,timestamp). - Résultat final (nombre d »avis insérés/mis à jour).
- Site B : Logs dans
wp-content/pwa-api/pwagrc/api.logpour :- Requête reçue.
- Requête envoyée à Apify.
- Réponse d »Apify (code HTTP, corps partiel).
- Erreurs ou succès.
9. Sécurité et conformité
- Nonce : Utilise des nonces WordPress (
pwagrc_reviews_save_settings,pwagrc_reviews_manual_run) pour sécuriser les formulaires. - Validation : Sanitise les entrées (
sanitize_text_field,absint) et valide le Place ID avec une expression régulière (/^ChIJ[A-Za-z0-9_-]+/). - RGPD : Les champs
useretuser_photodoivent être conformes au RGPD (non encore implémenté, à vérifier).
10. Installation sur le même site
- Le plugin peut être installé sur https://prestigeweb.agency, où l »API (
/wp-json/pwa-grc/v1/google-reviews) est également hébergée, car WordPress gère les requêtes internes viawp_remote_post.
Flux opérationnel
- L »utilisateur configure Widgets for Google Reviews avec son compte Google My Business, ce qui remplit
trustindex-google-page-details. - L »utilisateur active PWA Google Reviews Connector et entre une clé API (actuellement un jeton test, par exemple,
test-api-key). - Le plugin extrait le Place ID de
trustindex-google-page-detailset l »affiche en lecture seule. - Lors d »une exécution manuelle ou cron :
- Envoie une requête POST à l »API du Site B.
- Reçoit les avis, les insère/met à jour dans
{prefix}trustindex_google_reviews. - Met à jour
trustindex-google-page-detailsavec les nouvelles métadonnées.
- Les avis sont affichés sur le site via Widgets for Google Reviews (par exemple, « Basée sur 17 avis »).
Explications sur les paiements récurrents (anglais) ICI ou version traduite en français ICI.
Vous devez vous connecter pour soumettre un avis.
