Інтеграція з Тільдою
Автоматичне створення файлів через форму на вашому сайті в Тільді. Відвідувачі вашого сайту зможуть вказати своє Ім'я та інші дані і отримати готовий файл. При необхідності, файл може бути відправлений на електронну пошту одержувача.
Створення форми в Тільді
Щоб відправляти запити на створення файлів, потрібно створити форму на сайті. Ця форма може розміщуватися як у Особистому кабінеті, так і на публічній частині сайту. Можна додати будь-яку форму, доступну в каталозі блоків Тільди.
Налаштування форми
Потрібно клікнути на кнопку "Контент" в лівому углу форми. Потім, два рази клацнути по заголовку "Прийом даних з форми", з'явиться додатковий перемикач "Свій скрипт для прийняття даних", який потрібно обрати. У полі для введення вставити наступну адресу:
https://dimaker.app/api/v1/tilda-create/
Вікно налаштування форми - прийом даних
Необхідно відзначити, що ви потрібно надсилати дані без перезавантаження сторінки (AJAX).
Поля для введення
У документі DiMaker повинна бути хоча б одна змінна для заміни, наприклад %name або %course. Змінна повинна бути написана латиницею. Кириличні %фіо або %клас використовувати не можна. Адреса електронної пошти - %email.
У контенті форми, у Тільді, потрібно додати "Поле в один рядок" (або, наприклад "Ім'я", "Email"). У поле "Заголовок поля" написати які дані запитуються, наприклад "Прізвище ім'я повністю", А у поле "ім'я змінної" слід вказати ім'я змінної без знака % з документа + префікс mask_. Наприклад, якщо в документі %name, то ім'я змінної у Тільді - mask_name, якщо у документі змінна %course, то ім'я змінної - mask_course. Введені відвідувачем дані в ці поля будуть замінені на відповідні змінні у тексті документа.Додавання поля mask_name, яке відповідає %name в документі
Якщо потрібно відправити готовий файл по електронній пошті, і форма знаходиться в публічному доступі (не в Особистому кабінеті), то треба додати поле E-mail для введення адреси електронної пошти. У цьому випадку ім'я змінної буде "mask_email".
Додавання поля mask_email, яке відповідає %email в документі
Таких полів для введення і змінних у документі може бути будь-яка кількість. Можна запитати дані у відвідувача, щоб потім їх нанести на готовий файл.
Якщо потрібно вставити поточну дату, випадковий номер чи інші дані - слід використовувати функції.
Приховані поля форми
Потім потрібно створити кілька схованих полів. Вони забезпечують ідентифікацію форми, вказують на те, який документ використовувати, в яку теку у Диску зберігати файл і т. д.
У формі має бути як мінімум два обов'язкових поля і, за необхідності, кілька необов'язкових.
Обов'язкові поля форми позначені зірочкою.
secure *
Токен доступу. Взяти в необхідній інтеграції з Тильдою, з поля "Токен".
-
doc_id *
ID документа потрібно отримати в адресній стрічці, коли документ відкритий. ID довжиною 36 символів, без слешів. Документ не повинен бути в кошику, але може лежати в будь-якій папці у Документах.
-
mail_id
ID шаблону листа потрібно отримати в адресній стрічці, коли шаблон листа відкритий. ID довжиною 36 символів, без слешів. Якщо змінна не передана, то лист відправлено не буде.
-
email_send
Час, коли відправляти лист із файлом. Може приймати наступні значення:
onfinish - Розіслати всі листи після створення всіх файлів у групі (за замовчуванням)
oncreate - Відсилати листи одразу після створення файлу. При створенні одного файлу onfinish і oncreate ідентичні.
timeout - Розіслати листи через певний проміжок часу. У цьому випадку необхідно передати ще два параметри:
email_timeout_value - числове значення проміжку, через який відправляти листи, ціле значення
email_timeout_value - одиниця вимірювання проміжку. Може приймати значення "m" (хвилини), "h" (години), "d" (дні).Або, для вказання точного часу відправлення, передайте час у форматі unix time у email_timeout_timestamp. Якщо передані обидві змінні, то пріорітет у останній. -
folder_id
Папка для додавання файлів у Диску. Якщо папки немає, то вона буде створена автоматично при створенні першого файлу. ID папки потрібно взяти з адресної стрічки, коли папка відкрита. ID довжиною 36 символів, без слешів.
-
page_id
Якщо в документі є кілька сторінок, то поле page_id можна передати порядковий номер (з 0), або номери (через кому) сторінок, які потрібно використовувати для створення файлу.
Отже в формі мають бути два обов'язкових схованих поля. Це поле Secure.
Приховане поле Secure. Значення поля потрібно взяти у налаштуваннях.
І поле doc_id.
Приховане поле doc_id. Значення поля - ID документа з адресної стрічки.
Крім того, якщо потрібно відправляти файл по електронній пошті, то потрібно вказати ID листа.
Приховане поле mail_id. Значення поля - ID документа з адресної стрічки.
Якщо файл потрібно додати у певну теку у Диску, то потрібно вказати ID папки.
Приховане поле folder_id. Значення поля - ID документа з адресної стрічки.
Аутентифікація
Параметри аутентифікації визначають, хто може використовувати форму.
- Без аутентифікації. Будь-який відвідувач може заповнити форму. Якщо серед полів форми є поля mask_email або mask_phone, то ці дані просто будуть збережені разом з файлом без перевірки.
-
За допомогою електронної пошти. Цей тип аутентифікації дозволяє переконатися, що введений адреса електронної пошти належить саме цьому відвідувачеві шляхом відправки на його адресу одноразового коду. Якщо код не буде введений, то файл не буде створено.
Для аутентифікації за допомогою електронної пошти серед полів форми має бути поле mask_name та включеним перемикачем "Обов'язково для заповнення" або форма повинна бути розміщена у Особистому кабінеті.Параметр "Відправник" дозволяє вказати, якого Відправника використовувати для відправки листа з одноразовим кодом.
Аутентифікація по списку. При включеному параметрі перевіряється не тільки володіння вказаним адресо, але і наявність цього адреси в окремій таблиці. Це дозволяє заздалегідь визначити коло допущених до використання форми осіб. Для цього потрібно натиснути "Налаштувати" безпосередньо під цим параметром. У відкрившомуся вікні слід вибрати таблицю (або документ з таблицею), в якій збережений список адрес, стовпчик, в якому вони вказані. Перемикач "Видалити строку" дозволяє вказати, видаляти чи не строку з цим адресом з таблиці. Таким чином в зазначеній таблиці будуть тільки ті адреси, які ще не використовувались для аутентифікації.
-
За допомогою номера телефону. Цей тип аутентифікації дозволяє переконатися, що номер телефону точно належить саме цьому відвідувачеві шляхом відправки на номер короткого дзвінка. Відвідувачеві потрібно буде ввести 4 останні цифри оберненого номеру. Якщо цього не буде зроблено, то файл не буде створено.
Для аутентифікації за номером телефону серед полів форми має бути поле із іменем mask_name та включеним перемикачем "Обов'язково для заповнення".Аутентифікація по списку. При включеному параметрі перевіряється не тільки володіння вказаним номером телефону, але і наявність цього номера в окремій таблиці. Це дозволяє заздалегідь визначити коло допущених до використання форми осіб. Для цього потрібно натиснути "Налаштувати" безпосередньо під цим параметром. У відкрившомуся вікні слід вибрати таблицю (або документ з таблицею), в якій збережений список номерів, стовпчик, в якому вони вказані. Номери повинні бути виключно в міжнародному форматі, без будь-яких знаків, окрім "+" в початку номера, наприклад - +71234567890. Видалити зайві символи з таблиці можна за допомогою функції "Знайти і замінити" у Словоформі. Перемикач "Видалити строку" дозволяє вказати, видаляти чи не строку з цим номером з таблиці. Таким чином в вказаній таблиці будуть тільки ті номери, які ще не використовувались для аутентифікації.
Дозволити створювати лише один файл
Якщо ця настройка увімкнена, то відвідувач зможе створити лише один файл з введеним електронною адресою або номером телефону. При увімкненій аутентифікації йому заздалегідь потрібно буде підтвердити володіння вказаним адресою або номером. При вимкненій аутентифікації відвідувачеві буде достатньо просто ввести інший адрес або номер, щоб ще раз скористатися віджетом. Таким чином, найнадійніший спосіб запобігти множинному неправомірному використанню віджета - це аутентифікація за заздалегідь вказаним списком. Якщо це неможливо, то аутентифікація за номером телефону дозволяє зменшити кількість повторних неправомірних створень через віджет.
Відправити собі файл після створення
Файл буде відправлений на електронну пошту облікового запису відразу після його створення. У полі "Шаблон листа" можна обрати, який шаблон використовувати для відправки. Заздалегідь у Шаблонах листів можна створити окремий шаблон для відправки листів на електронну пошту облікового запису. Якщо в тексті листа написати змінну %data, то на це місце будуть додані всі дані файлу у вигляді таблиці.
Параметри інтеграції
- Дозволити приймати запити. Якщо перемикач вимкнений, то форма не буде працювати.
- Домен, на якому розміщена форма. Форма може працювати тільки коли сайт відкритий по https. У налаштуваннях сайту на Тільді можна підключити безкоштовний сертифікат і зробити перенаправлення з http на https.
- Приймати запити лише з Особистого кабінету. Якщо форма знаходиться в Особистому кабінеті Тільди, то потрібно увімкнути цей перемикач. Якщо у публічній частині сайту - вимкнути.
Інші налаштування стосуються розміщення форми в Особистому кабінеті і розглянуті нижче.
Робота форми
Залишилося розмістити код на сторінці з формою. Потрібно повністю скопіювати код зі сторінки інтеграції і вставити на потрібні сторінки сайту. Для цього в Тільді потрібно відкрити Налаштування сторінки - Додатково - Код в HEAD і вставити його там. Не слід вставляти цей код на всі сторінки сайту, а тільки на сторінки з формою. Якщо потрібно дозволити користувачу змінювати свій email, то на кожну сторінку Особистого кабінету слід вставити тільки перший рядок коду (link). Також буде потрібно створити індексну сторінку Особистого кабінету.
Тепер можна відкрити опубліковану сторінку і перевірити роботу форми. Буде створений файл і виведений у спливаючому вікні для завантаження. Якщо цього не сталося, потрібно перевірити адресу сайту в параметрах інтеграції, а також коректність secure і doc_id.
Використання даних з Особистого кабінету
Якщо форма вбудована в Особистому кабінеті, то ви можете використовувати ім'я та адресу користувача з його Особистого кабінету.
Для цього потрібно створити приховане поле з назвою поля mask_name (або іншою, відповідною назвою у документі), а в значенні написати ma_name. В цьому випадку в це поле ім'я користувача підставиться автоматично з Особистого кабінету.
Створення файлу за одну кнопку
Форма може містити лише одну кнопку, клік на яку може призводити до створення файлу, без необхідності заповнювати поля (наприклад, коли ім'я береться з даних облікового запису). Оскільки Тільда не вміє надсилати форму лише з прихованими полями, то необхідно, наприклад, створити чекбокс з погодженням на обробку даних.
Мої сертифікати
Для виведення моїх сертифікатів потрібно створити форму, в якій, як зазначено вище, вкажіть "Свій скрипт для прийняття даних". Потім додайте приховані поля secure та doc_id. У останнє поле вкажіть значення all. При відкритті цієї сторінки в Особистому кабінеті відвідувач побачить на місці форми список всіх сертифікатів з можливістю їх завантажити.