Документация / Другие LMS / Интеграция с Zenclass (приём и передача данных)

Интеграция с Zenclass (приём и передача данных)

Для чего нужна интеграция

Интеграция работает в обе стороны:

Zenclass отправляет в Vakas-tools три типа данных: регистрации (подписка на продукт), отчёты (завершение урока, проверка заданий, окончание доступа) и заказы (оплаты, рассрочки). Эти данные можно передать дальше в amoCRM, Bitrix24, GetCourse, Telegram и другие сервисы.

Также Vakas-tools может отправлять данные в Zenclass: создавать и обновлять студентов, открывать и закрывать доступ к курсам. Например, при оплате в GetCourse автоматически зачислить студента на курс в Zenclass.

Подключение Zenclass

1 Перейдите в Сервисы и доступы -> Добавить сервис -> Zenclass

2 Введите название подключения

Например: «Zenclass Школа маркетинга».

3 Введите API-токен

Токен выпускается в настройках школы Zenclass: раздел «Основные настройки» -> вкладка «API». При выпуске включите токену права: school, student и student_course.

4 Введите секретный ключ вебхука (необязательно)

Ключ генерируется в Zenclass в разделе «Автоматизация» при сохранении процесса с действием «Отправить HTTP-уведомление». У каждого процесса свой ключ. Если процессов несколько, перечислите все ключи через запятую.

5 Нажмите «Добавить сервис»

Сервис появится в списке.

Секретный ключ нужен для проверки подписи входящих вебхуков. Без него Vakas-tools будет принимать любые запросы на адрес вебхука. Рекомендуем указать ключ для безопасности.

Приём данных из Zenclass (вебхуки)

Zenclass может отправлять данные в Vakas-tools через вебхуки. Для этого нужно настроить автоматизацию в Zenclass и указать адрес приёма данных.

Где взять адрес вебхука

1 Откройте нужную базу в Vakas-tools

2 Нажмите «Ссылки»

3 Перейдите во вкладку «Регистрации»

Адрес вебхука для Zenclass отображается в этой вкладке.

4 Скопируйте адрес

Нажмите кнопку копирования рядом с адресом. Этот адрес нужно будет вставить в настройках автоматизации Zenclass.

У каждой базы свой уникальный адрес вебхука. Если баз несколько, в каждой будет свой адрес.

Настройка автоматизации в Zenclass

1 Откройте Zenclass -> раздел «Автоматизация»

2 Создайте новый процесс

Выберите событие, по которому нужно отправлять данные (например, «Подписка на продукт»).

3 Добавьте действие «Отправить HTTP-уведомление»

4 Вставьте адрес вебхука из Vakas-tools

Адрес скопируйте из нужной базы: Ссылки -> вкладка «Регистрации».

5 Сохраните процесс

При сохранении Zenclass сгенерирует секретный ключ. Скопируйте его и добавьте в настройки подключения Zenclass в Vakas-tools.

Поддерживаемые данные

Zenclass может отправлять 7 типов данных:

Событие Вкладка в Vakas-tools Описание
Подписка на продукт Регистрации Студент зачислен на курс
Оплата принята Заказы Оплата за курс прошла
Урок завершён Отчёты Студент завершил урок
Задание отправлено на проверку Отчёты Студент отправил домашнее задание
Задание принято Отчёты Преподаватель принял домашнее задание
Доступ к продукту истёк Отчёты Срок доступа студента к курсу закончился
Изменился статус рассрочки Заказы Статус банковской рассрочки изменился

Какие данные приходят из Zenclass

Из вебхука Zenclass извлекаются следующие данные:

