---
title: "Supabase کنیکٹر"
description: "ڈیٹا بیس ریکارڈز، صارف auth، فائل اسٹوریج، اور ریئل ٹائم ایونٹس کو اپنے engagement پلیٹ فارم کے ساتھ سنک کرنے کے لیے مکمل Supabase انٹیگریشن گائیڈ۔"
url: https://tajo.io/ur/docs/connectors/custom/supabase/
markdown: https://tajo.io/ur/docs/connectors/custom/supabase.md
lang: ur-PK
robots: noindex
---

ابتدائی رسائی کی درخواست کریں

اپنا پہلا نام اور دفتری ای میل پتہ درج کریں۔ ہم Tajo تک رسائی کی درخواست کی تصدیق کے لیے ایک لنک ای میل کریں گے۔

# Supabase کنیکٹر

کنیکٹر کی حیثیت: منصوبہ بند ابھی تیار نہیں ہوا۔ Tajo آج یہ کنیکٹر نہیں چلاتا۔

| ماخذ فیلڈ | منزل فیلڈ | نمونہ قدر |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

ڈیٹا بیس ریکارڈز، صارف تصدیق ڈیٹا، فائل اسٹوریج ایونٹس، اور گاہک engagement آٹومیشن کے لیے ریئل ٹائم تبدیلیوں کو سنک کرنے کے لیے اپنے Supabase پروجیکٹ کو منسلک کریں۔

## جائزہ

