Кастомні сценарії Make: коли стандартних модулів недостатньо
Стандартний модуль Make легко налаштовується за хвилини, але коли потрібно обробити масив із сотень замовлень, викликати кілька API в певному порядку, обробити помилки та зберегти стан між запусками — одного тригера та дії недостатньо. Наприклад, один із наших клієнтів витрачав 2 години на день на ручне вивантаження замовлень із WooCommerce в 1С. Після впровадження кастомного сценарію час скоротився до 10 хвилин, а помилки практично зникли. Економія склала близько 200 000 грн на рік за рахунок перерозподілу ресурсів. Якщо вам потрібен такий самий результат — зв'яжіться з нами, ми розробимо сценарій під вашу бізнес-логіку.
Які проблеми вирішуємо за допомогою кастомних сценаріїв?
Кастомні сценарії виходять за рамки простих тригер → дія: включають трансформацію даних, умовну логіку, виклики кількох API, ітерацію по масивах та обробку помилок. Ось типові складні задачі:
-
Робота з масивами: Наприклад, підсумувати вартість всіх товарів у замовленні та застосувати знижку. Вбудовані функції
map,sum,filterсправляються з цим. - Обробка помилок: Якщо API повернув 500, сценарій має повторити запит через хвилину. Ми налаштовуємо роутер за статусами відповіді та відправляємо сповіщення в Telegram.
- Виклики без модуля: Для кастомного API налаштовуємо HTTP-модуль з OAuth2, Basic Auth або API-ключем.
Обробка помилок будується так: роутер перевіряє статус HTTP-відповіді. Якщо статус 429 (Too Many Requests) — сценарій чекає 60 секунд і повторює запит. Якщо 5xx — записує помилку в Data Store і відправляє сповіщення в Telegram. Це запобігає втраті даних і спрощує моніторинг.
Чому стандартних модулів Make недостатньо для складної логіки?
Стандартні модулі розраховані на прості ланцюжки: отримати дані → обробити → відправити. Коли потрібно об'єднати дані з кількох джерел, застосувати складні фільтри або виконати транзакційні операції з відкатом при помилці, без кастомної логіки не обійтися. Кастомні сценарії дозволяють реалізувати довільну бізнес-логіку: розгалуження, цикли, очікування, виклики зовнішніх сервісів з авторизацією.
Як автоматизувати синхронізацію замовлень WooCommerce → 1С?
Задача: щогодини синхронізувати нові замовлення з WooCommerce в 1С через REST API, зі сповіщенням про помилки в Telegram. Сценарій включає:
[Schedule: щогодини]
│
[WooCommerce: Get Orders
status=processing
after={{addHours(now; -1)}}]
│
[Router]
├── [Фільтр: order_count > 0]
│ │
│ [Iterator: по кожному замовленню]
│ │
│ [HTTP POST: 1С API
│ /api/orders/create]
│ │
│ [Router: за статусом відповіді]
│ ├── [201: оновити WooCommerce
│ │ meta _synced_to_1c = true]
│ └── [Помилка: Telegram
│ orderId + error message]
│
└── [Фільтр: order_count == 0]
│
[ігнорувати]
Кастомний сценарій Make обробляє замовлення в 3 рази швидше, ніж ручне вивантаження, і знижує кількість помилок на 90%. Економія часу дозволяє перерозподілити ресурси на більш важливі завдання. Замовте розробку такого сценарію — ми налаштуємо інтеграцію під ваші системи.
Як трансформувати дані за допомогою функцій Make?
Make має вбудовану функціональну мову для трансформацій. Ось основні інструменти:
# Рядки
{{upper(1.name)}} → "ІВАН"
{{substring(1.email; 0; indexOf(1.email; "@"))}} → "ivan"
{{replace(1.phone; " "; "")}} → "+79001234567"
# Числа
{{round(1.price * 1.19; 2)}} → 1190.00 (з ПДВ 19%)
{{formatNumber(1.total; 2; "."; " ")}} → "1 234 567.89"
# Дати
{{formatDate(now; "DD.MM.YYYY HH:mm")}} → "28.03.2026 14:30"
{{addDays(1.created_at; 30)}} → дата + 30 днів
# Масиви
{{length(1.items)}} → 5
{{map(1.items; "product_id")}} → [1, 2, 3, 4, 5]
{{sum(map(1.items; "price"))}} → сума цін
Що робити, якщо API не має готового модуля?
Для API без вбудованого модуля використовуйте кастомний HTTP з авторизацією. Приклад конфігурації OAuth 2.0 згідно з специфікацією OAuth 2.0:
{
"type": "oauth2",
"clientId": "{{connection.clientId}}",
"clientSecret": "{{connection.clientSecret}}",
"authorizeUrl": "https://api.example.com/oauth/authorize",
"accessTokenUrl": "https://api.example.com/oauth/token",
"scope": "read write",
"tokenPlacement": "header",
"tokenHeaderName": "Authorization",
"tokenHeaderPrefix": "Bearer "
}
Робота з JSON та XML
// Parse JSON в Data Store сценарію
// Вхідний текст: '{"orders": [{"id": 1}, {"id": 2}]}'
// Використовуємо функцію parseJSON в Make
{{parseJSON(1.response_body).orders}}
// Для XML — модуль XML → JSON
// Потім працюємо як з об'єктом
{{2.root.order[].id}}
Як обробляти rate limits в Make?
Якщо API повертає 429 Too Many Requests, сценарій чекає та повторює:
[HTTP Request]
│
[Router: статус 429]
│
[Sleep: 60 секунд] ←── (вбудований модуль очікування)
│
[HTTP Request] ←── повторна спроба
Що входить в роботу?
Ми надаємо повний цикл: аналіз вимог, проектування сценарію, реалізація з модульним тестуванням, документація, навчання вашої команди, післярелізна підтримка протягом місяця. Поетапний процес:
- Аналіз вимог: вивчаємо вашу бізнес-логіку та інтеграції.
- Проектування сценарію: створюємо схему з роутерами та обробкою помилок.
- Реалізація та тестування: пишемо сценарій, перевіряємо на тестових даних.
- Документація та навчання: готуємо інструкцію, навчаємо співробітників.
- Підтримка: місяць безкоштовного супроводу.
| Критерій | Стандартний модуль | Кастомний сценарій |
|---|---|---|
| Гнучкість | Обмежений типом модуля | Повний контроль |
| Обробка помилок | Базова (повтор) | Умовна логіка, сповіщення |
| Робота з масивами | Тільки якщо модуль підтримує | Будь-які трансформації |
| API без модуля | Ні | Через Custom App |
| Етап роботи | Тривалість |
|---|---|
| Аналіз вимог | 1–2 дні |
| Проектування сценарію | 1–2 дні |
| Реалізація та тестування | 2–5 днів |
| Документація та навчання | 1 день |
| Підтримка після релізу | 1 місяць |
Терміни та вартість
Кастомний сценарій середньої складності (10–15 модулів) — 2–4 дні. Складний з Data Store, кількома API та обробкою помилок — 1 тиждень. Вартість розраховується індивідуально — оцінимо проект після брифінгу. Наші інженери мають багаторічний досвід автоматизації в Make. Ми гарантуємо стабільну роботу сценарію та надаємо підтримку. Якщо вам потрібен надійний кастомний сценарій — зв'яжіться з нами. Отримайте консультацію та точну оцінку.







