مستندات n8n
74+ نود
📊

بیس‌رو

Baserow

دیتابیس no-code و open-source - جایگزین Airtable با قابلیت self-hosting

دیتابیس
مقدماتی
۰ بازدید
n8n 1.0+

نمای کلی

نود Baserow چیست؟

نود Baserow امکان مدیریت خودکار داده‌ها در Baserow را از طریق n8n فراهم می‌کند. Baserow یک پلتفرم دیتابیس no-code و open-source است.

چرا Baserow؟

  • Open Source & Self-hosted: مالکیت کامل داده‌ها (مهم برای ایران)
  • No-code Interface: رابط spreadsheet-like بدون نیاز به کدنویسی
  • Real-time Collaboration: همکاری تیمی همزمان
  • Extensible: پلاگین‌ها و API قدرتمند
  • Privacy-first: داده‌ها روی سرور شما می‌مانند

قابلیت‌های کلیدی:

  • انواع فیلد: Text, Long Text, Number, Boolean, Date, Single/Multiple Select, Link Row, File, Formula, Lookup, Count, Rollup, Email, Phone, URL, Rating, Created/Modified dates
  • Views: Grid, Gallery, Form, Kanban, Calendar, Timeline
  • فیلتر و مرتب‌سازی: فیلترهای ترکیبی با AND/OR
  • API کامل: REST API با auto-generated docs
  • Webhooks: دریافت event‌های تغییر داده
  • Templates: قالب‌های آماده برای شروع سریع

مقایسه Baserow vs NocoDB vs Airtable:

| ویژگی | Baserow | NocoDB | Airtable | |--------|---------|--------|----------| | Open Source | بله | بله | خیر | | Self-hosted | بله | بله | خیر | | UI Quality | عالی | خوب | عالی | | Standalone | بله (PostgreSQL داخلی) | نه (نیاز به DB) | بله | | Kanban View | بله | بله | بله | | Form View | بله | بله | بله | | Formula | بله | بله | بله | | Plugin System | بله | محدود | خیر |

محدودیت‌های API:

  • Self-hosted: بدون محدودیت
  • Cloud (رایگان): ۱,۰۰۰ rows, 2GB storage
  • Rate limit: ۲۰۰ requests/minute (cloud)

احراز هویت

احراز هویت Baserow

روش ۱: Database Token (توصیه شده)

  1. 1وارد Baserow شوید
  2. 2به Settings (آیکون چرخ‌دنده) بروید
  3. 3API tokens یا Database tokens را انتخاب کنید
  4. 4Create database token کلیک کنید
  5. 5نام و permissions را تنظیم کنید:
  • Read: خواندن ردیف‌ها
  • Create: ایجاد ردیف
  • Update: ویرایش ردیف
  • Delete: حذف ردیف
  1. 1Token را کپی و در n8n وارد کنید

