Transforms
NimbusNexus Transforms робить конвеєри окремими обʼєктами. Конвеєр — це короткий список декларативних кроків, які відкидають запит, якщо він не збігається з умовою, вилучають або додають поля, перебудовують тіло за шаблоном і задають заголовки. Зберіть конвеєр у консолі або через REST API, протестуйте його, зберігайте його версії, запускайте через API або посилайтеся на нього за ідентифікатором із продукту, який надсилає запити.
Не та сторінка? Сам Transforms нічого не надсилає. Щоб змінити те, що ендпоінт отримує під час кожної доставки, див. Трансформації у Webhooks, а щоб змінити те, що пересилає bin, — Конвеєр перед кожним пересиланням у Request Bins. Спробувати конвеєр без акаунта можна в playground.
Коротко
| Що ви створюєте | Конвеєр: JSON-документ, що містить до 20 кроків, як-от {"version": 1, "steps": [{"drop": ["**.email"]}]} |
| Що він робить | Фільтрує запит, вилучає або додає поля, перебудовує тіло за шаблоном і задає заголовки |
| Чого він не робить | Нічого не надсилає й не зберігає нічого з того, на чому виконується. Це не ретранслятор |
| Консоль | https://transforms.nimbusnexus.net |
| Базовий URL API | https://transforms.nimbusnexus.net/v1 |
| Автентифікація | Authorization: Bearer <key>, ключ, створений у консолі акаунта для продукту Transforms |
| Ідентифікатор | id конвеєра, напр. pipe_8e27d40b19c3f6a5e0d71b42 |
| Як спробувати документ | POST /v1/pipelines/test, який нічого не зберігає й не рахує |
| Як запустити збережений конвеєр | POST /v1/pipelines/{id}/run, який відповідає, що зробив конвеєр |
| Усі кроки, шляхи й фільтри | Конвеєри |
| Усі маршрути, ролі й ліміти | Довідник Transforms |
Як це працює
- Зберіть конвеєр: додайте кроки у формі в консолі, вставте їх як JSON або почніть із шаблону. Документ, який ніколи не зміг би виконатися, відхиляється під час збереження з
422invalid_pipeline, де названо його крок, шлях і причину. - Протестуйте його. Запустіть те, що в редакторі, на запиті, який ви вставили, і побачите тіло й заголовки, які було б надіслано, крок, що відкинув запит, або причину збою.
- Збережіть його. Збереження нового вмісту додає версію, а версія ніколи не змінюється. Повторне збереження того самого вмісту версії не додає, а щоб відновити стару версію, треба знову зберегти її вміст.
- Запускайте його одним із двох способів:
- Через API. Надішліть запит на
POST /v1/pipelines/{id}/run. Маршрут виконує конвеєр на тому, що ви надсилаєте, відповідає результатом і нічого не зберігає. Надсилати результат кудись далі — уже ваше завдання. - За посиланням. Посилайтеся на конвеєр за ідентифікатором із Webhooks, який виконує його у власному процесі перед кожною доставкою. Кожна нова версія доходить до нього без жодних змін в ендпоінтах.
- Через API. Надішліть запит на
Кроки 1–4 через API показано на сторінці Швидкий старт.
Що відповідає запуск
Конвеєр не має циклів, годинника й мережі, тож той самий конвеєр на тому самому запиті завжди робить те саме. Запуск відповідає 200 з одним із трьох статусів, бо в кожному випадку конвеєр виконався:
status | Що це означає | Що робити |
|---|---|---|
ok | body, headers і query — це запит, який треба надіслати. | Надішліть його. |
dropped | Фільтр відкинув запит. step, note і reason вказують, який саме і чому. | Нічого не надсилайте. |
failed | Конвеєр не може виконатися на цьому запиті. step, reason і error пояснюють чому, наприклад називають перевищену межу. | Змініть конвеєр або запит. Той самий запит провалюється так само, тож не повторюйте його. |
Облікові дані
Transforms не зберігає облікових даних. Крок auth у конвеєрі вказує, що до запиту додається bearer-токен, Basic-автентифікація чи API-ключ, і називає для них слот. Слот — це ідентифікатор і мітка, без значення: додайте його в консолі в розділі Credential slots або через POST /v1/slots. Документ містить лише ідентифікатор слота, тож під час читання конвеєра облікові дані ніколи не показуються, а жоден маршрут не приймає й не повертає значення облікових даних.
Щоб надіслати облікові дані, запускайте конвеєр за посиланням із продукту, який надсилає запити. Цей продукт зіставляє слот із секретом у власному сховищі, під власним ключем, і надсилає його на власні URL-адреси. Поза цим продуктом слот нічого не означає.
Тестування й API запуску показують, що додав би крок, із замаскованим значенням: Authorization: Bearer ••••. Надіслати облікові дані вони не можуть, бо в Transforms немає чого надсилати.
Те, де виконується конвеєр, видно наперед. Під час читання конвеєра перелічуються продукти, які виконують його за посиланням, і версія, яку виконує кожен із них. Збереження нової версії з кроком auth або видалення конвеєра має назвати кожен із них у confirm_destinations, інакше запит відхиляється з 409 conflict, destinations_unconfirmed (Хто виконує конвеєр).
Плани й ліміти
| Free | Starter | Pro | Custom | |
|---|---|---|---|---|
| Ціна | $0 | $9 на місяць або $86,40 на рік | $29 на місяць або $278,40 на рік | за договором |
| Конвеєрів | 5 | 25 | 100 | 1,000 |
| Слотів облікових даних | 5 | 25 | 100 | 1,000 |
| Збережених версій на конвеєр | 10 | 25 | 50 | 100 |
| Запусків на хвилину | 60 | 600 | 3,000 | 12,000 |
Усі шість кроків, шаблони, тестування, API запуску і запуск за посиланням є на кожному плані, зокрема на Free.
Запуски рахуються, але не тарифікуються. GET /v1/usage показує їхню кількість за місяць. Понад частоту плану, спільну з тестуванням, або коли в робочому просторі одночасно триває забагато запусків чи тестів, запуск відповідає 429 rate_limited і вказує, скільки зачекати. Запуск у продукті, який посилається на конвеєр, зараховується до споживання цього продукту. Версія, яку продукт закріпив, зберігається понад кількість, передбачену планом, як і пʼять старіших версій, які, за нашими даними, продукт виконував пізніше за решту протягом останніх 30 днів.
Як отримати доступ
Відкрийте консоль за адресою https://transforms.nimbusnexus.net і увійдіть зі своїм акаунтом NimbusNexus або додайте Transforms через Add a product у будь-якій консолі NimbusNexus. Перший візит власника чи адміністратора робочого простору додає Transforms до робочого простору; відтоді його можуть відкривати й інші учасники.
API Transforms не випускає ключів. Створіть ключ у консолі акаунта у розділі API keys, вибравши продукт Transforms. Ключ — це JWT, тож він починається з eyJ. Передавайте його як Authorization: Bearer <key> або X-API-Key: <key>.
Виберіть дозвіл ключа під час створення: Read читає й запускає конвеєри, а Read & write також може створювати, змінювати, тестувати й видаляти їх. Повна таблиця, включно з ролями робочого простору, — у розділі Хто що може робити.
Чого продукт не робить
- Він не надсилає. У нього немає ні отримувача, ні повторів, ні журналу доставок. Webhooks доставляє події, а Request Bins пересилає запити.
- Він не зберігає те, на чому виконується. Запит і відповідь запуску зникають, коли виклик завершується. Лишається тільки лічильник.
- Він не зберігає облікових даних. Облікові дані надходять від продукту, який виконує конвеєр за посиланням.
- Він не виконує коду. Для логіки, яку не виразити кроками, ендпоінт Webhooks може на платному плані виконувати скрипт.
Що далі
- Швидкий старт — протестуйте конвеєр, збережіть його, запустіть і збережіть нову версію.
- Конвеєри — усі кроки, шляхи, фільтри й шаблони, а також межі для запуску.
- Довідник Transforms — усі маршрути й поля, ролі, ліміти й помилки.
- API Transforms — усі операції із запитом у curl, TypeScript, Python або Go.
- Виконання з Webhooks — зіставте слоти із секретами й підʼєднайте конвеєр до ендпоінта.
- Playground — запустіть зразок конвеєра без акаунта.