Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mmmytics.com/llms.txt

Use this file to discover all available pages before exploring further.

Multi-brand Portföy

v0.7.65 (Phase 24) ile gelen multi-brand portföy desteği, birden fazla markaya sahip organizasyonların ve dijital ajansların tek hesaptan tüm markalarını yönetmesine olanak tanır. Aktif marka bağlamı dropdown selector ile değiştirilir; veri yüklemeleri, model run’ları ve raporlar seçili marka altına kaydedilir.

Genel Bakış

Tek hesap, çoklu marka

Aynı Clerk hesabıyla organizasyonunuzdaki tüm markalara erişin. Her marka için ayrı DQS, ayrı model run’ları, ayrı raporlar.

Rol bazlı erişim

CEO/CMO org’daki tüm brand’leri görür. Agency yalnızca assigned_brand_ids array’inde belirtilen markalara erişir.

Cross-org isolation

PostgreSQL RLS (Row Level Security) garantilenir. Bir markanın verisi başka markaya sızmaz; cross-org leak fiziksel olarak imkansız.

Backward compatible

Tek markalı organizasyonlarda dropdown gizlenir (brands.length > 1 koşulu). Mevcut single-brand kullanıcılar değişiklik hissetmez.

Roller ve Erişim

RolErişim KapsamıBrand Listesi
CEOOrg içindeki tüm brand’lercreated_at DESC sırasında
CMOOrg içindeki tüm brand’lercreated_at DESC sırasında
AnalyticsOrg içindeki tüm brand’ler (read-only)created_at DESC sırasında
AgencyYalnızca users.assigned_brand_ids içindekilerAtanan brand’ler
platform_adminTüm org’lardaki tüm brand’lerCross-org full access
Agency rolündeki kullanıcı assigned_brand_ids dışında bir brand’e erişmeye çalışırsa 403 BRAND_ACCESS_FORBIDDEN_403 hatası alır. Platform Admin atamayı users.assigned_brand_ids array’ine brand UUID ekleyerek yapar.

Marka Seçici Nasıl Kullanılır?

1

Settings sayfasına gidin

Sol menüden SettingsBenchmark Override sekmesi.
2

Marka seçici dropdown'u

brands.length > 1 ise dropdown otomatik render edilir. Liste CEO/CMO için org’daki tüm brand’leri, Agency için yalnızca atananları gösterir.
3

Marka seçin

Aktif marka bağlamı değiştirilir. UI state selectedBrandId ile güncellenir, ardından bağımlı veriler (override’lar, benchmark’lar) refetch edilir.
4

İşleminizi yapın

Seçili marka bağlamında veri yükleyin, model çalıştırın, rapor üretin. Tüm aksiyonlar o marka altına kaydedilir.
Marka seçici yalnızca Settings → Benchmark Override tab’ında render edilir. Diğer sayfalarda (/dashboard, /dashboard/channels, /dashboard/reports) aktif marka bağlamı useOrgContext() hook’undan okunur ve URL query parametresi (?brand=<uuid>) ile değiştirilebilir.

GET /api/v1/brands Endpoint

Frontend marka listesini bu endpoint’ten alır:
curl https://api.mmmytics.com/api/v1/brands \
  -H "Authorization: Bearer $CLERK_JWT"
Response (CEO/CMO):
{
  "success": true,
  "data": [
    {
      "id": "brand-uuid-1",
      "name": "Marka A",
      "sector_template": "automotive",
      "created_at": "2026-01-15T10:00:00Z"
    },
    {
      "id": "brand-uuid-2",
      "name": "Marka B",
      "sector_template": "fmcg",
      "created_at": "2026-02-20T14:30:00Z"
    }
  ]
}
Response (Agency): assigned_brand_ids ile filtrelenmiş subset döner. platform_admin rolü cross-org tüm brand’leri görür.

Cross-org Isolation (PostgreSQL RLS)

MMMytics tüm tablolarda Row Level Security (RLS) aktif:
  • brands.organization_id = current_user_org_id() RLS policy
  • model_runs.brand_id IN (SELECT id FROM brands WHERE ...) cascade
  • reports.run_id üzerinden brand isolation
RLS database seviyesinde uygulanır — application bug olsa bile cross-org leak imkansız. Auditor’a karşı bu garanti SOC 2 / ISO 27001 kapsamında dokümante edilmiştir. Detay: Güvenlik.

Sorun Giderme

Sebep: Organizasyonda yalnızca 1 brand var (brands.length === 1). Çözüm: Backward compat — single-brand org’larda dropdown gizlenir, ekstra UI yüklemez. Yeni brand eklemek için Platform Admin’den talep edin.

”Failed to load brands” hatası

Sebep: GET /api/v1/brands 401 (JWT expired) veya 500 (backend). Çözüm:
  1. Logout + login (Clerk JWT yenilenir)
  2. status.mmmytics.com kontrol (backend down mı)
  3. Hala devam → destek@mmmytics.com

Agency olarak müşteri brand’ime erişemiyorum

Sebep: users.assigned_brand_ids array’ine ilgili brand UUID eklenmemiş. Çözüm: Platform Admin’den assignment iste — destek@mmmytics.com üzerinden hangi brand’lere erişim gerektiğini bildirin. Admin atamayı yaptıktan sonra logout + login.

Sonraki Adım

Per-Brand Benchmark Override

Marka-spesifik KPI eşik değerleri tanımlayın

L7 Reports

Marka bazında CEO Brief PDF üretin