Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Airtable
Интеграция с API Airtable через управляемую OAuth-аутентификацию. Позволяет работать с базами, таблицами и записями, обеспечивая полный набор операций CRUD.
Быстрый старт
# Получение записей из таблицы
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/airtable/v0/{baseId}/{tableIdOrName}?maxRecords=100')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Базовый URL
https://gateway.maton.ai/airtable/{native-api-path}
Замените {native-api-path} на соответствующий путь API Airtable. Все запросы проксируются через api.airtable.com с автоматической подстановкой OAuth-токена.
Аутентификация
Для всех запросов требуется API-ключ Maton, передаваемый в заголовке:
Authorization: Bearer $MATON_API_KEY
Задайте переменную окружения:
export MATON_API_KEY="YOUR_API_KEY"
Как получить API-ключ
- Зарегистрируйтесь или войдите на maton.ai
- Перейдите в настройки
- Скопируйте ваш API-ключ
Управление подключениями
Управляйте OAuth-подключениями Airtable через панель управления Maton.
Список подключений
GET https://ctrl.maton.ai/connections?app=airtable&status=ACTIVE
Создание подключения
POST https://ctrl.maton.ai/connections
{
"app": "airtable"
}
Получение подключения
GET https://ctrl.maton.ai/connections/{connection_id}
После получения ответа откройте URL для завершения OAuth-авторизации.
Удаление подключения
DELETE https://ctrl.maton.ai/connections/{connection_id}
Выбор подключения
Если у вас несколько подключений, используйте заголовок Maton-Connection, чтобы указать нужное.
Справочник API
Базы
GET /airtable/v0/meta/bases
Схема базы
GET /airtable/v0/meta/bases/{baseId}/tables
Получение записей
GET /airtable/v0/{baseId}/{tableIdOrName}?maxRecords=100
Дополнительные параметры:
- view — выбор представления
- filterByFormula — фильтрация
- fields[] — выбор полей
- sort — сортировка
Получение записи
GET /airtable/v0/{baseId}/{tableIdOrName}/{recordId}
Создание записей
POST /airtable/v0/{baseId}/{tableIdOrName}
Обновление записей
Частичное обновление (PATCH) или полная замена (PUT).
Удаление записей
DELETE /airtable/v0/{baseId}/{tableIdOrName}?records[]=recXXXXX
Пагинация
Используйте параметры pageSize и offset для постраничной загрузки данных.
GET /airtable/v0/{baseId}/{tableIdOrName}?pageSize=50&offset=itrXXXXXXXXXXX
Примеры кода
JavaScript
const response = await fetch('https://gateway.maton.ai/airtable/v0/appXXXXX/TableName', {
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
});
Python
import requests, os
response = requests.get(
'https://gateway.maton.ai/airtable/v0/appXXXXX/TableName',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}
)
Примечания
- ID базы начинается с app
- ID таблицы — с tbl
- ID записи — с rec
- Максимум 100 записей за запрос
- Удаление — до 10 записей за раз
- Формулы используют синтаксис Airtable
Обработка ошибок
- 400 — нет подключения Airtable
- 401 — неверный API-ключ
- 429 — превышен лимит запросов
- 4xx/5xx — ошибка API Airtable
Ресурсы
- Airtable API документация
- Формулы Airtable
- Сообщество Maton
Файл из источника