Embed & API

Un seul script global active à la fois l’avis harmonisé de garantie légale et les badges GARAN automatiques. Gratuit, sans cookies, sans suivi, sans dépendances externes et à sécurité intégrée : si notre API est injoignable, votre boutique n’est jamais affectée.

1. Installez le script (une seule fois, sur tout le site)

<script src="https://garan.ro/embed/garan.js" defer></script>

2. Lien vers l’avis de garantie légale

Ajoutez un lien n’importe où (en-tête, pied de page, page produit, paiement). Au clic, l’avis harmonisé officiel s’ouvre dans une fenêtre modale accessible, dans la langue de la page (<html lang>) ou de l’attribut data-lang.

<a href="#garantieEu">Vos droits de garantie légale</a> <!-- ou avec une langue explicite --> <a href="#garantieEu" data-lang="ro">Drepturile tale privind garanția legală</a>

Également pris en charge : class="garan-notice-link" sur n’importe quel élément, et l’insertion automatique dans les sélecteurs CSS que vous configurez dans votre compte gratuit (couleurs, police, fond, bordure et icône personnalisables par site).

3. Badge GARAN sur les pages produit

Recherche automatique : phase de test. La détection automatique est encore en test. Le badge n’apparaît que si une garantie pour ce produit précis est enregistrée et vérifiée dans la base de données GARAN (vos garanties ou les labels publics)  sinon, rien ne s’affiche. Vérifiez-le sur l’une de vos pages produit avant de l’utiliser partout, et contribuez en publiant vos labels dans l’annuaire public. Pour un résultat prévisible dès aujourd’hui, utilisez le mode direct ci-dessous (data-years).

Placez un élément vide contenant les données du produit. Si une garantie commerciale de durabilité vérifiée existe dans la base de données GARAN, le label nested s’affiche  le label complet s’ouvre au premier clic, survol ou toucher. En l’absence de garantie éligible, rien n’est affiché.

<div class="garan-badge" data-brand="Bosch" data-identifier="WGG244Z0BY" data-country="RO"></div>

data-identifier: le code produit exactement comme sur le label : la référence modèle du fabricant (p. ex. WGG244Z0BY) ou le code-barres EAN.
data-country: Code ISO (RO, DE, …). Laissez vide pour les garanties valables dans toute l’UE.
data-mode: latest (par défaut : dernière version vérifiée) ou pinned + data-version="3" pour une version fixe du label.

Mode direct : indiquez vous-même la durée

Si vous ne souhaitez pas de recherche dans la base de données, indiquez directement la durée avec data-years. Le label nested correspondant s’affiche immédiatement à partir d’un SVG statique. data-brand et data-identifier sont obligatoires : ils figurent sur le label complet qui s’ouvre lors de l’interaction, lequel doit identifier le produit.

<div class="garan-badge" data-years="5" data-brand="Bosch" data-identifier="WGG244Z0BY" data-url="https://shop.example.com/produs"></div> <!-- les demi-années s’écrivent avec une virgule: data-years="2,5" -->

Le SVG nested se trouve à une URL stable (/labels/nested-5.svg, /labels/nested-2_5.svg …), il est généré une seule fois puis servi statiquement — parfait pour les CDN.

Voir la page de démo en direct ↗

4. API de recherche

GET https://garan.ro/api/embed/lookup?brand=Bosch&identifier=WGG244Z0BY&identifier_type=model&country=RO Réponse positive: { "found": true, "status": "source_backed", "duration_years": 5, "version": 1, "nested_svg_url": "https://garan.ro/labels/….svg", "full_svg_url": "https://garan.ro/labels/….svg", "qr_url": "https://europa.eu/youreurope/commercial-guarantee-durability/index.htm", "product_url": "https://…" } Réponse négative: { "found": false }

Les réponses peuvent être mises en cache (Cache-Control) et les SVG des labels sont des fichiers statiques immuables servis sans passer par PHP — compatibles CDN.

Principes

✔ Gratuit, sans compte pour l’avis et le générateur
✔ Pas de cookies, pas de publicité, pas de suivi intrusif — uniquement des compteurs de recherche anonymes et agrégés
✔ Labels générés exclusivement à partir des modèles officiels de l’UE  seuls les champs autorisés sont modifiés
✔ Le label complet est toujours accessible depuis le label nested dès la première interaction pertinente