Шорткод Описание Когда приходит
{#email#} Email студента Всегда
{#positions#} Название продукта/курса Всегда
{#costMoney#} Сумма оплаты Только при оплате
{#payment_number#} Номер платежа Только при оплате

Zenclass не передаёт имя и телефон студента в вебхуках. Эти поля будут пустыми. Если нужно передать имя или телефон в другой сервис, используйте данные, сохранённые ранее в базе контактов.

Общие настройки

Для передачи данных в Zenclass добавьте сервис к нужной базе с помощью кнопки [+Сервис].

Дополнительных настроек у Zenclass нет. После добавления сервиса к базе можно сразу переходить к созданию правил.

Как устроена интеграция

Передача данных в Zenclass настраивается через правила. На странице сервиса три вкладки: Регистрации, Отчёты, Заказы.

1 Правило

Определяет, при каких условиях передавать данные. Чтобы передавать все данные, обязательно создайте правило без условий.

2 Условия

Фильтруют, какие события попадут под правило. Если условий нет, правило срабатывает для всех поступающих событий.

3 Действия

Определяют, что именно сделать в Zenclass: создать студента, обновить данные, открыть или закрыть доступ к курсу.

Подробная инструкция по созданию правил и настройке условий одинакова для всех сервисов. Здесь описаны только действия, специфичные для Zenclass.

Доступные действия

Нажмите «Действия» напротив триггера. В конструкторе доступно 4 действия:

Действие Для чего
Создать студента Создаёт нового студента в школе Zenclass
Обновить студента Обновляет данные существующего студента (имя, телефон, город и др.)
Открыть доступ к курсу Зачисляет студента на курс
Закрыть доступ к курсу Исключает студента из курса

Создать студента

Создаёт нового студента в школе Zenclass. Если студент с таким email уже существует, действие завершится без ошибки (повторная регистрация пропускается).

Поле Обязательное По умолчанию
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 = {#email#}, имя = {#name#}.

5 Добавьте действие «Открыть доступ к курсу»

Email = {#email#}, идентификатор курса = скопируйте из Zenclass.

6 Сохраните

Сценарий 2. Оплата в Zenclass -> создать сделку в amoCRM

Задача: при оплате в Zenclass автоматически создать сделку в amoCRM с суммой и названием продукта.

1 Настройте вебхук из Zenclass в Vakas-tools

В Zenclass создайте процесс автоматизации на событие «Оплата принята» и укажите адрес вебхука из Vakas-tools.

2 Подключите amoCRM как сервис к этой же базе

(кнопка [+Сервис]).

3 Откройте вкладку «Заказы» на странице сервиса amoCRM

4 Создайте правило без условий

5 Добавьте действие «Создать сделку»

Название = {#positions#}, бюджет = {#costMoney#}.

6 Сохраните

Частые вопросы

Где взять API-токен Zenclass?
В личном кабинете Zenclass: «Основные настройки» -> вкладка «API». При выпуске токена включите права: school, student и student_course.
Где взять идентификатор курса?
Откройте курс в личном кабинете Zenclass. Идентификатор (UUID) находится в адресной строке браузера.
Ошибка «Курс не найден»
Курс должен быть опубликован. Черновики для API недоступны. Опубликуйте курс в Zenclass и попробуйте снова.
Ошибка «Этот email уже используется»
Студент с таким email уже есть в школе. Это не ошибка: действие «Создать студента» в этом случае завершается успешно. Если нужно обновить данные, используйте действие «Обновить студента».
Не приходят данные из Zenclass
Проверьте: 1) В Zenclass создан процесс автоматизации с действием «Отправить HTTP-уведомление». 2) В настройках процесса указан правильный адрес вебхука из Vakas-tools. 3) Процесс активен (не приостановлен).
Ошибка подписи вебхука (403)
Секретный ключ в настройках подключения Zenclass в Vakas-tools не совпадает с ключом в Zenclass. Скопируйте ключ заново из настроек процесса автоматизации. Если процессов несколько, перечислите все ключи через запятую.
Как обновить несколько полей студента за раз?
В действии «Обновить студента» нажмите кнопку добавления строки. Каждая строка содержит поле и значение. Можно добавить столько строк, сколько нужно.
Что такое «Дополнительное поле 1..5»?
Это пользовательские поля школы Zenclass. Номер поля соответствует порядку в списке «Доступные поля» в настройках школы. Например, если первым стоит «Ник в Telegram», это «Дополнительное поле 1».
Zenclass не передаёт имя и телефон в вебхуке?
Да, в вебхуках Zenclass передаётся только email, название продукта и данные оплаты. Имя и телефон не передаются. Если эти данные нужны, они должны быть уже сохранены в базе контактов из другого источника.
Можно ли получить список курсов из Zenclass?
Нет. API Zenclass не поддерживает получение списка курсов. Идентификатор курса нужно копировать вручную из адресной строки браузера.

Ограничения

  • API Zenclass ограничивает количество запросов: не более 60 в минуту на одну школу.
  • Идентификаторы курсов нужно копировать вручную: API не позволяет получить список курсов.
  • Курс должен быть опубликован. Черновики для API недоступны.
  • Zenclass не передаёт в вебхуках имя и телефон студента, только email.
  • Дополнительных полей в Zenclass не более 5 (custom_1..custom_5).
×