| Nom | Actif | Place ID | Actions |
|---|
Le script expose la fonction ReviewsAPI.fetch(options).
await ReviewsAPI.fetch({
placeId: "ChIJ...",
apiKey: "rw_...",
clientName: "Nom du client"
});
Paramètres : placeId (obligatoire), apiKey (obligatoire), clientName (optionnel).
Exemple recommandé :
try {
const data = await ReviewsAPI.fetch({
placeId: "ChIJ...",
apiKey: "rw_...",
clientName: "Mon Client"
});
const reviews = Array.isArray(data.reviews) ? data.reviews : [];
reviews.forEach((review) => {
const author = review.authorName || "Anonyme";
const note = typeof review.rating === "number" ? review.rating : 0;
const text = review.text || "Aucun commentaire";
console.log(author, note, text);
});
} catch (err) {
console.error("Erreur API:", err.message);
}
JSON retourné :
{
"name": "Nom de l'établissement",
"rating": 4.6,
"totalRatings": 128,
"formattedAddress": "Adresse",
"reviews": [
{
"authorName": "Prénom N.",
"authorPhoto": "https://...",
"rating": 5,
"text": "Avis...",
"relativeTime": "il y a 2 semaines",
"publishedAt": "2026-03-15T10:22:00.000Z",
"language": "fr"
}
]
}
Note : reviews contient au maximum 5 avis (limite Google Places API).
Erreurs fréquentes :
400 Paramètres invalides (placeId manquant / invalide)
401 Clé API manquante (x-api-key)
403 Clé API inconnue ou client désactivé
504 Timeout amont (Google Places / PocketBase)
Bonnes pratiques :
res.ok et afficher un fallback UI.text ou authorPhoto est toujours présent.reviews.length === 0.apiKey et placeId dans une configuration claire par client.