---
title: "Supabase Connector"
description: "Popoln vodnik za integracijo Supabase za sinhronizacijo zapisov baze podatkov, avtentikacije uporabnikov, shranjevanja datotek in dogodkov v realnem času z vašo platformo za angažiranje."
url: https://tajo.io/sl/docs/connectors/custom/supabase/
markdown: https://tajo.io/sl/docs/connectors/custom/supabase.md
lang: sl-SI
robots: noindex
---

Zaprosite za zgodnji dostop

Vnesite svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

# Supabase Connector

Stanje konektorja: Načrtovano Še ni izdelano. Tajo danes ne poganja tega konektorja.

| Izvorno polje | Ciljno polje | Vzorčna vrednost |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži svoj projekt Supabase za sinhronizacijo zapisov baze podatkov, podatkov avtentikacije uporabnikov, dogodkov shranjevanja datotek in sprememb v realnem času za avtomatizacijo angažiranja strank.

## Pregled

| Lastnost | Vrednost |
| --- | --- |
| **Platforma** | Supabase |
| **Kategorija** | Podatkovna baza in ozadje |
| **Zahtevnost nastavitve** | Enostavna |
| **Uradna integracija** | Ne |
| **Sinhronizirani podatki** | Uporabniki, tabele, shranjevanje, dogodki |
| **Razpoložljivi Skills** | 11 |
| **Vrsta API** | REST (PostgREST) + Realtime WebSocket |
| **Uradna dokumentacija** | [supabase.com/docs](https://supabase.com/docs) |

## Funkcionalnosti

- **Samodejno ustvarjen REST API**, CRUD operacije na kateri koli tabeli Postgres prek PostgREST, brez kode
- **Sinhronizacija uporabnikov Auth**, sinhroniziraj uporabnike Supabase Auth (e-mail, telefon, socialne prijave) s platformo za angažiranje
- **Naročnine v realnem času**, poslušaj dogodke INSERT, UPDATE, DELETE na kateri koli tabeli v realnem času
- **Varnost na ravni vrstice**, ves dostop API spoštuje politike RLS Postgres za varno večnajemniško upravljanje podatkov
- **Integracija shranjevanja**, sledi nalaganju datotek in upravljaj sredstva po skupinah Storage
- **Edge Functions**, pokliči brezstrežniške funkcije Deno za logiko po meri in webhooks
- **Iskanje po celotnem besedilu**, izkoristi zmogljivosti iskanja po celotnem besedilu Postgres prek API

## Predpogoji

Preden začneš, se prepričaj, da imaš:

1. Projekt Supabase ([app.supabase.com](https://app.supabase.com/))
2. **API URL** in **API ključe** projekta (najdeš jih v Settings → API)
3. Tajo račun z dostopom do API

API ključi

Supabase ponuja dva ključa: `anon` (javen, spoštuje RLS) in `service_role` (zaobide RLS, administratorski dostop). Uporabi `service_role` za integracije na strani strežnika in `anon` za odjemalčevo stran.

## Avtentikacija

Supabase uporablja avtentikacijo z API ključem. Vsak zahtevek zahteva glavo `apikey` in po izbiri žeton prinosnika `Authorization` za dostop z obsegom uporabnika.

```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>"
```

## Konfiguracija

### Osnovna nastavitev

```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
```

### Preslikava polj

Preslikaj stolpce tabel Supabase v atribute platforme za angažiranje:

#### Privzete preslikave uporabnikov

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mail uporabnika iz Supabase Auth (enolični identifikator) |
| `phone` optional | string | Telefonska številka za SMS/WhatsApp angažiranje |
| `user_metadata.full_name` optional | string | Prikazno ime iz metapodatkov uporabnika Auth |
| `user_metadata.avatar_url` optional | string | URL profilne slike |
| `created_at` optional | timestamp | Časovni žig ustvaritve računa |
| `last_sign_in_at` optional | timestamp | Zadnja prijava za ocenjevanje angažiranosti |
| `app_metadata.provider` optional | string | Ponudnik avtentikacije (email, google, github itd.) |
| `confirmed_at` optional | timestamp | Časovni žig potrditve e-maila |

#### Preslikava tabel po meri

```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
```

## Končne točke API

REST API Supabase se samodejno ustvari iz sheme baze podatkov na `https://<ref>.supabase.co/rest/v1/`.

| Končna točka | Metoda | Opis |
| --- | --- | --- |
| `/rest/v1/{table}` | `GET` | Poizvedba po vrsticah s filtriranjem, urejanjem, paginacijo |
| `/rest/v1/{table}` | `POST` | Vstavljanje vrstic (podpira množično in upsert) |
| `/rest/v1/{table}` | `PATCH` | Posodabljanje vrstic, ki ustrezajo filtrom |
| `/rest/v1/{table}` | `DELETE` | Brisanje vrstic, ki ustrezajo filtrom |
| `/rest/v1/rpc/{function}` | `POST` | Klic funkcije Postgres |
| `/auth/v1/signup` | `POST` | Ustvarjanje novega uporabnika |
| `/auth/v1/token?grant_type=password` | `POST` | Prijava z geslom |
| `/auth/v1/user` | `GET` | Pridobi trenutnega uporabnika |
| `/auth/v1/admin/users` | `GET` | Seznam vseh uporabnikov (service\_role) |
| `/storage/v1/object/{bucket}/{path}` | `POST` | Nalaganje datoteke |
| `/storage/v1/object/list/{bucket}` | `POST` | Seznam datotek v skupini |
| `/functions/v1/{function_name}` | `POST` | Klic Edge Function |

### Operatorji filtriranja

| Operator | Opis | Primer |
| --- | --- | --- |
| `eq` | Enako | `?status=eq.active` |
| `neq` | Ni enako | `?status=neq.deleted` |
| `gt`, `gte` | Večje kot | `?amount=gt.100` |
| `lt`, `lte` | Manjše kot | `?created_at=lt.2024-01-01` |
| `like`, `ilike` | Vzorčno ujemanje | `?name=ilike.%john%` |
| `in` | V polju | `?status=in.(active,trial)` |
| `is` | Preverjanje null | `?deleted_at=is.null` |

## Dogodki

### Dogodki Auth

| Dogodek | Sprožilec | Primer uporabe |
| --- | --- | --- |
| `user.signed_up` | Registracija novega uporabnika | Pozdravna serija |
| `user.signed_in` | Prijava uporabnika | Sledenje dejavnosti |
| `user.updated` | Spremembe profila | Sinhronizacija podatkov |
| `user.deleted` | Brisanje računa | Čiščenje delovnih tokov |

### Dogodki baze podatkov (Realtime)

| Dogodek | Sprožilec | Primer uporabe |
| --- | --- | --- |
| `INSERT` | Dodana nova vrstica | Obvestila o novih naročilih/strankah |
| `UPDATE` | Spremenjena vrstica | Delovni tokovi spremembe statusa |
| `DELETE` | Odstranjena vrstica | Zaznavanje odliva |

### Dogodki webhooks

| Dogodek | Sprožilec | Primer uporabe |
| --- | --- | --- |
| `auth.user.created` | Registracija prek webhookov | Sprožitev uvajanja |
| `storage.object.created` | Naložena datoteka | Obdelava sredstev |

## Primeri kode

### Inicializacija konektorja

```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,
});
```

### Sinhronizacija uporabnikov v stike

```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',
});
```

### Poslušanje sprememb v realnem času

```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();
```

### Poizvedba in segmentacija

```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);
```

## Omejitve hitrosti

Omejitve hitrosti API

Omejitve hitrosti Supabase so odvisne od plana. Brezplačni plan: 500 zahtevkov/minuto. Pro: 1.000 zahtevkov/sekundo. Za Enterprise omejitve kontaktiraj Supabase.

| Plan | Omejitev hitrosti | Vzporedne povezave Realtime |
| --- | --- | --- |
| Free | 500 zahtevkov/min | 200 vzporedno |
| Pro | 1.000 zahtevkov/s | 500 vzporedno |
| Team | 2.000 zahtevkov/s | 1.000 vzporedno |
| Enterprise | Po meri | Po meri |

## Odpravljanje težav

### Pogoste težave

| Težava | Vzrok | Rešitev |
| --- | --- | --- |
| 401 Unauthorized | Neveljaven ali potekel API ključ | Preveri API ključe v nadzorni plošči Supabase → Settings → API |
| 403 Forbidden | Politika RLS blokira dostop | Uporabi ključ `service_role` za administratorske operacije ali preveri politike RLS |
| Brez dogodkov Realtime | Realtime ni omogočen za tabelo | Omogoči v Database → Replication → dodaj tabelo v publikacijo |
| Prazni rezultati poizvedbe | RLS filtrira vse vrstice | Preveri, ali politike RLS dovoljujejo branje avtenticirani vlogi |
| Nalaganje v Storage neuspešno | Politike skupin | Preveri, ali je skupino Storage nastavljeno na javno ali ima pravilne politike RLS |

### Način odpravljanja napak

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

### Preizkus povezave

```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)
```

## Najboljše prakse

1. **Ključ service\_role uporablaj samo na strani strežnika**, nikoli ga ne izpostavljaj v kodi odjemalca
2. **Omogoči RLS na vseh tabelah**, tudi s service\_role oblikuj z mislijo na RLS za globinsko obrambo
3. **Za sinhronizacijo na osnovi dogodkov uporabi Realtime**, učinkovitejše od anketiranja za spremembe
4. **Paketne operacije**, za operacije z velikim obsegom uporabi množična vstavljanja in filter `in`
5. **Preslikaj metapodatke uporabnika**, med registracijo shrani polja, relevantna za angažiranje, v `user_metadata`
6. **Webhooks obdeluj z Edge Functions**, za obdelavo dohodnih webhooks z nizko zakasnitvijo uporabi Supabase Edge Functions

## Varnost

- **Avtentikacija z API ključem**, vsi zahtevki zahtevajo veljavne API ključe
- **Varnost na ravni vrstice (RLS)**, nadzor dostopa izvoren za Postgres po vrstici
- **Preverjanje JWT**, žetoni Auth so podpisani JWT-ji, preverjeni pri vsakem zahtevku
- **SSL/TLS**, vse povezave šifrirane med prenosom
- **SOC 2 Type II**, Supabase je certificiran po SOC 2
- **Omejitve omrežja**, neobvezno dodajanje IP na seznam dovoljenih na plačljivih planih

## Povezani viri

- [Shopify Connector](https://tajo.io/sl/docs/connectors/ecommerce/shopify)
- [Stripe Connector](https://tajo.io/sl/docs/connectors/ecommerce/stripe)
- [Auth0 Connector](https://tajo.io/sl/docs/connectors/custom/auth0)
- [Supabase uradna dokumentacija](https://supabase.com/docs)
- [Vodnik za Supabase REST API](https://supabase.com/docs/guides/api)
- [Vodnik za Supabase Auth](https://supabase.com/docs/guides/auth)
