Aller au contenu

Pour les fournisseurs

Publiez vos offres sous forme de fichier dans ce format. Notre contrôle mensuel, en cours de mise en place, le cherchera à cette adresse et dans votre llms.txt.

Ce qu’il faut publier

Un fichier avec vos offres actuelles, à une adresse stable quelconque : CSV ou JSON avec les champs ci-dessous, ou les mêmes informations sous forme de balisage schema.org sur vos propres pages d’offres. Placez-le à l’adresse /.well-known/meconomy-offers.json de votre site, ou indiquez-le dans votre llms.txt. C’est l’adresse et le format que meconomy.ch consultera.

Il n’y a aucune obligation, aucun lien en retour et aucun paiement. Un fournisseur qui ne publie aucun fichier continue d’être relevé depuis ses pages publiques (MEconomyBot). Une API de données est prévue, voir /about/api.

Les champs

Une ligne ou un objet par offre. CSV : UTF-8, séparé par des virgules, une ligne d’en-tête avec ces noms. Les dates suivent la norme ISO 8601. Seuls offer_id, name, price_regular, currency et url sont nécessaires. Laissez vide tout autre champ qui ne s’applique pas ou que vous n’indiquez pas ; nous affichons alors « non indiqué », jamais une supposition.

Champs du flux d’offres
ChampTypeSignification
offer_idtexteVotre propre identifiant de l’offre. Il reste le même aussi longtemps que l’offre existe.
nametexteLe nom de l’offre tel que vous l’écrivez.
categorytexteDe quoi il s’agit, par exemple mobile, internet, tv, phone, bank_account ou credit_card.
price_regularnombreLe prix par période de facturation sans promotion, avec un point comme séparateur décimal.
price_promonombreLe prix promotionnel par période de facturation. Vide en l’absence de promotion.
promo_valid_fromdatePremier jour de la promotion, sous la forme 2026-11-01.
promo_valid_untildateDernier jour de la promotion, sous la forme 2026-12-31.
promo_conditionstexteCe que la promotion exige, par exemple « nouveaux clients uniquement ».
price_after_promonombreLe prix par période de facturation une fois la promotion terminée.
min_term_monthsnombre entierLa durée minimale du contrat en mois. 0 s’il n’y en a pas.
setup_feenombreLes frais uniques au début. 0 s’il n’y en a pas.
billing_periodtextemonth ou year : la période à laquelle se rapportent les prix ci-dessus.
currencytexteLe code ISO 4217, par exemple CHF.
urladresseLa page publique de l’offre sur votre site.
last_modifieddate et heureLe moment de la dernière modification de cette ligne, sous la forme 2026-10-26T08:00:00+01:00.

Exemple JSON

Une offre inventée, pour montrer la forme. Un fichier JSON contient une liste offers.

{
  "offers": [
    {
      "offer_id": "example-mobile-m",
      "name": "Example Mobile M",
      "category": "mobile",
      "price_regular": 39.9,
      "price_promo": 29.9,
      "promo_valid_from": "2026-11-01",
      "promo_valid_until": "2026-12-31",
      "promo_conditions": "New customers only",
      "price_after_promo": 39.9,
      "min_term_months": 0,
      "setup_fee": 0,
      "billing_period": "month",
      "currency": "CHF",
      "url": "https://www.example.ch/mobile/m",
      "last_modified": "2026-10-26T08:00:00+01:00"
    }
  ]
}

Ou un balisage schema.org sur vos pages d’offres

Si vos pages d’offres portent déjà un balisage schema.org Product et Offer, il est repris de la même manière. Indiquez le prix promotionnel avec priceValidUntil, et le prix après la promotion dans un second UnitPriceSpecification qui commence le lendemain. Le balisage doit figurer dans le HTML envoyé par votre serveur, et non être ajouté ensuite par un script.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Mobile M",
  "sku": "example-mobile-m",
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.ch/mobile/m",
    "price": "29.90",
    "priceCurrency": "CHF",
    "priceValidUntil": "2026-12-31",
    "priceSpecification": [
      {
        "@type": "UnitPriceSpecification",
        "price": "29.90",
        "priceCurrency": "CHF",
        "unitCode": "MON",
        "validThrough": "2026-12-31"
      },
      {
        "@type": "UnitPriceSpecification",
        "price": "39.90",
        "priceCurrency": "CHF",
        "unitCode": "MON",
        "validFrom": "2027-01-01"
      }
    ]
  }
}

Comment nous le consulterons

  • Dès que notre contrôle mensuel fonctionnera (il est en cours de mise en place), nous chercherons le fichier à cette adresse, et dans votre llms.txt, une fois par mois sur chaque site que nous consultons. Un fichier trouvé est comparé aux champs ci-dessus ; tant que le lecteur automatique n’est pas en service, une personne en met en place la prise en charge.
  • Nous ne téléchargerons le fichier qu’une fois par heure au plus, en demandant avec If-Modified-Since, de sorte qu’un fichier inchangé ne vous coûte qu’une brève réponse.
  • Un flux sera traité comme une page. Nous conservons son adresse, le moment où nous l’avons relevé et une empreinte du fichier, et un prix issu d’un flux s’affiche avec la même source et la même date que tout autre prix.
  • Nos contrôles s’y appliqueront comme à tout prix : un chiffre qui paraît erroné est retenu jusqu’à ce qu’une personne l’ait examiné.
  • Nous nous identifierons lors du téléchargement, avec l’en-tête User-Agent MEconomyBot/1.0 (+https://meconomy.ch/about/bot).

Pour arrêter, ou pour poser une question

Dès que le lecteur sera en service, la suppression du fichier mettra fin à la consultation. Pour toute autre demande, écrivez à hello@meconomy.ch ou utilisez la page de contact.