Мова: Українська
У цій статті описано, як налаштувати автоматизацію, яка створює новий запис в одній формі щоразу, коли запис додається до іншої, в тому числі, коли ці дві форми належать до різних баз даних.
Ми виступаємо в ролі адміністратора, який підтримує дві команди, що спільно використовують процес направлення. Команда "Здоров'я" реєструє направлення у формі Направлення. Коли направлення позначається для програми "Харчування", команда "Харчування" повинна бачити відповідний запис, що з'являється в їхній власній формі Реєстрація на програму харчування, без необхідності повторного введення даних.
Це дає результат, близький до Імпорту записів з однієї форми ActivityInfo в іншу, але він виконується автоматично і безперервно, і тільки для записів, які відповідають обраній вами умові, на відміну від одноразового імпорту, який ви запускаєте вручну.
Вбудований в ActivityInfo крок вебхука може надсилати деталі направлення в іншу систему, але він не може самостійно автентифікувати запит, який надсилає, а створення запису через API ActivityInfo вимагає автентифікації. Цей посібник направляє запит через Pipedream, безкоштовну платформу для робочих процесів, яка отримує вебхук, а потім надсилає автентифікований запит назад до ActivityInfo.
Перш ніж почати
- Форма Направлення для відстеження з такими полями (підійде будь-яка форма, просто адаптуйте посилання на поля до вашої):
| Поле | Код | Тип ||-------|------|------|| Повне ім'я | NAME | Текст | | Програма | PROGRAM | Одиночний вибір (параметри включають "Харчування") |
| Поле | Код | Тип ||-------|------|------|| Повне ім'я | NAME | Текст |
- Ідентифікатори форм Направлення та Реєстрація на програму харчування. Відкрийте кожну форму та перевірте адресний рядок браузера, або виберіть Налаштування форми, а потім Експортувати поля, що завантажить електронну таблицю з переліком ідентифікатора форми поряд з ідентифікатором та кодом кожного поля.
- Персональний токен API з областю застосування "Читання-запис".
- Безкоштовний обліковий запис Pipedream.
Ми посилаємося на поля за їхнім кодом (NAME, а не [Повне ім'я]). Якщо ваші поля ще не мають | кодів, знайдіть хвилину, щоб додати їх у конструкторі форм. Коди зберігають формули та шаблони читабельними | і не змінюються при перейменуванні.
Крок 1: Створіть робочий процес Pipedream для отримання вебхука
Увійдіть до Pipedream і створіть новий, порожній робочий процес.
New workflow Дайте назву вашому новому проєкту, натисніть "Create project and continue", введіть назву робочого процесу і натисніть "Create Workflow".
Create a new project
Name project
Create workflow Натисніть "Add Trigger" і виберіть New HTTP / Webhook Requests. Встановіть для авторизації значення "None". Натисніть "Save and continue". Pipedream згенерує унікальну URL-адресу для робочого процесу.
Trigger
Authorization to None
Custom workflow URL Скопіюйте цю URL-адресу. Ви вставите її в ActivityInfo на Кроці 5.
Крок 2: Додайте автоматизацію в ActivityInfo
Відкрийте базу даних, яка містить форму Направлення, і виберіть "Налаштування бази даних".
Виберіть форму "Направлення".
Виберіть Автоматизація на панелі деталей форми та виберіть Додати автоматизацію. Назвіть автоматизацію "Створити запис про реєстрацію на програму харчування".
Add automation
Крок 3: Виберіть тригер
Виберіть Натисніть тут, щоб почати.
Click here to get started Зі списку типів тригерів виберіть При додаванні запису.
On record added trigger Дайте тригеру назву, наприклад, "Направлення додано", а потім виберіть Вибрати форму.
Label trigger Виберіть форму Направлення та підтвердіть, натиснувши Вибрати форму.
Select form Виберіть Готово.
On record added trigger
Крок 4: Новий крок для фільтрації записів програми "Харчування"
Виберіть Додати крок, а потім Фільтр.
Add a new step
Filter step Дайте кроку назву, наприклад, "Лише направлення на програму харчування".
Введіть умову:
PROGRAM == "Nutrition"
Виберіть Готово.
Nutrition referrals only
Лише направлення, які відповідають цій умові, переходять до наступного кроку. Дивіться довідку по кроку фільтрації.
Крок 5: Надішліть направлення до Pipedream
Виберіть Додати крок.
Add a new step Виберіть Дія.
Action Виберіть Викликати вебхук.
Fire webhook Дайте кроку назву, наприклад, "Надіслати до Pipedream".
Вставте URL-адресу робочого процесу Pipedream з Кроку 1 у поле URL вебхука.
Залиште Формат корисного навантаження встановленим на "Стандартний". Запит передає кожне поле направлення, ключем якого є код. Інші формати дивіться у довідці по кроку вебхука.
Виберіть Готово.
Send to Pipedream Виберіть Зберегти. Тепер автоматизація активна.
Save automation
Крок 6: Створіть запис про реєстрацію в Pipedream
Вбудована в Pipedream дія HTTP Request може викликати API ActivityInfo напряму, при цьому поля запису заповнюються з тригера.
У робочому процесі Pipedream натисніть +, щоб додати крок, знайдіть "HTTP" і додайте дію Send any HTTP Request.
Add step
HTTP / Webhook
Send any HTTP Request Встановіть Method на
POSTта URL на:
https://www.activityinfo.org/resources/update
Встановіть Authorization Type на "Basic Auth", введіть будь-яке значення як Ім'я користувача (наприклад,
activityinfo) та ваш Персональний токен API як Пароль. Pipedream зберігає це надійно.
Authorization У розділі Заголовки додайте
Content-Typeзі значеннямapplication/json.
Headers У Тексті листа введіть запит у форматі raw JSON, вставляючи поля направлення з тригера. Знайдіть ідентифікатор форми Реєстрація на програму харчування, відкривши форму та перевіривши адресний рядок браузера.
Get your formId
HTTP body
{
"changes": [
{
"formId": "c753uwsmu3y7lzvb",
"recordId": "{{steps.trigger.event.body._id}}",
"deleted": false,
"fields": {
"NAME": "{{steps.trigger.event.body.NAME}}",
"INTAKE_DATE": "{{steps.trigger.event.body.REFDATE}}"
}
}
]
}
Натисніть "Test", щоб підтвердити, що запит працює.
Test HTTP request Після успішного тестування розгорніть робочий процес.
Deploy workflow
Наведений вище recordId повторно використовує власний _id направлення як ідентифікатор запису про реєстрацію. Оскільки ідентифікатори записів є унікальними для всієї платформи, а не лише в межах однієї форми, це безпечне значення для повторного використання у формі Реєстрація на програму харчування, і це означає, що одне й те саме направлення завжди буде пов'язане з одним і тим самим записом про реєстрацію, а не створюватиме новий при кожній повторній спробі.
Кінцева точка оновити записи автентифікується так само, як і будь-який інший запит до API ActivityInfo: Базова автентифікація HTTP, з будь-яким значенням в якості імені користувача та Персональним токеном API в якості пароля. Поле з одиночним вибором, таке як PROGRAM, приймає назву опції або її ідентифікатор; поле з множинним вибором приймає масив назв або ідентифікаторів.
Крок 7: Тестування
Додайте тестовий запис до форми Направлення з Програмою, встановленою на "Харчування".
Add test record Відкрийте форму Реєстрація на програму харчування і перевірте, чи був створений новий запис, з ім'ям та датою, перенесеними з направлення.
Test record added У Pipedream перевірте історію виконання робочого процесу, натиснувши на живі події. Має з'явитися нова подія з точним часом виконання робочого процесу, а крок HTTP-запиту має завершитися успішно.
Run history Додайте другий тестовий запис з іншою Програмою. Жодна подія не повинна дійти до Pipedream, і жоден запис про реєстрацію не повинен бути створений. Крок фільтрації зупиняє виконання до того, як спрацює вебхук.
Test record to filter Перейдіть до налаштувань вашої бази даних, виберіть вашу автоматизацію та перегляньте її історію.
Automation history
Усунення несправностей
- ActivityInfo відповідає
401 Unauthorized. Переконайтеся, що в кроці HTTP-запиту тип авторизації — "Basic Auth", ім'я користувача — будь-яке значення, пароль — ваш Персональний токен API, а сам токен має область застосування "Читання-запис". - Жодна подія не доходить до Pipedream. Переконайтеся, що робочий процес розгорнуто (Крок 6), і що URL вебхука, вставлений у крок "Викликати вебхук" (Крок 5), точно відповідає URL тригера Pipedream. Також перевірте історію автоматизації, щоб побачити статус.
- Вебхук ніколи не спрацьовує, навіть для направлення "Харчування". Перевірте умову фільтра на точну відповідність:
PROGRAM == "Nutrition"порівнює з назвою опції (або кодом, якщо поле його має) точно так, як вона відображається у формі, включаючи регістр та пробіли.
Подальші кроки
- Синхронізуйте два записи при редагуванні, а не тільки при створенні: додайте другу автоматизацію, використовуючи тригер При редагуванні запису, що вказує на той самий робочий процес Pipedream. Оскільки ідентифікатор запису про реєстрацію завжди походить від ідентифікатора направлення, та сама дія HTTP-запиту оновлює існуючий запис про реєстрацію, а не створює новий.