Интеграция Airtable API с сайтом
Airtable — гибрид таблицы и базы данных с REST API. Популярен как CMS без кода: контент-менеджеры редактируют записи, сайт читает через API. Подходит для каталогов, расписаний, команды, FAQ.
Airtable REST API
import Airtable from 'airtable';
const base = new Airtable({ apiKey: process.env.AIRTABLE_API_KEY })
.base(process.env.AIRTABLE_BASE_ID!);
async function getTeamMembers(): Promise<TeamMember[]> {
const records = await base('Team').select({
filterByFormula: "{Active} = TRUE()",
sort: [{ field: 'Order', direction: 'asc' }],
fields: ['Name', 'Role', 'Photo', 'Bio', 'LinkedIn'],
}).all();
return records.map(record => ({
id: record.id,
name: record.get('Name') as string,
role: record.get('Role') as string,
photo: (record.get('Photo') as Attachment[])?.[0]?.url,
bio: record.get('Bio') as string,
linkedin: record.get('LinkedIn') as string,
}));
}
Создание записей
async function createJobApplication(data: ApplicationData): Promise<string> {
const record = await base('Applications').create({
'Applicant Name': data.name,
'Email': data.email,
'Position': data.position,
'Message': data.message,
'Status': 'New',
'Applied At': new Date().toISOString(),
});
return record.id;
}
ISR (Incremental Static Regeneration) с Airtable
// Next.js: страница обновляется каждые 60 секунд
export async function getStaticProps() {
const items = await getTeamMembers();
return {
props: { items },
revalidate: 60,
};
}
Airtable Webhook (платный тариф) можно использовать для инвалидации кэша при изменениях в базе.
Время реализации: 1–2 рабочих дня.







