Sources
Add sourceStatut, santé, fraîcheur des sources (mock)
Legacy route. Cette page devient /settings/integrations (les sources sont de la configuration, pas un onglet métier principal). Elle reste accessible le temps de la transition (UI-002 / SETTINGS_SOURCES_001).
Mock data. Mock-only (IMPL-007): all values come from local fixtures. No real data, no API, no connector, no DB query.
Shopify credentials are write-only. Client ID / Client Secret are never displayed again. Real Shopify calls are disabled by default; Infisical Free is for the controlled pilot only (not multi-client production). Scope: read_orders. read_all_orders / read_customers are out of V1.
Schema changed — review required.
Field mapping unconfirmed — metrics hidden from widgets.
Data may be outdated — last successful sync exceeds the freshness window
Missing permission/scope — cannot sync fully.
Source disconnected.
Source disconnected — token expired. Reconnect required.
Connected sources
Open a source for detail and preview actions (mock).
| Source | Profile | Platform | Status | Detail |
|---|---|---|---|---|
| Shopify France | Profile France | SHOPIFY | CONNECTED | View details |
| GA4 France | Profile France | GA4 | CONNECTED | View details |
| Google Ads France | Profile France | GOOGLE_ADS | CONNECTED | View details |
| Meta Ads France | Profile France | META_ADS | CONNECTED | View details |
| TikTok Ads France | Profile France | TIKTOK_ADS | CONNECTED | View details |
| Shopify Suisse | Profile Suisse | SHOPIFY | CONNECTED | View details |
| GA4 Suisse | Profile Suisse | GA4 | CONNECTED | View details |
| Google Ads Suisse | Profile Suisse | GOOGLE_ADS | PERMISSION_MISSING | View details |
| Meta Ads Suisse | Profile Suisse | META_ADS | DISCONNECTED | View details |
| Shopify Espagne | Profile Espagne | SHOPIFY | EXPIRED | View details |
Source Sync Status
Sources — sync statusData may be outdated
| Source | Platform | Status | Last sync |
|---|---|---|---|
| Shopify France | SHOPIFY | Connected | 2026-05-03T06:00:00Z |
| GA4 France | GA4 | Connected | 2026-05-03T05:30:00Z |
| Google Ads France | GOOGLE_ADS | Connected | 2026-05-03T05:45:00Z |
| Meta Ads France | META_ADS | Connected | 2026-05-03T05:50:00Z |
| TikTok Ads France | TIKTOK_ADS | Connected (disabled) | — |
| Shopify Suisse | SHOPIFY | Connected | 2026-05-03T06:05:00Z |
| GA4 Suisse | GA4 | Connected | 2026-04-30T05:30:00Z |
| Google Ads Suisse | GOOGLE_ADS | Permission missing | — |
| Meta Ads Suisse | META_ADS | Disconnected | — |
| Shopify Espagne | SHOPIFY | Disconnected — token expired | — |
Source Health
Sources — health summaryData may be outdated
| Metric | Count |
|---|---|
| Total sources | 10 |
| Connected | 7 |
| Expired | 1 |
| Permission missing | 1 |
| Stale | 1 |
| Schema changed | 1 |
| Mapping unconfirmed | 1 |
| Critical issues | 3 |
Data Freshness
Sources — data freshnessData may be outdated
| Source | Freshness | Last sync |
|---|---|---|
| Shopify France | FRESH | 2026-05-03T06:00:00Z |
| GA4 France | FRESH | 2026-05-03T05:30:00Z |
| Google Ads France | FRESH | 2026-05-03T05:45:00Z |
| Meta Ads France | FRESH | 2026-05-03T05:50:00Z |
| TikTok Ads France | UNKNOWN | — |
| Shopify Suisse | FRESH | 2026-05-03T06:05:00Z |
| GA4 Suisse | STALE | 2026-04-30T05:30:00Z |
| Google Ads Suisse | MISSING | — |
| Meta Ads Suisse | MISSING | — |
| Shopify Espagne | MISSING | — |
Data Quality Alerts
Data Quality — open flagsData may be outdated
| Severity | Code | Message |
|---|---|---|
| warning | schema_changed | Schema changed — review required. |
| info | mapping_unconfirmed | Field mapping unconfirmed — metrics hidden from widgets. |
| warning | source_stale | Data may be outdated — last successful sync exceeds the freshness window |
| critical | permission_missing | Missing permission/scope — cannot sync fully. |
| critical | source_disconnected | Source disconnected. |
| critical | source_expired | Source disconnected — token expired. Reconnect required. |
WARNINGSchema changed — review required.
INFOField mapping unconfirmed — metrics hidden from widgets.
WARNINGData may be outdated — last successful sync exceeds the freshness window
CRITICALMissing permission/scope — cannot sync fully.
CRITICALSource disconnected.
CRITICALSource disconnected — token expired. Reconnect required.
Guardrails (V1)
- Mock-only; no DB query / no API / no connector / no OAuth / no job
- No raw, no secrets
- TikTok Ads inactive; Campaign MER absent; multi-touch absent; FX absent
- Saved Views P1; viewer no export
- Source label required; Data Freshness visible; Data Quality warnings visible
- Source actions are preview-only (no real job); no hard delete