---
title: "Supabase konektor"
description: "Kompletný sprievodca integráciou Supabase na synchronizáciu databázových záznamov, používateľskej autentifikácie, ukladania súborov a udalostí v reálnom čase s tvojou platformou."
url: https://tajo.io/sk/docs/connectors/custom/supabase/
markdown: https://tajo.io/sk/docs/connectors/custom/supabase.md
lang: sk-SK
robots: noindex
---

Požiadajte o skorý prístup

Zadajte svoje meno a pracovnú e-mailovú adresu. Pošleme vám odkaz na potvrdenie žiadosti o prístup k Tajo.

# Supabase konektor

Stav konektora: Plánované Zatiaľ nevytvorené. Tajo tento konektor dnes neprevádzkuje.

| Zdrojové pole | Cieľové pole | Ukážková hodnota |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Prepoj svoj Supabase projekt na synchronizáciu databázových záznamov, dát autentifikácie používateľov, udalostí úložiska súborov a zmien v reálnom čase pre automatizáciu zákazníckeho zapojenia.

## Prehľad

| Vlastnosť | Hodnota |
| --- | --- |
| **Platforma** | Supabase |
| **Kategória** | Databáza a Backend |
| **Zložitosť nastavenia** | Ľahké |
| **Oficiálna integrácia** | Nie |
| **Synchronizované dáta** | Používatelia, Tabuľky, Úložisko, Udalosti |
| **Dostupné skilly** | 11 |
| **Typ API** | REST (PostgREST) + Realtime WebSocket |
| **Oficiálna dokumentácia** | [supabase.com/docs](https://supabase.com/docs) |

## Funkcie

- **Automaticky generované REST API**, CRUD operácie na akejkoľvek Postgres tabuľke cez PostgREST, bez kódu
- **Synchronizácia Auth používateľov**, Synchronizuj Supabase Auth používateľov (e-mail, telefón, sociálne prihlásenia) do tvojej platformy
- **Odbery v reálnom čase**, Počúvaj udalosti INSERT, UPDATE, DELETE na akejkoľvek tabuľke v reálnom čase
- **Row Level Security**, Všetok API prístup rešpektuje Postgres RLS politiky pre bezpečné multi-tenant dáta
- **Integrácia úložiska**, Sleduj nahrávanie súborov a spravuj prostriedky naprieč Storage bucketmi
- **Edge Functions**, Spúšťaj bezserverové Deno funkcie pre vlastnú logiku a webhooky
- **Full-text vyhľadávanie**, Využi možnosti full-text vyhľadávania Postgres cez API

## Predpoklady

Predtým, než začneš, uisti sa, že máš:

1. Supabase projekt ([app.supabase.com](https://app.supabase.com/))
2. **API URL** a **API kľúče** tvojho projektu (v Settings → API)
3. Tajo účet s API prístupom

API kľúče

Supabase poskytuje dva kľúče: `anon` (verejný, rešpektuje RLS) a `service_role` (obchádza RLS, admin prístup). Použi `service_role` pre serverové integrácie a `anon` pre klientské.

## Autentifikácia

Supabase používa autentifikáciu pomocou API kľúčov. Každá požiadavka vyžaduje hlavičku `apikey` a voliteľne Bearer token `Authorization` pre prístup v rozsahu používateľa.

```bash
# Using anon key (respects RLS)
curl 'https://<project_ref>.supabase.co/rest/v1/customers' \
  -H "apikey: <SUPABASE_ANON_KEY>" \
  -H "Authorization: Bearer <SUPABASE_ANON_KEY>"

# Using service_role key (bypasses RLS)
curl 'https://<project_ref>.supabase.co/rest/v1/customers' \
  -H "apikey: <SUPABASE_SERVICE_ROLE_KEY>" \
  -H "Authorization: Bearer <SUPABASE_SERVICE_ROLE_KEY>"
```

## Konfigurácia

### Základné nastavenie

```yaml
connectors:
  supabase:
    enabled: true
    project_url: "https://xyzcompany.supabase.co"
    api_key: "${SUPABASE_SERVICE_ROLE_KEY}"

    # Data sync options
    sync:
      users: true
      tables:
        - customers
        - orders
        - products
      storage: true
      realtime: true

    # Map Supabase Auth users to contacts
    user_mapping:
      email: email
      phone: SMS
      user_metadata.full_name: FIRSTNAME
      created_at: SIGNUP_DATE
```

### Mapovanie polí

Namapuj stĺpce tabuľky Supabase na atribúty platformy:

#### Predvolené mapovania používateľov

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mail používateľa zo Supabase Auth (unikátny identifikátor) |
| `phone` optional | string | Telefónne číslo pre SMS/WhatsApp zapojenie |
| `user_metadata.full_name` optional | string | Zobrazované meno z metadát Auth používateľa |
| `user_metadata.avatar_url` optional | string | URL profilového obrázka |
| `created_at` optional | timestamp | Časová pečiatka vytvorenia účtu |
| `last_sign_in_at` optional | timestamp | Posledné prihlásenie pre skórovanie zapojenia |
| `app_metadata.provider` optional | string | Poskytovateľ autentifikácie (email, google, github atď.) |
| `confirmed_at` optional | timestamp | Časová pečiatka potvrdenia e-mailu |

#### Mapovanie vlastných tabuliek

```yaml
table_mapping:
  customers:
    # Column → Attribute mapping
    email: email
    full_name: FIRSTNAME
    company: COMPANY
    plan: SUBSCRIPTION_PLAN
    mrr: MONTHLY_REVENUE
    created_at: SIGNUP_DATE

  orders:
    # Track as events
    sync_as: events
    event_name: "order_placed"
    properties:
      total: amount
      status: order_status
      items: line_items
```

## API endpointy

REST API Supabase je automaticky generované zo schémy tvojej databázy na `https://<ref>.supabase.co/rest/v1/`.

| Endpoint | Metóda | Popis |
| --- | --- | --- |
| `/rest/v1/{table}` | `GET` | Dopyt na riadky s filtrovaním, triedením, stránkovaním |
| `/rest/v1/{table}` | `POST` | Vloženie riadkov (podporuje hromadné a upsert) |
| `/rest/v1/{table}` | `PATCH` | Aktualizácia riadkov zodpovedajúcich filtrám |
| `/rest/v1/{table}` | `DELETE` | Odstránenie riadkov zodpovedajúcich filtrám |
| `/rest/v1/rpc/{function}` | `POST` | Volanie Postgres funkcie |
| `/auth/v1/signup` | `POST` | Vytvorenie nového používateľa |
| `/auth/v1/token?grant_type=password` | `POST` | Prihlásenie heslom |
| `/auth/v1/user` | `GET` | Získanie aktuálneho používateľa |
| `/auth/v1/admin/users` | `GET` | Zoznam všetkých používateľov (service\_role) |
| `/storage/v1/object/{bucket}/{path}` | `POST` | Nahranie súboru |
| `/storage/v1/object/list/{bucket}` | `POST` | Zoznam súborov v buckete |
| `/functions/v1/{function_name}` | `POST` | Spustenie Edge Function |

### Filtračné operátory

| Operátor | Popis | Príklad |
| --- | --- | --- |
| `eq` | Rovná sa | `?status=eq.active` |
| `neq` | Nerovná sa | `?status=neq.deleted` |
| `gt`, `gte` | Väčší ako | `?amount=gt.100` |
| `lt`, `lte` | Menší ako | `?created_at=lt.2024-01-01` |
| `like`, `ilike` | Zhoda vzoru | `?name=ilike.%john%` |
| `in` | V poli | `?status=in.(active,trial)` |
| `is` | Kontrola null | `?deleted_at=is.null` |

## Udalosti

### Auth udalosti

| Udalosť | Trigger | Prípad použitia |
| --- | --- | --- |
| `user.signed_up` | Registrácia nového používateľa | Uvítacia séria |
| `user.signed_in` | Prihlásenie používateľa | Sledovanie aktivity |
| `user.updated` | Zmeny profilu | Synchronizácia dát |
| `user.deleted` | Zmazanie účtu | Čistiace workflowy |

### Databázové udalosti (Realtime)

| Udalosť | Trigger | Prípad použitia |
| --- | --- | --- |
| `INSERT` | Pridaný nový riadok | Notifikácie o novej objednávke/zákazníkovi |
| `UPDATE` | Upravený riadok | Workflowy zmeny stavu |
| `DELETE` | Odstránený riadok | Detekcia odchodu |

### Webhookové udalosti

| Udalosť | Trigger | Prípad použitia |
| --- | --- | --- |
| `auth.user.created` | Registrácia používateľa cez webhook | Spustenie onboardingu |
| `storage.object.created` | Nahraný súbor | Spracovanie prostriedkov |

## Ukážky kódu

### Inicializácia konektora

```javascript
import { TajoClient } from '@tajo/sdk';
import { createClient } from '@supabase/supabase-js';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
});

// Connect Supabase project
await tajo.connectors.connect('supabase', {
  projectUrl: process.env.SUPABASE_URL,
  serviceRoleKey: process.env.SUPABASE_SERVICE_ROLE_KEY,
});
```

### Synchronizácia používateľov do kontaktov

```javascript
// Sync all Supabase Auth users as contacts
await tajo.connectors.sync('supabase', {
  type: 'full',
  resources: ['users'],
});

// Incremental sync (new/changed users only)
await tajo.connectors.sync('supabase', {
  type: 'incremental',
  resources: ['users'],
  since: '2024-01-01T00:00:00Z',
});
```

### Počúvanie zmien v reálnom čase

```javascript
// Subscribe to new orders for engagement triggers
const supabase = createClient(
  process.env.SUPABASE_URL,
  process.env.SUPABASE_SERVICE_ROLE_KEY
);

supabase
  .channel('orders')
  .on('postgres_changes',
    { event: 'INSERT', schema: 'public', table: 'orders' },
    async (payload) => {
      // Forward to Tajo as an event
      await tajo.events.track({
        email: payload.new.customer_email,
        event: 'order_placed',
        properties: {
          order_id: payload.new.id,
          total: payload.new.total,
          items: payload.new.line_items,
        },
      });
    }
  )
  .subscribe();
```

### Dopyt a segmentácia

```javascript
// Query customers by plan for targeted campaigns
const { data: proUsers } = await supabase
  .from('customers')
  .select('email, full_name, plan, mrr')
  .eq('plan', 'pro')
  .gt('mrr', 100)
  .order('mrr', { ascending: false });

// Sync to a Brevo list for campaign targeting
await tajo.lists.addContacts(PRO_LIST_ID, proUsers);
```

## Obmedzenia rýchlosti

Limity rýchlosti API

Limity rýchlosti Supabase závisí od tvojho plánu. Free tier: 500 požiadaviek/minútu. Pro: 1 000 požiadaviek/sekundu. Pre Enterprise limity kontaktuj Supabase.

| Plán | Limit rýchlosti | Realtime pripojenia |
| --- | --- | --- |
| Free | 500 požiadaviek/min | 200 súbežných |
| Pro | 1 000 požiadaviek/sek | 500 súbežných |
| Team | 2 000 požiadaviek/sek | 1 000 súbežných |
| Enterprise | Vlastné | Vlastné |

## Riešenie problémov

### Bežné problémy

| Problém | Príčina | Riešenie |
| --- | --- | --- |
| 401 Unauthorized | Neplatný alebo vypršaný API kľúč | Skontroluj API kľúče v Supabase Dashboard → Settings → API |
| 403 Forbidden | RLS politika blokuje prístup | Použi kľúč `service_role` pre admin operácie alebo skontroluj RLS politiky |
| Žiadne realtime udalosti | Realtime nie je povolené pre tabuľku | Povol v Database → Replication → pridaj tabuľku do publikácie |
| Prázdne výsledky dopytu | RLS filtruje všetky riadky | Overte RLS politiky, ktoré umožňujú autentifikovanej roli čítať |
| Nahranie do úložiska zlyhalo | Politiky bucketu | Skontroluj, či je Storage bucket verejný alebo má správne RLS politiky |

### Debug režim

```yaml
connectors:
  supabase:
    debug: true
    log_level: verbose
    log_queries: true
    log_realtime: true
```

### Test pripojenia

```bash
tajo connectors test supabase
# ✓ API connection successful
# ✓ Auth endpoint accessible
# ✓ Tables readable (12 tables found)
# ✓ Storage accessible (3 buckets)
# ✓ Realtime connection established
# ✓ Edge Functions available (4 functions)
```

## Odporúčané postupy

1. **Použi kľúč service\_role iba na strane servera**, Nikdy ho nevystavuj v klientskom kóde
2. **Povol RLS na všetkých tabuľkách**, Aj s service\_role navrhuj s RLS pre hĺbkovú obranu
3. **Použi Realtime pre synchronizáciu riadenú udalosťami**, Efektívnejšie ako polling zmien
4. **Dávkové operácie**, Použi hromadné vkladanie a filter `in` pre operácie s vysokým objemom
5. **Mapuj metadáta používateľa**, Uchovávaj polia relevantné pre zapojenie v `user_metadata` počas registrácie
6. **Použi Edge Functions pre webhooky**, Spracovávaj prichádzajúce webhooky cez Supabase Edge Functions pre nízku latenciu

## Bezpečnosť

- **Autentifikácia API kľúčom**, Všetky požiadavky vyžadujú platné API kľúče
- **Row Level Security (RLS)**, Natívna kontrola prístupu Postgres na úrovni riadku
- **Overenie JWT**, Auth tokeny sú podpísané JWT overené pri každej požiadavke
- **SSL/TLS**, Všetky pripojenia šifrované pri prenose
- **SOC 2 Type II**, Supabase je SOC 2 certifikovaný
- **Sieťové obmedzenia**, Voliteľné IP allowlisting v platených plánoch

## Súvisiace zdroje

- [Shopify konektor](https://tajo.io/sk/docs/connectors/ecommerce/shopify)
- [Stripe konektor](https://tajo.io/sk/docs/connectors/ecommerce/stripe)
- [Auth0 konektor](https://tajo.io/sk/docs/connectors/custom/auth0)
- [Supabase oficiálna dokumentácia](https://supabase.com/docs)
- [Supabase REST API sprievodca](https://supabase.com/docs/guides/api)
- [Supabase Auth sprievodca](https://supabase.com/docs/guides/auth)
