Цель — не просто собрать формы с двух вкладок «Заказать исследование» и «Участвовать в исследовании», а превратить сайт на WordPress в единый центр управления респондентами: регистрировать людей через простую регистрацию по телефону или e‑mail, хранить структурированные AI‑ready данные, запускать рекрутинг и рассылки, а также вести обсуждения на Форуме. Ниже — подробное техническое задание, архитектурные решения, плагины, API и варианты чат‑ботов.
1. Общая архитектура и идеи хранения данных
Основная идея — создать единый источник правды: Custom Post Type (CPT) «respondents» (респонденты) + ACF/Meta для полей. Формы на страницах «Фокус‑группа», «Форум» и в Личном кабинете пишут в этот CPT через REST API. Для фильтрации и быстрых выборок — индексировать данные в поисковом движке (Elasticsearch/Algolia) и добавлять фасеты через FacetWP.
- Custom Post Type: respondents (или participants)
- Таксономии/мета: город, сфера интересов, статус участия (Заказать/Участвовать/Потом), готовность очно/онлайн, стадия проекта и т. п.
- Полнотекстовый поиск и фильтры: ElasticPress + Elasticsearch или Algolia
- AI‑слой: хранить тексты ответов и векторные эмбеддинги (OpenAI/CoHere) в отдельном векторном хранилище (Pinecone/Weaviate/Milvus) для кластеризации и быстрого поиска по смыслу
2. ТЗ: этапы разработки
Этап 0 — Подготовка (1 неделя)
- Аудит текущих форм на странице Фокус‑группа и структуры сайта.
- Согласовать поля карточки пользователя/опроса (см. ниже).
- Выбрать плагины и сервисы (формы, авторизация, хранение эмбеддингов, поиск).
Этап 1 — Модель данных и бекенд (1–2 недели)
- Создать CPT «respondents» и дополнительные CPT для заявок на Форум (forum_requests) при необходимости.
- Настроить ACF/Meta для всех полей: имя, nick, e‑mail, телефон, город, сфера интересов, тип заявки, стадия проекта, файлы и т.д.
- Добавить REST API endpoints (WP REST API или отдельный namespace) для создания/обновления/получения данных.
- Реализовать webhook для отправки данных в внешние системы (Zapier / n8n / Make).
Этап 2 — Регистрация и вход без пароля (OTP / magic link) (1 неделя)
- Простая регистрация: пользователь вводит телефон или e‑mail. Система отправляет одноразовый код (OTP) или временную ссылку для входа.
- Реализовать хранение и обновление контакта; на вход — выдавать JWT или WP cookie.
- Провести защиту от перебора и лимиты отправок (rate limit).
Этап 3 — Личный кабинет (2–3 недели)
- Страница профиля: редактирование полей — имя/ник, e‑mail, телефон, город, сфера интересов, выбор направления (Заказать / Участвовать / Потом).
- Просмотр связанных заявок: фокус‑группы, форум, история отправок, статусы.
- Интерфейс для загрузки файлов, подтверждения согласий, подписок на рассылки.
- Инструменты приватности: пользователь может экспортировать/удалить данные (GDPR/Закон РФ о персональных данных).
Этап 4 — Форум (2–3 недели)
- Решение: выбрать между готовым форумным плагином и кастомной реализацией на CPT. Рекомендация — wpForo/ bbPress (если нужен классический форум) или кастомный CPT + ACF, если нужен строго контролируемый поток заявок. Для гибкой фильтрации лучше CPT + кастомный фронт под Elementor.
- Структура карточки заявки (см. ниже). Каждая карточка — запись CPT forum_requests, видимая в ленте с фильтрами.
- Модерация: статус заявки (на модерации / опубликовано / отклонено), уведомления модераторам.
Этап 5 — Интеграции и автоматизация (2–4 недели)
- Подключить email и SMS‑провайдеры (SendGrid / Brevo / Twilio) для рассылок и OTP.
- Настроить интеграции: Zapier / Make / n8n для передачи данных в CRM и BI.
- Аналитика: отправка данных в Power BI / Tableau / Looker Studio.
Этап 6 — AI и аналитика (2–4 недели)
- Настроить NLP‑пайплайн: OpenAI/GPT или Cohere для обработки ответов, извлечения тем и тональности.
- Генерация эмбеддингов и хранение в Pinecone/Weaviate для поиска по смыслу и кластеризации.
- Дашборды и автоотчеты (Google Data Studio / Power BI) с ключевыми метриками.
Этап 7 — Тестирование и запуск (1–2 недели)
- Тестирование flows: регистрация, отправка заявок, фильтрации, рассылки, API.
- Производительность, безопасность, резервное копирование.
3. Поля карточки (Форум / Заявка)
Форма для Форум‑заявки должна содержать:
- Имя и фамилия / Ник
- Контакт: e‑mail или Telegram (поле)
- Тип заявки: (выпадающий список) — Проверка идеи, Аудит проекта, Хочу в Фокус‑группу, Хочу участвовать, Другое
- Название проекта (текст)
- Краткое описание (до 500 знаков)
- Что вы хотите от TRAIWO (чекбоксы, multi): получить обратную связь, проверить жизнеспособность и т. п.
- Сфера проекта (select): Образование, Финансы, ИИ/Технологии, Здоровье, Ритейл, Социальные инициативы, Другое
- Стадия проекта (radio): идея, прототип/MVP, запуск, уже работает, другое
- Готовы ли оплатить базовую проверку (select): Да / Пока нет
- Файлы: загрузка презентации
- Согласие на обработку данных
- Кнопка отправки
4. Варианты реализации карточек и интерфейсов
Два основных подхода:
- Custom Post Type + ACF (рекомендую): гибкость, доступность через REST API, легко индексируется и фильтруется. Подходит для AI‑аналитики и интеграций.
- Плагины форм, сохраняющие записи в собственной таблице (например Gravity Forms Entries): быстрее собрать, но сложнее масштабировать и связать с AI‑слоем.
Для динамики карточек лучше CPT, а фронт — Elementor Pro (Loop, Listing) с кастомными шаблонами или с дополнением FacetWP для фильтров.
5. Рекомендуемые плагины и сервисы
Формы и логика
- Gravity Forms (платно) — мощные формы, файлы, webhooks, conditional logic
- Fluent Forms — современная, быстрый фронт, webhooks
- Elementor Pro Form — подходит для простых задач и оформления, но для интеграций лучше в связке с GF/Fluent
User management / Личный кабинет
- Ultimate Member — гибкие профили, роли, редактирование
- ProfilePress / Profile Builder — простая кастомизация профиля
- WP User Manager — лёгкий и расширяемый
- Чтобы сделать вход по OTP/magic link: Passwordless Login, WP OTP Login, miniOrange OTP (платно) или кастомная реализация через REST API + Twilio/SendGrid
Forum
- wpForo — современный полнофункциональный форум
- bbPress — лёгкий и проверенный временем
- Если нужен контролируемый поток заявок — CPT + фронт на Elementor
Фильтры и поиск
- FacetWP — мощные фильтры по мета и таксономиям
- ElasticPress (+Elasticsearch) или Algolia — быстрый поиск и ранжирование
Интеграции и автоматизация
- Zapier / Make / n8n — для связки форм с CRM, почтой, таблицами
- Pinecone / Weaviate / Milvus — хранение эмбеддингов
- SendGrid / Brevo / Mailgun — email
- Twilio / Vonage — SMS
AI и NLP
- OpenAI (GPT + embeddings) — кластеризация, тональность, извлечение тем
- Google Cloud Natural Language / AWS Comprehend — тональность, сущности
- Hugging Face models — гибкие локальные решения
6. Примеры API – схемы и примеры запросов
Ниже — пример REST API, который можно реализовать в WordPress (wp-json/traiwo/v1/…)
GET /wp-json/traiwo/v1/respondents?city=Екатеринбург&interest=IT&participation=Участвовать&format=json
Response:
{
"total": 23,
"items": [
{
"id": 324,
"name": "Иван П.",
"email": "ivan@example.ru",
"phone": "+7926xxxxxxx",
"city": "Екатеринбург",
"interest": ["IT"],
"participation": "Участвовать",
"ready_for_onsite": true,
"stage": "Есть прототип",
"created_at": "2025-09-01T12:34:00Z"
}
]
}
Создание заявки с фронта (Фокус‑группа / Форум):
POST /wp-json/traiwo/v1/forum_requests
Headers: Authorization: Bearer {token}
Body (multipart/form-data):
{
"name": "Мария",
"contact": "maria@ya.ru",
"type": "Хочу в Фокус-группу",
"title": "Новая идея для EdTech",
"description": "Кратко о проекте...",
"tags": ["Образование","ИИ"],
"stage": "Идея",
"files[]": (pdf,pptx)
}
Webhook для передачи в аналитическую систему:
POST https://hooks.example.com/receive
{
"event": "new_respondent",
"payload": { ... }
}
7. Чат‑боты и AI‑модерация
Два направления:
- Маркетинговый / коммуникационный бот: ManyChat (Telegram/WhatsApp/FB), Chatfuel, или кастомный Telegram‑бот на webhook + интеграция с SendGrid/Twilio для уведомлений.
- AI‑модератор / сбор быстрых отзывов: Botpress или Rasa + подключение к OpenAI для анализа ответов в реальном времени. Для модерации можно использовать OpenAI Moderation API или Perspective API.
Пример задач для разработчика чат‑бота:
- Приём заявок: бот принимает краткую форму и сохраняет через REST API в forum_requests.
- Скрининг: бот проводит быстрый опрос (2–4 вопроса) и помечает результат в карточке.
- Модерация: сообщения проверяются на токсичность/спам (OpenAI Moderation).
- AI‑помощник в обсуждении: бот может суммировать поток сообщений по теме через GPT — «сводка 5 пунктов».
8. Примеры интеграций и потоков
- Форма → Gravity Forms → webhook → n8n → запись в CPT + отправка в Pinecone (эмбеддинги) + уведомление менеджеру в Telegram.
- Личный кабинет обновил профиль → триггер в Zapier → обновление сегмента в MailChimp / ActiveCampaign.
- После обучения курса — автоматическая рассылка опроса (Typeform/Fluent Forms) и последующий NLP‑анализ ответов.
9. Выбор варианта для Личного кабинета
Рекомендация: гибридный подход.
- Использовать Elementor Pro для визуального оформления страниц профиля, списков заявок и шаблонов карточек.
- Для управления пользователями и логикой — выбрать плагин профилей (Ultimate Member / ProfilePress / WP User Manager), который поддерживает REST API и позволяет задать роли и права.
- Для passwordless входа — либо готовый плагин OTP/magic link (miniOrange, Passwordless Login) либо небольшая кастомная реализация через WP REST API + Twilio/SendGrid. Это важно: Elementor не заменит логику авторизации.
10. Дополнительные фичи и рекомендации
- Геймификация: начисление баллов за участие, история активности в ЛК, привязка скидок — реализуется через custom meta и простую логику на PHP/JS.
- A/B тестирование форм: Gravity Forms + плагин для A/B или использовать Google Optimize / собственную логику на фронте.
- Автоотрядка (auto screening) — короткие скрининги для отсева неподходящих резидентов.
- Отчёты: настроить Looker Studio / Power BI с коннектором к базе/REST API; настроить периодические автосводки.
11. Критерии приемки
- Регистрация по телефону/e‑mail с подтверждением работает без сбоев в 99% случаев.
- Данные сохраняются в CPT и доступны через REST API с фильтрацией.
- Форма Форум создаёт запись со всеми полями и загруженными файлами, доступна модерации.
- Поиск/фильтры дают корректные выборки (например: студенты из Екатеринбурга + IT + готовые участвовать очно).
- Интеграция с почтой и SMS протестирована на реальных примерах.
- AI‑обработка базовых текстовых полей (тональность, кластеризация) работает на тестовом наборе и выводит понятные метрики.
12. Примерная оценка сроков и команды
Полная реализация — от 6 до 12 недель в зависимости от глубины AI‑аналитики и объема интеграций. Команда: 1 project‑manager, 1 backend‑developer (WP/PHP + REST), 1 frontend‑developer (Elementor, JS), 1 devops/analytics, 1 AI‑engineer (если нужна продвинутая обработка).
Заключение
Сделать TRAIWO удобной платформой для рекрутинга и исследований можно быстро, если принять за основу CPT для респондентов, гибкую форму регистрации по телефону/e‑mail и связать это с мощными инструментами фильтрации и AI‑анализом. Elementor Pro хорошо подходит для визуала, но бизнес‑логику авторизации и хранения лучше доверить специализированным плагинам и API. Готов дать более точный план по внедрению выбранных плагинов и набору API, если вы подтвердите предпочтения по SMS‑провайдеру и инструменту для эмбеддингов.