Інтеграція з GetCourse
Автоматичне створення та розсилка дипломів та сертифікатів з GetCourse після закінчення тренінгу або вебінару. Посилання на готовий диплом буде збережено в даних учня в GetCourse.
Створення процесу
Щоб відправляти запрошення на створення файлів в DiMaker, необхідно створити процес в GetCourse. Для цього потрібно відкрити "Задачі" - "Процеси". Далі - "Створити процес". Заповнити назву і обрати "Тип об'єкту" - "Користувачі".
Вікно створення процесу
Далі у процесі, потрібно обрати вкладку "Процес" та праворуч "Додати блок" - "Операція".
Вікно створення процесу - додавання виклику URL
У з'явившомуся вікні слід обрати "Викликати URL" (найостанніший пункт) та натиснути "Зберегти".
Вікно створення процесу - вікно задачі
Це основне вікно. Потрібно обрати метод POST, а в поле URL вказати рядок запрошення, який повинен містити:
- Адреса запиту - https://dimaker.app/api/v1/create/?
- Токен API - secure (взяти в налаштуваннях, в DiMaker)
- ID документу - doc_id Документ, на основі якого буде виданий сертифікат або диплом
- ID папки - folder_id Папка на Диску, у яку потрібно буде покласти файл
- ID листа - mail_id Шаблон листа, який буде використовуватися для відправки файлу
- Дані для заміни, кожна змінна, що починається з mask_
Спочатку розглянемо всі ці дані докладніше, а потім - яким чином повинен виглядати рядок запрошення.
Змінні
У запиті повинні бути змінні, які забезпечують доступ до облікового запису в DiMaker, вказують, який документ використовувати, до якої папки у Диску зберігати файл тощо.
Обов'язкові змінні форми позначені зірочкою.
-
secure*
Токен (рядок, 36 символів) зі сторінки "Токени API" в DiMaker
-
doc_id*
ID документа (рядок, 36 символів), який буде використовуватися для створення файлу. ID можна отримати в адресній стрічці, коли документ відкритий. Документ не повинен бути в кошику, але може лежати в будь-якій папці Документів.
-
email_send
Час, коли відправляти лист з файлом. Може приймати наступні значення:
onfinish - Розіслати всі листи після створення всіх файлів (за замовчуванням)
oncreate - Відправляти листи зразу ж після створення файлу. При створенні одного файлу onfinish і oncreate ідентичні.
timeout - Розіслати листи через проміжок часу. У цьому випадку необхідно передати ще два параметри:
email_timeout_value - числове значення проміжку, через який відправляти листи, ціле значення
email_timeout_value - одиниця виміру проміжку. Може приймати значення "m" (хвилини), "h" (години), "d" (дні).
Або, для вказання точного часу відправки, необхідно передати час в форматі Unix time в email_timeout_timestamp. Якщо передані timeout і email_timeout_timestamp, то приоритет буде у останньої. -
folder_id
ID папки в Диску (рядок, 36 символів) збереження файлів. Якщо папки немає, вона буде створена автоматично при створенні першого файлу.
-
page_id
Порядковий номер аркуша (число або рядок), якщо в документі є декілька аркушів. Можна передати один номер (перший аркуш - 0), або номера (через кому) аркушів, які потрібно використовувати для створення файлу.
-
result
Визначає у якому вигляді повернути результат. Може приймати значення:
- Значення відсутнє. Буде повернене JSON-рядок із результатом запиту (див. нижче)
- link. При успішному запиті буде повернута рядок, яка містить посилання на створений файл (якщо в запиті було створення декількох файлів, то посилання на перший). Для отримання самого файлу потрібно звернутися за вказаним посиланням. На підготовку самого файлу потрібен час - від 1 до 5 секунд на кожен файл. До того, як файл буде створений, запит на цю адресу буде повертати помилку 404. Якщо запит не призведе до створення файлу, то буде повернена JSON-рядок з помилкою (див. нижче).
- file. При успішному запиті буде повернений сам готовий файл (якщо в запиті було створення декількох файлів, то тільки перший). Так як створення файлу займає 1-5 секунд, то повернення станеться лише після того, як файл буде створений. При великій кількості запитів до API час створення файлу буде збільшений. Якщо файл не буде підготовлений за 30 секунд, то API поверне помилку 404 (хоча сам запит на створення файлу у кінцевому підсумку буде виконаний). Якщо очікується, що запитів до API буде більше ніж 1 запит на 5 секунд, то не варто використовувати цей параметр.
mail_id
ID шаблону листа (рядок, 36 символів) для відправки по електронній пошті. ID можна отримати в адресній стрічці, коли шаблон відкритий. Якщо змінна не передана, то лист не буде відправлено.
Змінні
У документі DiMaker повинна бути принаймні одна змінна для заміни, наприклад %name або %city. Змінна повинна бути написана латиницею. Кириличні %піб або %клас використовувати не можна. Адреса електронної пошти - %email.
При складанні URL в процесах, ім'я змінної повинно починатися зі слова mask_, а далі - змінна з Документа. Наприклад, якщо в документі змінна %name, то ім'я змінної в URL - mask_name, якщо в документі змінна %city, то ім'я змінної - mask_city. Указані для цих змінних дані будуть доставлені в Документ в DiMaker при створенні файлу.
Самі дані можна взяти з того, що надає GetCourse, список на цій сторінці (підзаголовок Змінні по об'єкту "Користувачі"). Значення повинні бути в фігурних дужках, з префіксом object., наприклад {object.first_name}
Якщо потрібно відправити готовий файл по електронній пошті, то потрібно використовувати змінну mask_email, а значення - {object.email}, а якщо задати ім'я готового файлу - mask_filename.
Таких змінних в документі може бути будь-яка кількість. Можна передати в DiMaker будь-які дані з профілю користувача в GetCourse, в тому числі й з додаткових полів, щоб пізніше їх нанести на готовий файл.
Якщо потрібно вставити поточну дату, випадковий номер або інші дані - то слід використовувати функції.
Складання рядка запрошення
Отже, тепер можна скласти рядок URL для Задачі. Краще це робити в будь-якому редакторі, а потім скопіювати в поле URL в Задачі. URL запрошення може виглядати так (кольори для зручності):
Розібрати рядок по ходу:
- https://dimaker.app/api/v1/create/? - адреса запрошення
- mask_name={object.last_name}%20{object.first_name} - в змінну %name в документі буде підставлено ім'я та прізвище з профілю в GetCourse. Зверніть увагу, що між ім'ям та прізвищем потрібен пробіл. Його позначення - %20
- mask_city={object.city} - в змінну %city в документі буде підставлений місто з профілю в GetCourse
- mask_level={object.Рівень} - в змінну %level в документі буде підставлено значення з додаткового поля "Рівень", з профілю в GetCourse
- mask_email={object.email} - адреса електронної пошти відвідувача з профілю в GetCourse
- doc_id=b75b01cf-c732-49c6-80a0-77dd051a8299 - ID Документа в DiMaker
- folder_id=5a390b28-9845-4c01-b94a-7d252b115e2e - ID папки в Диску в DiMaker
- mail_id=fb5eff48-4c08-4df7-a9e6-29e17896317c - ID шаблону листа в DiMaker
- secure=8453bc41-с34у-4ead-80e8-c4e76175a11b - API секретний код з DiMaker
Між змінними - знак &. Пробіли використовувати не можна. Дуже, дуже уважно слід скласти рядок, підставивши свої дані та не втративши жодного символу. Після збереження Задачі, з'єднайте "Початок роботи" та "Задачу".
Вікно створення процесу - процес
У налаштуваннях DiMaker потрібно включити прийом запрошень через API і потім виконайте тестування. Для цього, в GetCourse, теж саме, в Процесі, натисніть "Тестувати", відкриється вікно вибору облікового запису, і встановіть прапорець "Виконувати дії насправді". Якщо все правильно, то в результаті в папці на Диску
Завершення налаштування процесу
Якщо тестування успішне, файл створено і всі дані підставилися, можна завершити налаштування процесу. Для цього потрібно повернутися на вкладку "Основні". В панелі "Масове створення завдань", вкажіть "Періодична перевірка", а в "Правило входження об'єкта" - коли спрацьовувати процесу видачі сертифікату. Наприклад - "Учасник тренінгу", виберіть який тренінг і "Завершив". В результаті, GetCourse буде перевіряти всіх відвідувачів, хто завершив вказаний тренінг, і, якщо все так і є - запускати вказаний процес. У налаштуваннях Тренінгу в GetCourse, обов'язково вкажіть, коли вважати тренінг завершеним. Після запуску процесу нові завдання будуть додаватися для тих відвідувачів, які відповідають умовам пошуку. Зверніть увагу, що GetCourse робить перевірку один раз у 5-15 хвилин. Це означає, що якщо відвідувач завершив тренінг, то сам сертифікат він отримає протягом 15 хвилин (DiMaker обробляє запит одразу ж).
Як зробити, щоб під процес не потрапили всі поточні відвідувачі, яким вже видали диплом через GetCourse або вручну? Там же, в "Правило входження об'єкта", додайте ще одну умову, натиснувши "і", і, наприклад "Дата реєстрації", вкзавши потрібну дату, або групу відвідувача.
Додавання в групу після видачі сертифікату
Якщо потрібно, в GetCourse можна створити групу "Сертифікат видали", в "Користувачі" - "Групи" і додавати всіх користувачів у цю групу, кому був видалий сертифікат через DiMaker. Для цього, в процесі, після виконання запиту на URL, додайте ще один блок, операцію, "Додати в групу", і вкажіть цю групу. Потім зв'яжіть запит до URL і додавання в групу. В результаті, після виконання запиту відвідувач буде доданий в потрібну групу.
Збереження посилання на сертифікат в профілі користувача GetCourse
Якщо потрібно, в GetCourse ви можете зробити збереження посилання на диплом або сертифікат в профілі користувача, кому був видалий сертифікат. Для цього додайте додаткове поле "Сертифікат" в "Користувачі" - "Додаткові поля" - "Додати поле" - "Рядок". Потім, в URL запиту в DiMaker додайте &result=link, а нижче в тому самому вікні - "Записати результат в додаткове поле" і виберіть це поле. В результаті після запиту посилання на диплом буде додано в профіль відвідувача.
Ручне затвердження видачі сертифікатів
Якщо ви хочете вручну перевіряти Ім'я або інші дані, перед тим як видасти сертифікат, то це можна зробити двома шляхами.
Шлях перший: в процесі, в вікні з url відмітьте чекбокс в "Менеджер повинен підтвердити запуск". В результаті менеджер повинен буде затвердити запуск завдання для конкретного відвідувача.
Шлях другий: створити три групи "Очікування сертифіката", "Видати сертифікат" і "Сертифікат видали". Потім, в процесах - два процеси. Перший процес повинен спрацьовувати, коли відвідувач закінчує тренінг і він повинен додаватися в групу "Очікування сертифіката", а другий процес - це запит в DiMaker, за умови, якщо відвідувач є в групі "Видати сертифікат". В тому ж процесі потрібно додати ще дві операції - видалення з групи "Видати сертифікат" і додавання в "Сертифікат видали". В результаті, після проходження курсу відвідувач буде доданий у групу "Очікування сертифіката", потім менеджер повинен буде перевірити всі дані і перемістити відвідувача в групу "Видати сертифікат". Як тільки задача буде створена, відвідувач буде переміщений в групу "Сертифікат видали".