Для чего нужна интеграция
Интеграция работает в обе стороны:
Zenclass отправляет в Vakas-tools три типа данных: регистрации (подписка на продукт), отчёты (завершение урока, проверка заданий, окончание доступа) и заказы (оплаты, рассрочки). Эти данные можно передать дальше в amoCRM, Bitrix24, GetCourse, Telegram и другие сервисы.
Также Vakas-tools может отправлять данные в Zenclass: создавать и обновлять студентов, открывать и закрывать доступ к курсам. Например, при оплате в GetCourse автоматически зачислить студента на курс в Zenclass.
Подключение Zenclass
1 Перейдите в Сервисы и доступы -> Добавить сервис -> Zenclass
2 Введите название подключения
3 Введите API-токен
4 Введите секретный ключ вебхука (необязательно)
5 Нажмите «Добавить сервис»
Секретный ключ нужен для проверки подписи входящих вебхуков. Без него Vakas-tools будет принимать любые запросы на адрес вебхука. Рекомендуем указать ключ для безопасности.
Приём данных из Zenclass (вебхуки)
Zenclass может отправлять данные в Vakas-tools через вебхуки. Для этого нужно настроить автоматизацию в Zenclass и указать адрес приёма данных.
Где взять адрес вебхука
1 Откройте нужную базу в Vakas-tools
2 Нажмите «Ссылки»
3 Перейдите во вкладку «Регистрации»
4 Скопируйте адрес
У каждой базы свой уникальный адрес вебхука. Если баз несколько, в каждой будет свой адрес.
Настройка автоматизации в Zenclass
1 Откройте Zenclass -> раздел «Автоматизация»
2 Создайте новый процесс
3 Добавьте действие «Отправить HTTP-уведомление»
4 Вставьте адрес вебхука из Vakas-tools
5 Сохраните процесс
Поддерживаемые данные
Zenclass может отправлять 7 типов данных:
| Событие | Вкладка в Vakas-tools | Описание |
|---|---|---|
| Подписка на продукт | Регистрации | Студент зачислен на курс |
| Оплата принята | Заказы | Оплата за курс прошла |
| Урок завершён | Отчёты | Студент завершил урок |
| Задание отправлено на проверку | Отчёты | Студент отправил домашнее задание |
| Задание принято | Отчёты | Преподаватель принял домашнее задание |
| Доступ к продукту истёк | Отчёты | Срок доступа студента к курсу закончился |
| Изменился статус рассрочки | Заказы | Статус банковской рассрочки изменился |
Какие данные приходят из Zenclass
Из вебхука Zenclass извлекаются следующие данные:
| Шорткод | Описание | Когда приходит |
|---|---|---|
{#email#} |
Email студента | Всегда |
{#positions#} |
Название продукта/курса | Всегда |
{#costMoney#} |
Сумма оплаты | Только при оплате |
{#payment_number#} |
Номер платежа | Только при оплате |
Zenclass не передаёт имя и телефон студента в вебхуках. Эти поля будут пустыми. Если нужно передать имя или телефон в другой сервис, используйте данные, сохранённые ранее в базе контактов.
Общие настройки
Для передачи данных в Zenclass добавьте сервис к нужной базе с помощью кнопки [+Сервис].
Дополнительных настроек у Zenclass нет. После добавления сервиса к базе можно сразу переходить к созданию правил.
Как устроена интеграция
Передача данных в Zenclass настраивается через правила. На странице сервиса три вкладки: Регистрации, Отчёты, Заказы.
1 Правило
2 Условия
3 Действия
Подробная инструкция по созданию правил и настройке условий одинакова для всех сервисов. Здесь описаны только действия, специфичные для Zenclass.
Доступные действия
Нажмите «Действия» напротив триггера. В конструкторе доступно 4 действия:
| Действие | Для чего |
|---|---|
| Создать студента | Создаёт нового студента в школе Zenclass |
| Обновить студента | Обновляет данные существующего студента (имя, телефон, город и др.) |
| Открыть доступ к курсу | Зачисляет студента на курс |
| Закрыть доступ к курсу | Исключает студента из курса |
Создать студента
Создаёт нового студента в школе Zenclass. Если студент с таким email уже существует, действие завершится без ошибки (повторная регистрация пропускается).
| Поле | Обязательное | По умолчанию |
|---|---|---|
| Да | {#email#} |
|
| Имя | Нет | {#name#} |
| Телефон | Нет | {#phone#} |
Первое слово из поля «Имя» станет именем студента, остальные слова станут фамилией.
Обновить студента
Обновляет данные существующего студента. Студент ищется по email. Можно обновить несколько полей за одно действие, добавляя строки.
| Поле | Обязательное | Описание |
|---|---|---|
| Email студента | Да | Email, по которому будет найден студент. По умолчанию {#email#} |
| Поле + Значение | Да | Выберите поле из списка и укажите значение |
Доступные поля для обновления:
| Поле | Описание |
|---|---|
| Имя | Имя студента |
| Отчество | Отчество |
| Фамилия | Фамилия |
| Телефон | Номер телефона |
| Страна | Страна проживания |
| Город | Город проживания |
| О себе | Текст о студенте |
| Дата рождения | Формат: ГГГГ-ММ-ДД |
| Часовой пояс | Часовой пояс студента |
| Новый email | Сменить email студента |
| Дополнительное поле 1..5 | Пользовательские поля школы |
«Дополнительные поля 1..5» соответствуют полям по порядку списка «Доступные поля» в настройках школы Zenclass. Например, если первым в списке стоит «Ник в Telegram», это «Дополнительное поле 1».
Открыть доступ к курсу
Зачисляет студента на курс. Студент ищется по email. Если студент уже зачислен, действие завершится без ошибки.
| Поле | Обязательное | Описание |
|---|---|---|
| Email студента | Да | По умолчанию {#email#} |
| Идентификатор курса | Да | Скопируйте из адресной строки курса в личном кабинете Zenclass |
| Отправить письмо о зачислении | Нет | Если включено, студент получит email-уведомление о зачислении |
Курс должен быть опубликован в Zenclass. Курсы в статусе черновика для API недоступны: вернётся ошибка «Курс не найден».
Идентификатор курса это строка формата UUID (например, a1b2c3d4-e5f6-7890-abcd-ef1234567890). Скопируйте его из адресной строки браузера, когда откроете курс в личном кабинете Zenclass.
Закрыть доступ к курсу
Исключает студента из курса. Студент ищется по email. Если студент уже исключён или не был зачислен, действие завершится без ошибки.
| Поле | Обязательное | Описание |
|---|---|---|
| Email студента | Да | По умолчанию {#email#} |
| Идентификатор курса | Да | Скопируйте из адресной строки курса в личном кабинете Zenclass |
Шорткоды
Во всех текстовых полях действий можно использовать шорткоды. Они подставят данные из входящего события.
| Шорткод | Описание |
|---|---|
{#email#} |
Email контакта |
{#phone#} |
Телефон |
{#name#} |
Имя |
{#costMoney#} |
Сумма оплаты |
{#payedMoney#} |
Оплаченная сумма |
{#payment_number#} |
Номер заказа |
{#positions#} |
Название тарифа/продукта |
Типичные сценарии
Сценарий 1. Оплата в GetCourse -> создать студента и открыть курс в Zenclass
Задача: при оплате курса в GetCourse автоматически создать студента в Zenclass и выдать доступ к курсу.
1 К базе, в которую поступают оплаты из GetCourse, подключите сервис Zenclass
2 Откройте вкладку «Заказы» на странице сервиса Zenclass
3 Создайте правило без условий
4 Добавьте действие «Создать студента»
{#email#}, имя = {#name#}.5 Добавьте действие «Открыть доступ к курсу»
{#email#}, идентификатор курса = скопируйте из Zenclass.6 Сохраните
Сценарий 2. Оплата в Zenclass -> создать сделку в amoCRM
Задача: при оплате в Zenclass автоматически создать сделку в amoCRM с суммой и названием продукта.
1 Настройте вебхук из Zenclass в Vakas-tools
2 Подключите amoCRM как сервис к этой же базе
3 Откройте вкладку «Заказы» на странице сервиса amoCRM
4 Создайте правило без условий
5 Добавьте действие «Создать сделку»
{#positions#}, бюджет = {#costMoney#}.6 Сохраните
Частые вопросы
Ограничения
- API Zenclass ограничивает количество запросов: не более 60 в минуту на одну школу.
- Идентификаторы курсов нужно копировать вручную: API не позволяет получить список курсов.
- Курс должен быть опубликован. Черновики для API недоступны.
- Zenclass не передаёт в вебхуках имя и телефон студента, только email.
- Дополнительных полей в Zenclass не более 5 (custom_1..custom_5).