SPB Git forge

spb/resto-ka

Public

Resto·Ka — tous les restaurants du Québec, menus complets et prix réels (famille ·Ka)

52commits 1branches 0releases
11.6 MBsize
maindefault branch
19 days agolast push
Python 69.3% TypeScript 16.7% CSS 7.9% JavaScript 4.7% HTML 1.4%
3.6 KB

# Yelp Fusion (avis et notes) — connecteur yelp

Fiche générée automatiquement par scripts/gen_connector_docs.py le 2026-08-18 06:06 — ne pas éditer à la main, régénérer.

État : clé requise · Palier (tier) : 5 · Backend : direct

# Description de la source

Connecteur d'ENRICHISSEMENT Yelp Fusion (avis/notes) — gratuit, 500 requêtes/jour. N'émet AUCUNE fiche restaurant : il complète les fiches existantes avec rating, review_count, price, categories et phone dans details.yelp (colonne d'enrichissement, jamais écrasée par les re-crawls des sources). Croisement CONSERVATEUR (jamais fusionner deux établissements) : 1. par TÉLÉPHONE (/businesses/search/phone) — signal fort ; si plusieurs résultats, on exige le GPS le plus proche (<300 m) ; 2. sinon par NOM+ADRESSE+GPS (/businesses/matches) — l'endpoint d'appariement officiel de Yelp, seuil par défaut (conservateur). Clé requise : YELP_API_KEY dans .env (https://www.yelp.com/developers — app gratuite). Sans clé, le connecteur lève SkipSource et le pipeline passe son tour SANS marquer d'échec (statut « clé requise » dans data/sources.json). Base légale : API officielle Yelp Fusion, conditions Display Requirements (attribution Yelp affichée avec la note sur la fiche).

  • Plateforme : yelp · Site : https://www.yelp.com/developers
  • Extraction (registre) : API officielle Yelp Fusion (gratuit, 500 req/jour) : rating, review_count, price, categories, phone -> details.yelp. Croisement conservateur par téléphone (/businesses/search/phone, GPS <300 m si ambigu) puis nom+adresse+GPS (/businesses/matches). N'émet aucune fiche.
  • Contexte de prix : aucun
  • Module : restoka/connectors/yelp.py — YelpConnector

# Accès

  • Type d'accès : API JSON
  • Endpoint de base : https://api.yelp.com/v3
  • URLs du module : https://www.yelp.com/developers · https://api.yelp.com/v3
  • Pagination : réponse unique (pas de pagination)
  • Backend anti-bot / rendu : requests direct (session UA RestoKaBot, throttling poli)
  • Politesse : 0.35 s entre requêtes, timeout 20 s, UA RestoKaBot/1.0 (+https://www.resto-ka.com/bot)
  • Authentification : clé API requise (voir statut)

# Champs récupérés → schéma cible

Aucune fiche en BD pour cette source (connecteur en attente ou clé manquante) — schéma cible : table restaurants + menus.

# Fréquence & budget

  • Cadence déclarée (registre) : hebdomadaire, re-vérification 30 jours
  • Cadence observée (médiane sync_log) : —
  • Caps / budgets du module : MAX_PHONE_DISTANCE_M = 300

# Volumétrie & complétude

  • Aucune donnée en BD pour cette source.
  • Runs journalisés (60 derniers) : 0, dont 0 en erreur

# Erreurs connues & dépannage

Aucune erreur dans les 60 derniers runs journalisés.

Note du registre : clé requise (YELP_API_KEY absente de .env — connecteur livré, SkipSource)

Rejouer la source seule : python3 run.py sync yelp · vérifier sync_log (SELECT * FROM sync_log WHERE source='yelp' ORDER BY ts DESC LIMIT 5;).

# Licence, attribution & conditions

  • Cadre d'accès (registre, acces_legal) : API officielle avec clé, Display Requirements Yelp : attribution affichée avec la note.
  • Scraping / API : User-Agent identifiable RestoKaBot/1.0 (+https://www.resto-ka.com/bot; contact@spboucher.ai), throttling poli, aucun contournement d'accès ; les fiches pointent vers la source d'origine.
  • Retrait sur demande : contact@spboucher.ai.

# Historique

  • 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par scripts/gen_connector_docs.py).