---
title: "Konektor Supabase"
description: "Kompletní průvodce integrací Supabase pro synchronizaci záznamů databáze, uživatelského ověřování, úložiště souborů a událostí v reálném čase s vaší platformou zapojení."
url: https://tajo.io/cz/docs/connectors/custom/supabase/
markdown: https://tajo.io/cz/docs/connectors/custom/supabase.md
lang: cs-CZ
robots: noindex
---

Požádejte o přednostní přístup

Zadejte své jméno a pracovní e-mailovou adresu. Pošleme vám odkaz pro potvrzení žádosti o přístup k Tajo.

# Konektor Supabase

Stav konektoru: Plánováno Zatím nevytvořeno. Tajo tento konektor dnes neprovozuje.

| Zdrojové pole | Cílové pole | Ukázková hodnota |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Propojte svůj projekt Supabase pro synchronizaci databázových záznamů, dat ověřování uživatelů, událostí úložiště souborů a změn v reálném čase pro automatizaci zapojení zákazníků.

## Přehled

| Vlastnost | Hodnota |
| --- | --- |
| **Platforma** | Supabase |
| **Kategorie** | Databáze a backend |
| **Složitost nastavení** | Snadná |
| **Oficiální integrace** | Ne |
| **Synchronizovaná data** | Uživatelé, Tabulky, Úložiště, Události |
| **Dostupné dovednosti** | 11 |
| **Typ API** | REST (PostgREST) + WebSocket v reálném čase |
| **Oficiální dokumentace** | [supabase.com/docs](https://supabase.com/docs) |

## Funkce

- **Automaticky generované REST API** – CRUD operace na libovolné tabulce Postgres přes PostgREST, bez kódu
- **Synchronizace uživatelů Auth** – Synchronizujte uživatele Supabase Auth (e-mail, telefon, sociální přihlášení) do vaší platformy zapojení
- **Odběry v reálném čase** – Naslouchejte událostem INSERT, UPDATE, DELETE na libovolné tabulce v reálném čase
- **Row Level Security** – Veškerý přístup API respektuje politiky Postgres RLS pro bezpečná multi-tenantní data
- **Integrace úložiště** – Sledujte nahrávání souborů a spravujte prostředky napříč buckety Storage
- **Edge Functions** – Vyvolávejte serverless Deno funkce pro vlastní logiku a webhooky
- **Fulltextové vyhledávání** – Využívejte možnosti fulltextového vyhledávání Postgres přes API

## Předpoklady

Než začnete, ujistěte se, že máte:

1. Projekt Supabase ([app.supabase.com](https://app.supabase.com/))
2. **API URL** a **API klíče** projektu (nalezené v Settings → API)
3. Účet Tajo s přístupem k API

API klíče

Supabase poskytuje dva klíče: `anon` (veřejný, respektuje RLS) a `service_role` (obchází RLS, administrátorský přístup). Používejte `service_role` pro integrace na straně serveru a `anon` pro stranu klienta.

## Ověření

Supabase používá ověřování API klíčem. Každý požadavek vyžaduje hlavičku `apikey` a volitelně bearer token `Authorization` pro přístup v rozsahu uživatele.

```bash
# Použití anonymního klíče (respektuje RLS)
curl 'https://<project_ref>.supabase.co/rest/v1/customers' \
  -H "apikey: <SUPABASE_ANON_KEY>" \
  -H "Authorization: Bearer <SUPABASE_ANON_KEY>"

# Použití klíče service_role (obchází RLS)
curl 'https://<project_ref>.supabase.co/rest/v1/customers' \
  -H "apikey: <SUPABASE_SERVICE_ROLE_KEY>" \
  -H "Authorization: Bearer <SUPABASE_SERVICE_ROLE_KEY>"
```

## Konfigurace

### Základní nastavení

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

    # Možnosti synchronizace dat
    sync:
      users: true
      tables:
        - customers
        - orders
        - products
      storage: true
      realtime: true

    # Mapování uživatelů Auth Supabase na kontakty
    user_mapping:
      email: email
      phone: SMS
      user_metadata.full_name: FIRSTNAME
      created_at: SIGNUP_DATE
```

### Mapování polí

Mapujte sloupce tabulky Supabase na atributy platformy zapojení:

#### Výchozí mapování uživatelů

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mail uživatele z Supabase Auth (jedinečný identifikátor) |
| `phone` optional | string | Telefonní číslo pro zapojení přes SMS/WhatsApp |
| `user_metadata.full_name` optional | string | Zobrazované jméno z metadat uživatele Auth |
| `user_metadata.avatar_url` optional | string | URL profilového obrázku |
| `created_at` optional | timestamp | Časové razítko vytvoření účtu |
| `last_sign_in_at` optional | timestamp | Poslední přihlášení pro skórování zapojení |
| `app_metadata.provider` optional | string | Poskytovatel Auth (email, google, github atd.) |
| `confirmed_at` optional | timestamp | Časové razítko potvrzení e-mailu |

#### Mapování vlastní tabulky

```yaml
table_mapping:
  customers:
    # Mapování sloupec → atribut
    email: email
    full_name: FIRSTNAME
    company: COMPANY
    plan: SUBSCRIPTION_PLAN
    mrr: MONTHLY_REVENUE
    created_at: SIGNUP_DATE

  orders:
    # Sledovat jako události
    sync_as: events
    event_name: "order_placed"
    properties:
      total: amount
      status: order_status
      items: line_items
```

## Koncové body API

REST API Supabase je automaticky generováno ze schématu databáze na adrese `https://<ref>.supabase.co/rest/v1/`.

| Koncový bod | Metoda | Popis |
| --- | --- | --- |
| `/rest/v1/{table}` | `GET` | Dotaz na řádky s filtrováním, řazením, stránkováním |
| `/rest/v1/{table}` | `POST` | Vložení řádků (podporuje hromadné vkládání a upsert) |
| `/rest/v1/{table}` | `PATCH` | Aktualizace řádků odpovídajících filtrům |
| `/rest/v1/{table}` | `DELETE` | Smazání řádků odpovídajících filtrům |
| `/rest/v1/rpc/{function}` | `POST` | Volání funkce Postgres |
| `/auth/v1/signup` | `POST` | Vytvoření nového uživatele |
| `/auth/v1/token?grant_type=password` | `POST` | Přihlášení heslem |
| `/auth/v1/user` | `GET` | Získání aktuálního uživatele |
| `/auth/v1/admin/users` | `GET` | Výpis všech uživatelů (service\_role) |
| `/storage/v1/object/{bucket}/{path}` | `POST` | Nahrání souboru |
| `/storage/v1/object/list/{bucket}` | `POST` | Výpis souborů v bucketu |
| `/functions/v1/{function_name}` | `POST` | Vyvolání Edge Function |

### Operátory filtrování

| Operátor | Popis | Příklad |
| --- | --- | --- |
| `eq` | Rovná se | `?status=eq.active` |
| `neq` | Nerovná se | `?status=neq.deleted` |
| `gt`, `gte` | Větší než | `?amount=gt.100` |
| `lt`, `lte` | Menší než | `?created_at=lt.2024-01-01` |
| `like`, `ilike` | Vzorová shoda | `?name=ilike.%john%` |
| `in` | V poli | `?status=in.(active,trial)` |
| `is` | Kontrola null | `?deleted_at=is.null` |

## Události

### Události Auth

| Událost | Spouštěč | Případ použití |
| --- | --- | --- |
| `user.signed_up` | Registrace nového uživatele | Uvítací série |
| `user.signed_in` | Přihlášení uživatele | Sledování aktivity |
| `user.updated` | Změny profilu | Synchronizace dat |
| `user.deleted` | Smazání účtu | Pracovní toky úklidu |

### Události databáze (Realtime)

| Událost | Spouštěč | Případ použití |
| --- | --- | --- |
| `INSERT` | Přidán nový řádek | Notifikace o nové objednávce/zákazníkovi |
| `UPDATE` | Řádek upraven | Pracovní toky změny stavu |
| `DELETE` | Řádek odstraněn | Detekce odchodu |

### Webhookové události

| Událost | Spouštěč | Případ použití |
| --- | --- | --- |
| `auth.user.created` | Registrace uživatele přes webhook | Spuštění onboardingu |
| `storage.object.created` | Nahraný soubor | Zpracování prostředků |

## Příklady kódu

### Inicializace konektoru

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

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

// Připojení projektu Supabase
await tajo.connectors.connect('supabase', {
  projectUrl: process.env.SUPABASE_URL,
  serviceRoleKey: process.env.SUPABASE_SERVICE_ROLE_KEY,
});
```

### Synchronizace uživatelů do kontaktů

```javascript
// Synchronizace všech uživatelů Supabase Auth jako kontaktů
await tajo.connectors.sync('supabase', {
  type: 'full',
  resources: ['users'],
});

// Přírůstková synchronizace (pouze noví/změnění uživatelé)
await tajo.connectors.sync('supabase', {
  type: 'incremental',
  resources: ['users'],
  since: '2024-01-01T00:00:00Z',
});
```

### Naslouchání změnám v reálném čase

```javascript
// Přihlášení k odběru nových objednávek pro spouštěče zapojení
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) => {
      // Přepošlete do Tajo jako událost
      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();
```

### Dotaz a segmentace

```javascript
// Dotaz na zákazníky podle plánu pro cílené kampaně
const { data: proUsers } = await supabase
  .from('customers')
  .select('email, full_name, plan, mrr')
  .eq('plan', 'pro')
  .gt('mrr', 100)
  .order('mrr', { ascending: false });

// Synchronizace do seznamu Brevo pro cílení kampaní
await tajo.lists.addContacts(PRO_LIST_ID, proUsers);
```

## Omezení rychlosti

Limity rychlosti API

Limity rychlosti Supabase závisí na vašem plánu. Plán Free: 500 požadavků/minutu. Pro: 1 000 požadavků/sekundu. Kontaktujte Supabase pro limity Enterprise.

| Plán | Limit rychlosti | Připojení Realtime |
| --- | --- | --- |
| Free | 500 požadavků/min | 200 souběžných |
| Pro | 1 000 požadavků/s | 500 souběžných |
| Team | 2 000 požadavků/s | 1 000 souběžných |
| Enterprise | Vlastní | Vlastní |

## Řešení problémů

### Časté problémy

| Problém | Příčina | Řešení |
| --- | --- | --- |
| 401 Unauthorized | Neplatný nebo vypršelý API klíč | Zkontrolujte API klíče v Supabase Dashboard → Settings → API |
| 403 Forbidden | RLS politika blokuje přístup | Používejte klíč `service_role` pro admin operace nebo zkontrolujte RLS politiky |
| Žádné Realtime události | Realtime není povoleno pro tabulku | Povolte v Database → Replication → přidejte tabulku do publikace |
| Prázdné výsledky dotazu | RLS filtruje všechny řádky | Ověřte, zda RLS politiky umožňují ověřené roli čtení |
| Nahrávání do Storage selhává | Politiky bucketu | Zkontrolujte, zda je bucket Storage nastaven jako veřejný nebo má správné RLS politiky |

### Režim ladění

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

### Test připojení

```bash
tajo connectors test supabase
# ✓ Připojení API úspěšné
# ✓ Koncový bod Auth přístupný
# ✓ Tabulky čitelné (nalezeno 12 tabulek)
# ✓ Storage přístupný (3 buckety)
# ✓ Připojení Realtime navázáno
# ✓ Edge Functions dostupné (4 funkce)
```

## Osvědčené postupy

1. **Používejte klíč service\_role pouze na straně serveru** – Nikdy ho nezveřejňujte v klientském kódu
2. **Povolte RLS na všech tabulkách** – I s service\_role navrhujte s ohledem na RLS pro hloubkovou ochranu
3. **Používejte Realtime pro synchronizaci řízenou událostmi** – Efektivnější než polling pro sledování změn
4. **Dávkové operace** – Používejte hromadné vkládání a filtr `in` pro operace s vysokým objemem
5. **Mapujte metadata uživatelů** – Ukládejte pole relevantní pro zapojení v `user_metadata` při registraci
6. **Používejte Edge Functions pro webhooky** – Zpracovávejte příchozí webhooky pomocí Supabase Edge Functions pro zpracování s nízkou latencí

## Zabezpečení

- **Ověřování API klíčem** – Všechny požadavky vyžadují platné API klíče
- **Row Level Security (RLS)** – Řízení přístupu nativní v Postgres na úrovni řádků
- **Ověřování JWT** – Auth tokeny jsou podepsané JWT ověřované u každého požadavku
- **SSL/TLS** – Všechna spojení šifrovaná při přenosu
- **SOC 2 Type II** – Supabase splňuje SOC 2
- **Síťová omezení** – Volitelný whitelisting IP na placených plánech

## Související zdroje

- [Konektor Shopify](https://tajo.io/cz/docs/connectors/ecommerce/shopify)
- [Konektor Stripe](https://tajo.io/cz/docs/connectors/ecommerce/stripe)
- [Konektor Auth0](https://tajo.io/cz/docs/connectors/custom/auth0)
- [Oficiální dokumentace Supabase](https://supabase.com/docs)
- [Průvodce REST API Supabase](https://supabase.com/docs/guides/api)
- [Průvodce Auth Supabase](https://supabase.com/docs/guides/auth)
