Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Typeform
Интеграция с API Typeform через управляемую OAuth-аутентификацию. Позволяет создавать формы, управлять ответами и получать аналитические данные. Используйте этот инструмент, когда необходимо работать с опросами и результатами Typeform.
Быстрый старт
# Получить список форм
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/typeform/forms?page_size=10')
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/typeform/{native-api-path}
Замените {native-api-path} на соответствующий путь API Typeform. Прокси автоматически перенаправляет запросы к api.typeform.com и добавляет OAuth-токен.
Аутентификация
Все запросы требуют API-ключ Maton в заголовке:
Authorization: Bearer $MATON_API_KEY
Установите переменную окружения:
export MATON_API_KEY="YOUR_API_KEY"
Получение API-ключа
- Зарегистрируйтесь или войдите на maton.ai
- Перейдите в настройки аккаунта
- Скопируйте ваш API-ключ
Управление подключениями
Управляйте OAuth-подключениями Typeform через сервис управления соединениями.
Список подключений
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=typeform&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Создание подключения
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'typeform'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
После создания откройте полученный URL в браузере, чтобы завершить OAuth-авторизацию.
Удаление подключения
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Выбор подключения
Если у вас несколько подключений, используйте заголовок Maton-Connection для указания нужного:
Maton-Connection:
Если заголовок не указан, используется подключение по умолчанию (самое старое активное).
API Reference
Пользователь
GET /typeform/me
Формы
- Получить список форм:
GET /typeform/forms - Получить форму:
GET /typeform/forms/{formId} - Создать форму:
POST /typeform/forms - Обновить форму:
PUT /typeform/forms/{formId} - Удалить форму:
DELETE /typeform/forms/{formId}
Ответы
GET /typeform/forms/{formId}/responses?page_size=25
С поддержкой фильтров по дате и статусу завершения.
Аналитика
GET /typeform/insights/{formId}/summary
Обработка ошибок
- 400 — отсутствует подключение Typeform
- 401 — неверный или отсутствующий API-ключ
- 429 — превышен лимит запросов
- 4xx/5xx — ошибка со стороны API Typeform
Устранение неполадок
Проверьте, что переменная окружения MATON_API_KEY установлена и корректна. Убедитесь, что путь URL начинается с typeform, иначе запрос не будет обработан корректно.
Файл из источника