| خاصیت | قدر |
| --- | --- |
| **پلیٹ فارم** | Supabase |
| **زمرہ** | ڈیٹا بیس اور بیک اینڈ |
| **سیٹ اپ کی پیچیدگی** | آسان |
| **آفیشل انٹیگریشن** | نہیں |
| **سنک شدہ ڈیٹا** | صارفین، ٹیبلز، اسٹوریج، ایونٹس |
| **دستیاب اسکلز** | 11 |
| **API قسم** | REST (PostgREST) + Realtime WebSocket |
| **آفیشل دستاویزات** | [supabase.com/docs](https://supabase.com/docs) |

## خصوصیات

- **خودکار تیار شدہ REST API**, PostgREST کے ذریعے کسی بھی Postgres ٹیبل پر CRUD آپریشنز، کوئی کوڈ درکار نہیں
- **Auth صارف سنک**, Supabase Auth صارفین (ای میل، فون، سوشل لاگ ان) کو اپنے engagement پلیٹ فارم پر سنک کریں
- **ریئل ٹائم سبسکرپشنز**, کسی بھی ٹیبل پر INSERT, UPDATE, DELETE ایونٹس کو ریئل ٹائم میں سنیں
- **Row Level Security**, تمام API رسائی محفوظ ملٹی ٹیننٹ ڈیٹا کے لیے Postgres RLS پالیسیوں کا احترام کرتی ہے
- **اسٹوریج انٹیگریشن**, Storage buckets میں فائل اپ لوڈز ٹریک کریں اور اثاثوں کا انتظام کریں
- **Edge Functions**, کسٹم لاجک اور webhooks کے لیے serverless Deno فنکشنز کو invoke کریں
- **مکمل ٹیکسٹ سرچ**, API کے ذریعے Postgres مکمل ٹیکسٹ سرچ صلاحیتوں کا فائدہ اٹھائیں

## شرائط

شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:

1. Supabase پروجیکٹ ([app.supabase.com](https://app.supabase.com/))
2. آپ کے پروجیکٹ کا **API URL** اور **API keys** (Settings → API میں ملتے ہیں)
3. API رسائی کے ساتھ Tajo اکاؤنٹ

API Keys

Supabase دو کیز فراہم کرتا ہے: `anon` (عوامی، RLS کا احترام کرتا ہے) اور `service_role` (RLS کو نظر انداز کرتا ہے، ایڈمن رسائی)۔ سرور سائڈ انٹیگریشنز کے لیے `service_role` اور کلائنٹ سائڈ کے لیے `anon` استعمال کریں۔

## تصدیق

Supabase API key تصدیق استعمال کرتا ہے۔ ہر درخواست کو `apikey` ہیڈر اور اختیاری طور پر صارف اسکوپڈ رسائی کے لیے `Authorization` bearer ٹوکن درکار ہوتا ہے۔

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

## تشکیل

### بنیادی سیٹ اپ

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

### فیلڈ میپنگ

Supabase ٹیبل کالمز کو engagement پلیٹ فارم خصوصیات پر میپ کریں:

#### طے شدہ صارف میپنگز

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Supabase Auth سے صارف ای میل (منفرد شناخت کنندہ) |
| `phone` optional | string | SMS/WhatsApp engagement کے لیے فون نمبر |
| `user_metadata.full_name` optional | string | Auth صارف میٹا ڈیٹا سے ڈسپلے نام |
| `user_metadata.avatar_url` optional | string | پروفائل تصویر URL |
| `created_at` optional | timestamp | اکاؤنٹ بنانے کا ٹائم اسٹیمپ |
| `last_sign_in_at` optional | timestamp | engagement اسکورنگ کے لیے حالیہ ترین لاگ ان |
| `app_metadata.provider` optional | string | Auth فراہم کنندہ (email, google, github, وغیرہ) |
| `confirmed_at` optional | timestamp | ای میل تصدیق ٹائم اسٹیمپ |

#### کسٹم ٹیبل میپنگ

```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 اینڈ پوائنٹس

Supabase REST API آپ کے ڈیٹا بیس اسکیما سے `https://<ref>.supabase.co/rest/v1/` پر خودکار تیار ہوتی ہے۔

| اینڈ پوائنٹ | طریقہ | تفصیل |
| --- | --- | --- |
| `/rest/v1/{table}` | `GET` | فلٹرنگ، ترتیب، پیجینیشن کے ساتھ سطریں کوئری کریں |
| `/rest/v1/{table}` | `POST` | سطریں شامل کریں (بلک اور upsert سپورٹ کرتا ہے) |
| `/rest/v1/{table}` | `PATCH` | فلٹرز سے ملنے والی سطریں اپ ڈیٹ کریں |
| `/rest/v1/{table}` | `DELETE` | فلٹرز سے ملنے والی سطریں حذف کریں |
| `/rest/v1/rpc/{function}` | `POST` | Postgres فنکشن کال کریں |
| `/auth/v1/signup` | `POST` | نیا صارف بنائیں |
| `/auth/v1/token?grant_type=password` | `POST` | پاس ورڈ کے ساتھ سائن ان |
| `/auth/v1/user` | `GET` | موجودہ صارف حاصل کریں |
| `/auth/v1/admin/users` | `GET` | تمام صارفین کی فہرست (service\_role) |
| `/storage/v1/object/{bucket}/{path}` | `POST` | فائل اپ لوڈ کریں |
| `/storage/v1/object/list/{bucket}` | `POST` | bucket میں فائلوں کی فہرست |
| `/functions/v1/{function_name}` | `POST` | Edge Function invoke کریں |

### فلٹرنگ آپریٹرز

| آپریٹر | تفصیل | مثال |
| --- | --- | --- |
| `eq` | برابر | `?status=eq.active` |
| `neq` | برابر نہیں | `?status=neq.deleted` |
| `gt`, `gte` | بڑا ہے | `?amount=gt.100` |
| `lt`, `lte` | چھوٹا ہے | `?created_at=lt.2024-01-01` |
| `like`, `ilike` | پیٹرن میچ | `?name=ilike.%john%` |
| `in` | array میں | `?status=in.(active,trial)` |
| `is` | Null چیک | `?deleted_at=is.null` |

## ایونٹس

### Auth ایونٹس

| ایونٹ | ٹرگر | استعمال کا کیس |
| --- | --- | --- |
| `user.signed_up` | نیا صارف رجسٹریشن | ویلکم سیریز |
| `user.signed_in` | صارف لاگ ان | سرگرمی ٹریکنگ |
| `user.updated` | پروفائل تبدیلیاں | ڈیٹا سنک |
| `user.deleted` | اکاؤنٹ حذف | کلین اپ ورک فلوز |

### ڈیٹا بیس ایونٹس (Realtime)

| ایونٹ | ٹرگر | استعمال کا کیس |
| --- | --- | --- |
| `INSERT` | نئی سطر شامل | نیا آرڈر/گاہک نوٹیفکیشنز |
| `UPDATE` | سطر میں ترمیم | اسٹیٹس تبدیلی ورک فلوز |
| `DELETE` | سطر ہٹائی گئی | چرن کی نشاندہی |

### Webhook ایونٹس

| ایونٹ | ٹرگر | استعمال کا کیس |
| --- | --- | --- |
| `auth.user.created` | webhook کے ذریعے صارف سائن اپ | آن بورڈنگ ٹرگر |
| `storage.object.created` | فائل اپ لوڈ ہوئی | اثاثہ پروسیسنگ |

## کوڈ کی مثالیں

### کنیکٹر کو انیشیلائز کریں

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

### صارفین کو رابطوں میں سنک کریں

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

### ریئل ٹائم تبدیلیاں سنیں

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

### کوئری اور سیگمنٹ

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

## شرح کی حدود

API شرح کی حدود

Supabase شرح کی حدود آپ کے پلان پر منحصر ہیں۔ Free tier: 500 درخواستیں/منٹ۔ Pro: 1,000 درخواستیں/سیکنڈ۔ Enterprise حدود کے لیے Supabase سے رابطہ کریں۔

| پلان | شرح کی حد | Realtime کنکشنز |
| --- | --- | --- |
| Free | 500 req/min | 200 بیک وقتی |
| Pro | 1,000 req/s | 500 بیک وقتی |
| Team | 2,000 req/s | 1,000 بیک وقتی |
| Enterprise | کسٹم | کسٹم |

## ٹربل شوٹنگ

### عام مسائل

| مسئلہ | وجہ | حل |
| --- | --- | --- |
| 401 Unauthorized | غلط یا میعاد ختم API key | Supabase Dashboard → Settings → API میں API keys چیک کریں |
| 403 Forbidden | RLS پالیسی رسائی روک رہی ہے | ایڈمن آپریشنز کے لیے `service_role` key استعمال کریں، یا RLS پالیسیاں چیک کریں |
| کوئی realtime ایونٹس نہیں | ٹیبل کے لیے Realtime فعال نہیں | Database → Replication میں فعال کریں → publication میں ٹیبل شامل کریں |
| خالی کوئری نتائج | RLS تمام سطروں کو فلٹر کر رہا ہے | تصدیق کریں کہ RLS پالیسیاں authenticated رول کو پڑھنے کی اجازت دیتی ہیں |
| اسٹوریج اپ لوڈ ناکام | Bucket پالیسیاں | چیک کریں کہ Storage bucket عوامی ہے یا اس کے پاس درست RLS پالیسیاں ہیں |

### ڈیبگ موڈ

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

### کنکشن ٹیسٹ کریں

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

## بہترین طرز عمل

1. **service\_role key صرف سرور سائڈ استعمال کریں**, اسے کبھی کلائنٹ کوڈ میں ظاہر نہ کریں
2. **تمام ٹیبلز پر RLS فعال کریں**, service\_role کے ساتھ بھی، defense in depth کے لیے RLS کے ساتھ ڈیزائن کریں
3. **ایونٹ پر مبنی سنک کے لیے Realtime استعمال کریں**, تبدیلیوں کے لیے polling سے زیادہ موثر
4. **بیچ آپریشنز**, اعلی حجم آپریشنز کے لیے بلک inserts اور `in` فلٹر استعمال کریں
5. **صارف میٹا ڈیٹا میپ کریں**, سائن اپ کے دوران engagement سے متعلقہ فیلڈز کو `user_metadata` میں محفوظ کریں
6. **webhooks کے لیے Edge Functions استعمال کریں**, کم latency ہینڈلنگ کے لیے Supabase Edge Functions کے ساتھ آنے والے webhooks پروسیس کریں

## سیکیورٹی

- **API Key تصدیق**, تمام درخواستوں کو درست API keys درکار ہیں
- **Row Level Security (RLS)**, Postgres نیٹیو رسائی کنٹرول فی سطر
- **JWT تصدیق**, Auth ٹوکنز دستخط شدہ JWTs ہیں جو ہر درخواست پر تصدیق ہوتے ہیں
- **SSL/TLS**, تمام کنکشنز ٹرانزٹ میں انکرپٹڈ
- **SOC 2 Type II**, Supabase SOC 2 کمپلائنٹ ہے
- **نیٹ ورک پابندیاں**, paid پلانز پر اختیاری IP allowlisting

## متعلقہ وسائل

- [Shopify کنیکٹر](https://tajo.io/ur/docs/connectors/ecommerce/shopify)
- [Stripe کنیکٹر](https://tajo.io/ur/docs/connectors/ecommerce/stripe)
- [Auth0 کنیکٹر](https://tajo.io/ur/docs/connectors/custom/auth0)
- [Supabase آفیشل دستاویزات](https://supabase.com/docs)
- [Supabase REST API گائیڈ](https://supabase.com/docs/guides/api)
- [Supabase Auth گائیڈ](https://supabase.com/docs/guides/auth)
