Кастомні сценарії 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. Ми гарантуємо стабільну роботу сценарію та надаємо підтримку. Якщо вам потрібен надійний кастомний сценарій — зв'яжіться з нами. Отримайте консультацію та точну оцінку.