تنظیم در n8n:

  • **Host**: آدرس Baserow (مثلاً https://baserow.example.com یا https://api.baserow.io)
  • API Token: Database token ایجاد شده

روش ۲: JWT Token (Session-based)

  1. 1از API /api/user/token-auth/ با email و password توکن بگیرید
  2. 2توکن را در header Authorization: JWT <token> ارسال کنید

⚠️ JWT Token بعد از مدتی منقضی می‌شود. برای automation از Database Token استفاده کنید.

نصب Baserow (Self-hosted):

Docker Compose (توصیه شده):

bash
# دانلود docker-compose
curl -o docker-compose.yml https://baserow.io/docker-compose.yml

# اجرا
docker compose up -d

# دسترسی
# http://localhost:80

Docker ساده:

bash
docker run -d --name baserow \
  -e BASEROW_PUBLIC_URL=http://localhost \
  -v baserow_data:/baserow/data \
  -p 80:80 -p 443:443 \
  baserow/baserow:latest

نکات نصب:

  • حداقل ۲GB RAM
  • PostgreSQL داخلی شامل می‌شود
  • برای production از PostgreSQL خارجی استفاده کنید
  • HTTPS با Let's Encrypt خودکار

عملیات‌های موجود

1

row-create

ایجاد ردیف جدید در جدول

2

row-get

دریافت یک ردیف با ID

3

row-update

ویرایش ردیف موجود

4

row-delete

حذف ردیف از جدول

5

row-list

دریافت لیست ردیف‌ها با فیلتر و مرتب‌سازی

6

row-move

جابجایی ردیف در ترتیب جدول

7

row-batch-create

ایجاد چندین ردیف با یک درخواست (حداکثر ۲۰۰)

8

row-batch-update

ویرایش چندین ردیف با یک درخواست

9

row-batch-delete

حذف چندین ردیف با یک درخواست

10

table-list

دریافت لیست جداول یک database

11

field-list

دریافت لیست فیلدهای یک جدول

12

file-upload

آپلود فایل برای استفاده در فیلد File

کاربردهای متداول

کاربردهای رایج

۱. CRM (مدیریت ارتباط با مشتری)

Baserow را به عنوان CRM استفاده کنید و لیدها از فرم‌ها خودکار اضافه شوند.

code
Webhook (فرم تماس) → Baserow (ایجاد ردیف در Leads) → Email (تأیید) → Telegram (alert تیم فروش)

۲. Content Calendar

تقویم محتوایی در Baserow و انتشار خودکار در شبکه‌های اجتماعی.

code
Schedule (روزانه) → Baserow (پست‌های امروز، status=ready) → Telegram Channel + Twitter → Baserow (update status=published)

۳. Inventory Management

مدیریت موجودی محصولات و اطلاع‌رسانی خودکار.

code
Baserow Webhook (stock تغییر کرد) → IF (stock < 10) → Email (هشدار) → Baserow (update reorder_status)

۴. HR & Recruitment

مدیریت رزومه‌ها و فرآیند استخدام.

code
Email Trigger (رزومه جدید) → Baserow (ایجاد applicant) → Email (تأیید دریافت) → Baserow (update status=reviewing)

۵. Project Tracker

مدیریت پروژه‌ها با Kanban view و اعلان خودکار.

code
Baserow Webhook (task status changed) → IF (status=done) → Telegram (اطلاع تیم) → Baserow (update completed_date)

۶. Survey & Feedback

جمع‌آوری نظرات و بازخوردها.

code
Baserow Form (ارسال فرم) → Code (تحلیل sentiment) → Baserow (update score) → IF (negative) → Email (alert support)

۷. همگام‌سازی با Google Sheets

داده‌ها را بین Baserow و Google Sheets همگام نگه دارید.

code
Schedule → Baserow (ردیف‌های تغییر یافته) → Google Sheets (update)
Schedule → Google Sheets (ردیف‌های جدید) → Baserow (create)

۸. Email Marketing List

مدیریت لیست ایمیل و خودکارسازی campaign‌ها.

code
Webhook (subscribe form) → Baserow (add subscriber) → Email (welcome) → Wait (3 days) → Email (first campaign)

۹. Asset Management

مدیریت اسناد و فایل‌های دیجیتال.

code
File Upload → Baserow (ایجاد record با file field) → Code (generate thumbnail) → Baserow (update thumbnail)

۱۰. Multi-Table Workflow

ترکیب داده‌ها از چندین جدول مرتبط.

code
Baserow (لیست سفارش‌ها) → Baserow (اطلاعات مشتری از Link Row) → Code (ساخت فاکتور) → Email

نکات حرفه‌ای

نکات حرفه‌ای

۱. Self-hosted Baserow برای ایران

Baserow self-hosted بهترین گزینه است: بدون VPN، مالکیت کامل داده‌ها، و بدون محدودیت rows.

۲. از user_field_names استفاده کنید

با اضافه کردن ?user_field_names=true به API URL، می‌توانید از نام خوانای فیلدها بجای field_123 استفاده کنید.

۳. Batch Operations

از batch create/update/delete استفاده کنید (حداکثر ۲۰۰ ردیف). تا ۱۰x سریع‌تر از تک‌تک.

۴. View Filters

بجای نوشتن فیلتر در API، یک View با فیلتر در Baserow بسازید و از View ID استفاده کنید.

۵. Search API

از search parameter برای جستجوی full-text در همه فیلدها استفاده کنید.

۶. Link Row Fields

Link Row فیلدهای قدرتمندی هستند. از آن‌ها برای ایجاد روابط بین جداول (مثل Orders ← Customers) استفاده کنید.

۷. Formula Fields

از Formula fields برای محاسبات خودکار استفاده کنید. مشابه Excel اما با قدرت بیشتر.

۸. Form View

از Form View برای جمع‌آوری داده از کاربران بدون نیاز به لاگین استفاده کنید. URL فرم را share کنید.

۹. Webhook Integration

Baserow webhooks را در Settings > Webhooks تنظیم کنید. events: row.created, row.updated, row.deleted.

۱۰. Include/Exclude Fields

فقط فیلدهای مورد نیاز را درخواست کنید (include=field_1,field_2). سرعت بالاتر و traffic کمتر.

۱۱. Pagination

Baserow حداکثر ۲۰۰ ردیف در هر صفحه برمی‌گرداند. از page و size parameters استفاده کنید.

۱۲. Templates

از Baserow Templates برای شروع سریع استفاده کنید: CRM, Project Management, Content Calendar, etc.

۱۳. Kanban View

از Kanban view برای مدیریت بصری workflow‌ها (مثل تیکت‌ها، تسک‌ها) استفاده کنید.

۱۴. Row Ordering

ترتیب ردیف‌ها در Baserow قابل تنظیم است. از row move API برای drag-and-drop استفاده کنید.

۱۵. API Documentation

Baserow برای هر دیتابیس، API documentation خودکار generate می‌کند. در Settings > API Docs ببینید.

رفع مشکلات

رفع مشکلات رایج

❌ خطای 401 Unauthorized

علت: Token نامعتبر یا منقضی

راه‌حل

  • Database Token را بررسی کنید
  • مطمئن شوید Token به جدول مورد نظر دسترسی دارد
  • برای JWT Token، ممکن است منقضی شده باشد

❌ خطای 404 Not Found

علت: Table ID یا Row ID نامعتبر

راه‌حل

  • Table ID عددی از URL را استفاده کنید
  • مطمئن شوید جدول حذف نشده باشد
  • Row ID صحیح باشد

❌ خطای "Field not found"

علت: نام فیلد نادرست

راه‌حل

  • Baserow API از field ID عددی استفاده می‌کند (مثل field_123)
  • یا با user_field_names=true از نام فیلد استفاده کنید
  • نام فیلد case-sensitive است

❌ خطای "Value error"

علت: نوع داده نادرست

راه‌حل

  • Number field: عدد ارسال کنید (نه string)
  • Date field: فرمت ISO (2024-01-15)
  • Single Select: مقدار exact از options
  • Link Row: آرایه‌ای از Row IDs ([1, 2, 3])
  • File: ابتدا upload کنید و token را استفاده کنید

❌ خطای Rate Limit (429)

علت: تعداد درخواست‌ها از حد مجاز بیشتر

راه‌حل

  • Cloud: ۲۰۰ req/min
  • Self-hosted: بدون محدودیت
  • Wait node بین درخواست‌ها اضافه کنید
  • از batch operations استفاده کنید

❌ Webhook Event دریافت نمی‌شود

علت: Webhook تنظیم نشده

راه‌حل

  • Baserow از API webhooks پشتیبانی می‌کند
  • از /api/database/webhooks/table/{table_id}/ استفاده کنید
  • URL n8n باید publicly accessible باشد
  • Events: rows.created, rows.updated, rows.deleted

❌ File Upload خطا می‌دهد

علت: فرمت یا سایز نادرست

راه‌حل

  • ابتدا فایل را با /api/user-files/upload-file/ آپلود کنید
  • سپس token فایل را در field ارسال کنید
  • حداکثر سایز بسته به تنظیمات سرور

❌ Link Row مقدار نمی‌گیرد

علت: فرمت نادرست

راه‌حل

  • Link Row مقدار آرایه‌ای از row IDs می‌گیرد: [1, 5, 12]
  • نه نام یا متن
  • ابتدا ردیف مقصد را بسازید و ID را استفاده کنید
اشتراک‌گذاری:

آیا این مستندات مفید بود؟