UEAT (commande en ligne) — connecteur ueat
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 : actif · Palier (tier) : 1 · Backend : direct · Restos actifs : 934/936
Description de la source
Connecteur TEMPLATISÉ pour UEAT (foodtech de Québec — plateforme de commande en ligne marque blanche, très répandue au QC). Couvre tous les restos listés dans data/sources.json -> source « ueat » -> « integrations » (un GUID d'intégration par marque/resto). Mode d'extraction : API GraphQL interne (https://api.ueat.io/graphql), la même que consomme le widget de commande officiel — données structurées, aucun rendu navigateur requis. Auth anonyme : en-têtes x-ueatapikey: <GUID d'intégration> + x-ueatculture: fr. Contexte de prix produit : TAKEOUT (prix réels de la commande en ligne du resto lui-même, non majorés — source de première partie, voir CLAUDE.md §9 Palier 1 et §15). Couverture par intégration : - restaurant { name url logo } -> identité de la marque - franchises(modeType: TAKEOUT) -> UNE FICHE PAR ADRESSE (succursales reliées par chain, jamais fusionnées — §12.1) - menu { categories } + items(categoryId) -> sections & plats (sous-catégories via menu(parentCategoryId), récursif) - variations d'item -> options « Format » - item.question (1er niveau) -> groupes d'options (garnitures, choix de base…) — mis en cache par marque, refait seulement quand le menu change (detail_cache). Limite documentée : le menu est capté au niveau de la MARQUE (menu par défaut du siège). Les écarts locaux de prix entre succursales d'une même bannière ne sont pas captés (menus standardisés §9 P6).
- Plateforme : ueat · Site : https://ueat.io
- Extraction (registre) : API GraphQL interne (api.ueat.io/graphql), auth anonyme par GUID d'intégration — la même API que le widget officiel de commande
- Contexte de prix : takeout
- Module :
restoka/connectors/ueat.py—UeatConnector - Intégrations recensées : 50 clés GUID (48 actives, 2 retirées) — voir
data/sources.jsonetdata/ueat-discovered.json
Accès
- Type d'accès : API GraphQL interne
- Endpoint de base : https://api.ueat.io/graphql
- URLs du module : https://api.ueat.io/graphql · https://order.ueat.io/integration/{guid}/fr
- 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 30 s, UA
RestoKaBot/1.0 (+https://www.resto-ka.com/bot) - Authentification : aucune — accès public/anonyme
Champs récupérés → schéma cible
Le connecteur alimente la table restaurants (et menus le cas échéant). Complétude mesurée en SQL sur les 934 fiches actives ; exemple tiré d'une ligne réelle de la BD.
Colonne restaurants |
Contenu | Renseignée (actives) | Exemple réel |
|---|---|---|---|
name |
Nom de l'établissement | 100 % | Poulet Rouge - Alexis-Nihon |
chain |
Chaîne / bannière | 98 % | Poulet Rouge |
cuisines |
Cuisines (JSON, taxonomie §6.1) | 100 % | ["poulet", "quebecois", "cafe-dessert", "vegetarien-vegan"] |
establishment_type |
Type d'établissement | 100 % | restaurant |
price_range |
Fourchette de prix | 91 % | $ |
address |
Adresse civique | 100 % | 1500 Avenue Atwater |
city |
Ville | 100 % | Montréal |
region |
Région administrative | 100 % | Montréal |
postal_code |
Code postal | 100 % | H3Z 1X5 |
lat |
GPS (lat/lng) | 100 % | 45.488805 |
phone |
Téléphone | 100 % | 514 419-2191 |
website |
Site web | 96 % | https://poulet-rouge.ca/ |
hours |
Horaires structurés (JSON) | 0 % | {} |
services |
Services (JSON) | 100 % | ["takeout"] |
dietary_options |
Options alimentaires (JSON) | 82 % | ["vegetarien"] |
images |
Photos (JSON) | 100 % | 5 photo(s) — https://storage.googleapis.com/ueat-assets/b914c5ae-48e4-44d2-9df1-03ceeb04f… |
url |
URL de la fiche source | 100 % | https://order.ueat.io/integration/4268100d-6470-40b9-a755-e11342c91d6d/fr |
Menus : 934 menus rattachés (91881 items, 1 contexte(s) de prix, dernière capture 2026-08-18T07:25:47Z) — table menus (sections → items → options, prix CAD).
Fréquence & budget
- Cadence déclarée (registre) : hebdomadaire
- Cadence observée (médiane sync_log) : ≈ 70 min
- Dernier passage OK : 2026-08-18 03:25 — 934 trouvées, +84 / ~0 / -1
- Caps / budgets du module :
MAX_DEPTH= 3,MAX_QUESTION_FETCH= 400 - Cache des payloads détail : activé (table
detail_cache)
Volumétrie & complétude
- Fiches en BD : 936 au total, 934 actives
- Première ingestion : 2026-08-17 · Dernière observation : 2026-08-18
- Complétude clé (actives) : GPS 100 % · adresse 100 % · cuisines 100 % · horaires 0 % · site web 96 %
- Runs journalisés (60 derniers) : 6, dont 0 en erreur
Erreurs connues & dépannage
Aucune erreur dans les 60 derniers runs journalisés.
Rejouer la source seule : python3 run.py sync ueat · vérifier sync_log (SELECT * FROM sync_log WHERE source='ueat' ORDER BY ts DESC LIMIT 5;).
Licence, attribution & conditions
- Cadre d'accès (registre,
acces_legal) : Source de première partie : plateforme de commande des restos eux-mêmes, prix réels non majorés (CLAUDE.md §9 Palier 1, §15). API anonyme publique, throttling poli 0,35 s, User-Agent identifiable RestoKaBot. - 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-17 — premières fiches de la source ingérées dans la BD.
- 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par
scripts/gen_connector_docs.py).