Szczegółowe, krok po kroku, praktyczne wyjaśnienie, jak zrealizować katalog obiektów z automatycznym aktualizowaniem przez Airtable + Wix API, abyś mógł zrozumieć logikę techniczną i zrealizować to w formie MVP na WIX
✅ CO TWORZYMY
Katalog obiektów na stronie (Wix), który:
pobiera dane z Airtable,
automatycznie się aktualizuje,
pozwala filtrować obiekty,
pokazuje aktualne ceny, plany, zdjęcia,
działa jak CMS, ale z zewnętrznym źródłem danych.
🔥 OGÓLNA ARCHITEKTURA (prosta, ale skuteczna)
Airtable (dane o obiektach)
↓ API
Wix Backend → Wix Database Collections → Wyświetlanie na stronie
↓
Strony partnerskie (filtrowany katalog)
🚀 ETAP 1 — Przygotowanie Airtable
1. Tworzymy bazę Airtable "Dubai Real Estate Inventory"
Tabela “Projects” z takimi kolumnami:
| Pole | Typ | Opis |
|---|
| project_id | Tekst jednoliniowy | Unikalny ID |
| developer | Tekst jednoliniowy | DAMAC / EMAAR / Sobha |
| project_name | Tekst jednoliniowy | Nazwa projektu |
| location | Tekst jednoliniowy | Business Bay / Dubai Creek |
| price_from | Liczba | Minimalna cena |
| currency | Tekst jednoliniowy | AED |
| ROI | Liczba | Potencjalny ROI |
| photos | Załącznik | Zdjęcia |
| brochure | Załącznik | PDF |
| description | Tekst długi | Opis |
| status | Wybór jednolity | Off-plan / Gotowy |
| handover | Data | Kwartal/rok |
| update_timestamp | Formuła | LAST_MODIFIED_TIME() |
🚀 ETAP 2 — Uzyskanie kluczy API
W Airtable:
👉 Wchodzimy w Developer Hub → API Tokens → Create token
Wybieramy:
Dostęp do odczytu bazy
Brak potrzeby zapisu
Uzyskujemy:
Klucz API
ID bazy
ID tabeli
To wszystko, co potrzebne do integracji.
🚀 ETAP 3 — Przygotowanie WIX
1. Włącz tryb dewelopera w Wix (Wix Velo)
W Wix Editor → Dev Mode → Turn On
Teraz dostępne:
katalog backendowy
pliki kodu
ustawienia funkcji HTTP
2. Stwórz kolekcje Wix
Potrzebujesz kolekcji:
"Inventory"
Pola są takie same, jak w Airtable.
🔥 Ważne:
🚀 ETAP 4 — Automatyczny import przez Wix Backend
W sekcji Back-end tworzymy plik:
backend/airtable.js
Kod (uproszczony, działający):
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 "Synchronizacja zakończona";
}
🚀 ETAP 5 — Uruchomienie synchronizacji
1. Dodaj funkcję HTTP
Plik:
backend/http-functions.js
import {syncInventory} from 'backend/airtable';
export function get_sync(request) {
return syncInventory().then(result => {
return {
status: 200,
body: result
}
});
}
Teraz:
2. Automatyzacja
W Wix Automations:
Trigger: Co 24 godziny
Action: Wywołaj URL → _functions/sync
Katalog zawsze aktualny.
🚀 ETAP 6 — Wyświetlanie katalogu na stronie
1. Tworzymy Repeater w Wix
Elementy:
zdjęcie
nazwa projektu
lokalizacja
cena
CTA (zobacz szczegóły)
Podłączamy do:
→ Dataset → Kolekcja “Inventory”
🚀 ETAP 7 — Filtry dla partnerów
Przykład filtrów:
Kod filtru na przycisku:
$w("#dataset1").setFilter(
wixData.filter()
.eq("location", $w("#locationDropdown").value)
.ge("ROI", Number($w("#roiInput").value))
);
🚀 ETAP 8 — Strony docelowe dla partnerów (white-label)
Dla każdego partnera generujemy URL:
domain.com/nl-partner01
domain.com/dk-invest-consult
domain.com/pl-warsaw-office
Każda strona:
Przykład:
$w("#dataset1").setFilter(
wixData.filter().eq("country", "Netherlands")
);
🚀 ETAP 9 — Dodajemy system śledzenia UTM
Do formularza leada dodajemy ukryte pole:
$w("#partnerId").value = wixLocation.query.partner;
Teraz każdy lead:
🚀 ETAP 10 — Panel partnerski
W WIX: