castomFLOW
Deschideți castomFLOW

Conectarea oricărui lucru

HTTP la intrare, HTTP la ieșire, părțile dificile rezolvate

Orice instrument de automatizare publicizează un număr de integrări. Numărul este întotdeauna mare și este întotdeauna întrebarea greșită, pentru că sistemul de care aveți efectiv nevoie este cel construit intern în 2014 de cineva care a plecat. Ce contează este cât de bine vorbește instrumentul protocolul de sub toate acestea.

Conexiunile gata făcute

Aplicațiile pe care se bazează majoritatea firmelor au pași pregătiți: magazine și marketplace-uri, contabilitate și facturare, tabele și baze de date, calendare și poștă, stocare și mesagerie, CRM-uri și helpdesk-uri, furnizori de plăți și transportatori. Autorizați contul o dată, iar câmpurile sunt denumite în limba pe care o folosește aplicația, nu în limba JSON-ului ei.

Atunci când o aplicație are o particularitate a pieței poloneze — un sistem de facturare care trebuie să fie pregătit pentru KSeF, un transportator ale cărui etichete sunt un standard național — pasul pregătit știe de asta, pentru că familia vinde pe acea piață și a trebuit să învețe.

Și apoi cazul general

Tot restul este un pas HTTP, iar un pas HTTP aici nu este o consolare. Este aceeași mașinărie pe care se bazează conexiunile pregătite, cu aceeași gestionare a părților care sunt plictisitoare de scris manual.

Părțile plictisitoare

Rezolvate, ca să nu le mai scrieți din nou

Autentificare

Chei API, tokenuri bearer, autentificare de bază, OAuth 2 cu reîmprospătare, semnarea cererilor HMAC, TLS mutual. O acreditare este stocată o singură dată, referențiată prin nume și nu este niciodată afișată într-un jurnal sau într-o înregistrare de rulare.

Paginare

Cursori, numere de pagină, offseturi, antete Link și API-ul care semnalează sfârșitul returnând un tablou gol. Spuneți ce formă este, iar pasul parcurge întregul set.

Limite de rată

Un plafon per conexiune, respectat în toate fluxurile de lucru care o folosesc. Când un furnizor răspunde cu 429 și un Retry-After, pasul așteaptă atât timp, în loc să insiste.

Reîncercări și backoff

Eșecurile tranzitorii sunt reîncercate cu un interval crescător și un plafon. Un pas este o funcție pură a intrărilor sale, deci o reîncercare rulează din nou pasul, nu întreaga rulare.

Sarcini utile incomode

JSON, codare de formulare, XML, text simplu, încărcări multipart. Răspunsuri analizate în câmpuri pe care le puteți referenția prin nume, inclusiv cele imbricate la patru niveluri adâncime.

Timeouturi

O limită per pas, astfel încât o dependență lentă să nu poată ține un lucrător ocupat în timp ce tot ce urmează stă la coadă. Ce se întâmplă la atingerea limitei este decizia dumneavoastră, per pas.

Dacă vorbește HTTP, conversația a început deja.

Webhookuri de intrare, luate în serios

Fiecare flux de lucru poate avea un URL care îl pornește. Acest URL verifică semnăturile — HMAC în formele folosite de furnizorii obișnuiți, și un secret partajat acolo unde asta este tot ce poate oferi expeditorul. O cerere nesemnată către un flux care așteaptă o semnătură este respinsă și înregistrată, nu procesată pe furiș.

Deduplicarea se face pe identificatorul propriu al sarcinii utile, astfel încât un expeditor care reîncearcă pentru că nu a văzut la timp 200-ul dumneavoastră primește o singură rulare, nu trei. Sarcinile utile malformate sunt păstrate, împreună cu motivul respingerii, pentru că cea mai frecventă cauză a unei lacune misterioase într-o automatizare este un expeditor care și-a schimbat părerea despre un câmp.

Sistemele care vorbesc doar CSV

Există. Un fișier apare pe un server SFTP la ora patru dimineața, sau sosește ca atașament, sau este depus într-un dosar partajat. Un flux de lucru poate fi atent la el, îl poate citi și poate trata fiecare rând ca o înregistrare — inclusiv fișierul cu semn de ordine a octeților, separatoare cu punct și virgulă și un rând de antet în poloneză, pentru că așa arată de fapt exportul.

Și în sens invers funcționează: un flux de lucru poate asambla un fișier și îl poate pune acolo unde celălalt sistem așteaptă să-l găsească, ceea ce este adesea singura interfață pe care o are un software din 2006.

Flux nocturn de la furnizorSFTP → HTTP
  • ⚡DeclanșatorFișier nou pe SFTP-ul furnizorului: stock-2026-09-09.csv.
  • 2AnalizăPunct și virgulă, semn de ordine a octeților, antete în poloneză. 4 118 rânduri.
  • 3NormalizareCodurile de monedă verificate față de datele de referință; două respinse ca nevalide.
  • 4TrimitețiHTTP PATCH în loturi de câte 200, limita de rată respectată.
  • !ExcepțiiDouă rânduri trecute pe lângă o persoană, cu numărul rândului și motivul. Celelalte 4 116 au trecut mai departe.

Pași care au apelat un model: 0Costul acestei rulări: nimic

Unde trăiesc acreditările

Criptate, referențiate prin nume, delimitate la spațiul de lucru care le deține și niciodată afișate într-un jurnal de rulare, într-un mesaj de eroare sau într-o conversație cu suportul. O înregistrare de rulare arată că un pas s-a autentificat ca supplier-sftp; nu arată ce este supplier-sftp.

O agenție care rulează un flux de lucru pentru treizeci de clienți dă fiecărui client propriul set de acreditări, iar fluxul se referă la set, nu la secret. Rotirea unei chei este o singură modificare într-un singur loc — ceea ce este, în mare parte, motivul pentru care agențiile vin aici.

Limita care merită cunoscută: un sistem fără nicio interfață — niciun API, niciun webhook, nicio depunere de fișier, nimic decât o persoană care dă clic într-un browser — nu poate fi automatizat nici de aceasta, nici de orice altceva onest. Aici nu există un browser headless care se preface a fi un utilizator, pentru că acesta se strică prima dată când cealaltă parte mută un buton, și se strică pe furiș.