castomFLOW
Открыть castomFLOW

Подключение чего угодно

HTTP на входе, HTTP на выходе, сложные места уже обработаны

Каждый инструмент автоматизации рекламирует количество интеграций. Число всегда велико, и это всегда неправильный вопрос, потому что система, которая вам на самом деле нужна, — та, что кто-то собрал внутри компании в 2014 году и потом ушёл. Важно то, насколько хорошо инструмент говорит на протоколе, лежащем в основе всех них.

Готовые подключения

У приложений, на которых работают большинство компаний, есть подготовленные шаги: магазины и маркетплейсы, бухгалтерия и выставление счетов, таблицы и базы данных, календари и почта, хранилища и мессенджеры, CRM и хелпдески, платёжные провайдеры и службы доставки. Вы авторизуете аккаунт один раз, и поля названы языком самого приложения, а не языком его JSON.

Если у приложения есть особенность польского рынка — система выставления счетов, которая должна поддерживать KSeF, перевозчик, чьи этикетки являются национальным стандартом, — подготовленный шаг об этом знает, потому что семейство продаётся на этом рынке и пришлось выучить.

А затем общий случай

Всё остальное — это HTTP-шаг, и HTTP-шаг здесь не утешительный приз. Это тот же механизм, на котором построены готовые подключения, с той же обработкой частей, которые утомительно писать самому.

Утомительные части

Уже обработаны, чтобы вам не пришлось писать их заново

Аутентификация

API-ключи, bearer-токены, базовая аутентификация, OAuth 2 с обновлением, подпись запросов HMAC, взаимный TLS. Учётные данные сохраняются один раз, упоминаются по имени и никогда не попадают в лог или запись выполнения.

Пагинация

Курсоры, номера страниц, смещения, заголовки Link и API, который сигнализирует о конце, возвращая пустой массив. Укажите, какой это формат, и шаг пройдёт весь набор.

Ограничения частоты запросов

Лимит на каждое соединение, соблюдаемый во всех процессах, где оно используется. Если провайдер отвечает 429 с заголовком Retry-After, шаг ждёт указанное время, а не долбит повторами.

Повторы и паузы

Временные сбои повторяются с увеличивающимся интервалом и пределом. Шаг — чистая функция своих входных данных, поэтому повтор запускает шаг заново, а не весь процесс целиком.

Неудобные форматы данных

JSON, form-encoding, XML, обычный текст, multipart-загрузки. Ответы разбираются на поля, к которым можно обращаться по имени, включая те, что спрятаны на четыре уровня вглубь.

Тайм-ауты

Ограничение на каждый шаг, поэтому одна медленная зависимость не может удерживать рабочий процесс, пока всё остальное ждёт в очереди. Что делать при достижении лимита, решаете вы — отдельно для каждого шага.

Если система говорит на HTTP, разговор уже начался.

Входящие вебхуки, к которым отнеслись серьёзно

У каждого процесса может быть URL, который его запускает. Этот URL проверяет подписи — HMAC в тех формах, которые используют распространённые провайдеры, и общий секрет там, где отправитель больше ничего не умеет. Запрос без подписи к процессу, ожидающему подпись, отклоняется и записывается, а не обрабатывается молча.

Дедупликация выполняется по собственному идентификатору полезной нагрузки, поэтому отправитель, повторивший запрос, потому что не успел увидеть ваш 200, получит один запуск, а не три. Некорректные данные сохраняются вместе с причиной отклонения, ведь самая частая причина загадочных пробелов в автоматизации — отправитель, передумавший насчёт какого-то поля.

Системы, говорящие только на CSV

Они существуют. Файл появляется на SFTP-сервере в четыре утра, приходит вложением или попадает в общую папку. Процесс может следить за ним, прочитать его и рассматривать каждую строку как запись — включая файл с BOM, разделителями-точками с запятой и заголовками на польском, потому что именно так выглядит реальный экспорт.

Работает и в обратную сторону: процесс может собрать файл и положить его туда, где другая система ожидает его найти, — часто это единственный интерфейс, который есть у программы 2006 года.

Ночной фид поставщикаSFTP → HTTP
  • ⚡ТриггерНовый файл на SFTP поставщика: stock-2026-09-09.csv.
  • 2РазборТочки с запятой, BOM, польские заголовки. 4 118 строк.
  • 3НормализацияКоды валют проверены по справочным данным; два отклонены как недействительные.
  • 4ОтправитьHTTP PATCH пакетами по 200, лимит запросов соблюдён.
  • !ИсключенияДве строки отложены для человека, с номером строки и причиной. Остальные 4 116 прошли.

Шагов, вызвавших модель: 0Стоимость этого запуска: ноль

Где хранятся учётные данные

Зашифрованы, упоминаются по имени, ограничены рабочим пространством, которому принадлежат, и никогда не попадают в журнал запуска, сообщение об ошибке или переписку с поддержкой. Запись о запуске показывает, что шаг прошёл аутентификацию как supplier-sftp; она не показывает, что такое supplier-sftp.

Агентство, запускающее один процесс для тридцати клиентов, выдаёт каждому клиенту свой набор учётных данных, а процесс ссылается на набор, а не на секрет. Ротация ключа — одна правка в одном месте — именно поэтому агентства сюда и приходят.

Предел, о котором стоит знать: систему без какого-либо интерфейса — без API, без вебхуков, без передачи файлов, где есть только человек, кликающий в браузере, — нельзя автоматизировать ни здесь, ни где-либо ещё честным способом. Здесь нет headless-браузера, притворяющегося пользователем, потому что он ломается при первом же перемещении кнопки на другой стороне — и ломается молча.