Подробное, пошаговое, практическое объяснение, как именно реализовать каталог объектов с автоматическим обновлением через Airtable + Wix API, чтобы ты мог понять техническую логику и реализовать это в виде MVP на WIX
✅ ЧТО МЫ СОЗДАЕМ
Каталог объектов на сайте (Wix), который:
получает данные из Airtable,
автоматически обновляется,
позволяет фильтровать объекты,
показывает актуальные цены, планы, фото,
работает как CMS, но с внешним источником данных.
🔥 ОБЩАЯ АРХИТЕКТУРА (простая, но эффективная)
Airtable (данные об объектах)
↓ API
Wix Backend → Wix Database Collections → Отображение на сайте
↓
Партнерские лендинги (фильтрованный каталог)
🚀 ЭТАП 1 — Подготовка Airtable
1. Создаем базу Airtable "Dubai Real Estate Inventory"
Таблица “Projects” с такими колонками:
| Поле | Тип | Описание |
|---|
| project_id | Single line text | Уникальный ID |
| developer | Single line text | DAMAC / EMAAR / Sobha |
| project_name | Single line text | Название проекта |
| location | Single line text | Business Bay / Dubai Creek |
| price_from | Number | Минимальная цена |
| currency | Single line text | AED |
| ROI | Number | Потенциальный ROI |
| photos | Attachment | Фото |
| brochure | Attachment | PDF |
| description | Long text | Описание |
| status | Single select | Off-plan / Ready |
| handover | Date | Квартал/год |
| update_timestamp | Formula | LAST_MODIFIED_TIME() |
🚀 ЭТАП 2 — Получение API ключей
В Airtable:
👉 Заходим в Developer Hub → API Tokens → Create token
Выбираем:
Read access to base
No write needed
Получаем:
Это все, что нужно для интеграции.
🚀 ЭТАП 3 — Подготовка WIX
1. Включить Dev Mode в Wix (Wix Velo)
В Wix Editor → Dev Mode → Turn On
Теперь доступны:
backend-каталог
кодовые файлы
настройки HTTP функций
2. Создать Wix Collections
Тебе нужна коллекция:
"Inventory"
Поля те же самые, что в Airtable.
🔥 Важно:
🚀 ЭТАП 4 — Автоматический импорт через Wix Backend
В разделе Back-end создаем файл:
backend/airtable.js
Код (упрощенный, рабочий):
import {fetch} from 'wix-fetch';
import wixData from 'wix-data';
const API_KEY = "YOUR_AIRTABLE_API_KEY";
const BASE_ID = "YOUR_BASE_ID";
const TABLE_ID = "YOUR_TABLE_ID";
export async function syncInventory() {
let url = `https://api.airtable.com/v0/${BASE_ID}/${TABLE_ID}`;
let response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${API_KEY}`
}
});
let data = await response.json();
for (let record of data.records) {
let item = {
project_id: record.id,
project_name: record.fields.project_name,
developer: record.fields.developer,
location: record.fields.location,
price_from: record.fields.price_from,
ROI: record.fields.ROI,
description: record.fields.description,
};
await wixData.save("Inventory", item);
}
return "Sync complete";
}
🚀 ЭТАП 5 — Запуск синхронизации
1. Добавляем HTTP функцию
Файл:
backend/http-functions.js
import {syncInventory} from 'backend/airtable';
export function get_sync(request) {
return syncInventory().then(result => {
return {
status: 200,
body: result
}
});
}
Теперь:
2. Автоматизация
В Wix Automations:
Trigger: Every 24 hours
Action: Call URL → _functions/sync
Каталог всегда обновлен.
🚀 ЭТАП 6 — Отображение каталога на сайте
1. Создаем Repeater в Wix
Элементы:
фото
название проекта
локация
цена
CTA (view details)
Подключаем к:
→ Dataset → Collection “Inventory”
🚀 ЭТАП 7 — Фильтры для партнеров
Пример фильтров:
Код фильтра на кнопке:
$w("#dataset1").setFilter(
wixData.filter()
.eq("location", $w("#locationDropdown").value)
.ge("ROI", Number($w("#roiInput").value))
);
🚀 ЭТАП 8 — Лендинги для партнеров (white-label)
Для каждого партнера генерируем URL:
domain.com/nl-partner01
domain.com/dk-invest-consult
domain.com/pl-warsaw-office
Каждая страница:
Пример:
$w("#dataset1").setFilter(
wixData.filter().eq("country", "Netherlands")
);
🚀 ЭТАП 9 — Добавляем систему UTM-трекинга
В форму лида добавляем скрытое поле:
$w("#partnerId").value = wixLocation.query.partner;
Теперь каждый лид:
🚀 ЭТАП 10 — Партнерский кабинет
В WIX:
создаем Member Area,
роль: Partner,
даем доступ к: