Kai dokumentai prasideda kitoje sistemoje
Viešas API ir webhook'ai. Prieigos raktas jūsų sistemai, adresas, kuriuo rašome, kai dokumentas paruoštas, ir pristatymų žurnalas, rodantis, ką tiksliai atsakė jūsų serveris.
Klausimas, kuris iškyla antrajame susitikime: „ar integruojatės su mūsų sistema?“. Iki šiol sąžiningas atsakymas buvo „ne“. Dabar atsakymas toks: jūs turite portalą, CRM ar apskaitos sistemą, kurioje sandoris jau yra, o DocuTract gali veikti kaip jos dalis.
Šeštoji bangos funkcija – tai kelias į išorę. Prieigos raktas, kuriuo jūsų sistema kreipiasi į mus, adresas, kuriuo rašome patys, ir atviras visko, kas tarp jų, aprašymas.

Prieigos raktas, kurio negalime parodyti dukart
Prieigos raktas sukuriamas ekrane Integracijos: pavadinimas, kurį vėliau atpažinsite, kad žinotumėte, kuri sistema jį naudoja, ir sąrašas to, ką jam leidžiama daryti. Tada jis parodomas vieną kartą.
Tai ne užmaršumas – taip turi veikti produktas, saugantis kažkieno kito raktą. Saugome tik maišos reikšmę: antrą kartą parodyti prieigos raktą negalime net mes patys, o tai reiškia, kad jo negalima pavogti iš mūsų. Sąraše lieka pirmieji simboliai, leidimai ir paskutinio naudojimo data, todėl matyti, kuris raktas gyvas ir ar juo dar kas nors naudojasi.
Atšaukti išjungia jį akimirksniu. Įrašas apie jį lieka: tai, kad jis egzistavo ir kada nustojo veikti, yra darbo erdvės istorijos dalis, o ne šiukšlės.
Leidimai tikrinami kiekvienam adresui atskirai. Prieigos raktas, kuriam leidžiama tik skaityti šablonus, bandydamas sukurti dokumentą gauna aiškų „trūksta documents:write teisės“, o ne tuščią „nerasta“. Darome prielaidą, kad integraciją jungia gyvas žmogus, o nieko nepaaiškinantis atsakymas jam kainuoja visą vakarą.
Ką gali API
Tiek pat, kiek galite ekrane, tik be ekrano: atidaryti bylą ir įkelti į ją skenus, sukurti dokumentą iš šablono su jau užpildytomis reikšmėmis, paklausti, kokį etapą jis pasiekė, paimti visas reikšmes kartu su skenu, iš kurio kiekviena nuskaityta, ir gauti trumpalaikę nuorodą į baigtą failą.
Būtent ši paskutinė dalis ir išskiria šią integraciją iš kitų. Jūsų sistema gauna ne tik užpildytą failą, bet ir kiekvieną reikšmę su jos kilme: skenu, lauku, kiek patikimas buvo nuskaitymas. Tas pats šaltinis, kurį žmogus mato peržiūros ekrane, prieinamas ir kodui.
Kiekvieno adreso ir lauko aprašymas generuojamas iš paties kodo ir skelbiamas atvirai, be jokio prieigos rakto: /api/v1/openapi.json. Dokumentacijos, kurios pirmiausia reikia paprašyti, niekas neskaito.
Webhook'ai ir sąžiningas žurnalas
Jums nereikia klausinėti mūsų, ar dokumentas paruoštas. Duokite mums adresą ir pažymėkite įvykius: dokumentas paruoštas, dokumento nepavyko sukurti, byla paruošta, rastas neatitikimas, klientas atsiuntė failą.
Kiekviena užklausa pasirašoma, o paslaptis, kuria tikrinamas parašas, parodoma vieną kartą, kaip ir prieigos raktas. Jei jūsų serveris atsakė kažką kita arba visai neatsakė, bandome dar kartą: po minutės, po penkių, po pusvalandžio, po dviejų valandų ir po dešimties. Tada sustojame, nes integracija, kurios niekas neprižiūri, neturėtų amžinai eikvoti kažkieno išteklių.

O dabar – dalis, dėl kurios visa tai ir buvo parašyta. Kai kita pusė sako „mūsų sistema nieko negavo“, atsakymas yra ekrane: įvykis, laikas, kiek bandymų, koks atsakymo kodas grįžo ir atsakymo turinio pradžia. Matyti, kad penkis kartus buvo atsakyta 500. Tai ne derinimo priemonė mums, tai atsakymas jūsų inžinieriui.
Šalia – du mygtukai valandai, kai integracija dar tik nustatoma. Siųsti bandomąjį išsiunčia bandomąją užklausą iš karto, nelaukiant tikro įvykio, kad gavėją būtų galima patikrinti dar prieš per jį einant darbui. Bandyti dar kartą šalia nepavykusio pristatymo iš karto atlieka dar vieną bandymą ir neištrina istorijos: keturi nepavykę bandymai lieka įrašuose, nes tai tiesa apie tai, kiek kainavo šis pranešimas.
Apribojimai, kuriuos nustatėme sau
Webhook'as siunčiamas tik per https ir tik viešu adresu: adresas privačiame tinkle atmetamas tiek jį išsaugant, tiek prieš kiekvieną bandymą, nes vardas, vakar rodęs į išorę, šiandien gali rodyti į vidų. Užklausų dažnio limitas skaičiuojamas pagal prieigos raktą, o ne pagal adresą, todėl kaimynas tame pačiame serveryje neišeikvoja jūsų kvotos, o jį viršijus gaunamas sąžiningas „grįžkite po tiek ir tiek sekundžių“.
API ir webhook'ai įeina į Team planą. Jei darbo erdvė pereina į kitą planą, tai, kas jau sukurta, lieka matoma ir gali būti atšaukta: raktai, kurių niekas negali pasiekti, blogiau nei mokama funkcija.
Ko nėra šiame leidime
Šio etapo užduotyje buvo aprašytos dar dvi dalys: baigto dokumento eksportas į Google Drive, OneDrive ar Dropbox ir jo siuntimas pasirašyti per DocuSign ar Dropbox Sign. Abiem reikia šių paslaugų teikėjų prisijungimo duomenų, kurių šiuo metu neturime, o rašyti integraciją, kurios niekur negalima išbandyti, reiškia pateikti neparašytą kodą kaip baigtą. Jos lieka plane kaip atskiri leidimai.
Kas toliau
Septintoji ir paskutinė bangos funkcija – paketinis generavimas: penkiasdešimties eilučių sąrašas arba skenų archyvas vietoje penkiasdešimties vienodų pildymų rankomis, su matoma eiga ir galimybe pakartoti tik tuos, kurie nepavyko.
Visas sąrašas – įraše ką kuriame toliau, o žingsnis po žingsnio instrukcijos apie integracijas – pagalbos centre.
Skaityti toliau
Šablonas iš dokumento, kurį jau turite
Kad sutartis taptų šablonu, nebereikia jos žymėti rankomis. Įkelkite paruoštą dokumentą, o DocuTract pasiūlys, kurios jo dalys keičiasi nuo kliento iki kliento.
Slaptažodžio nebeužtenka
Dviejų veiksnių prisijungimas jau veikia. Prie paskyros pridėkite autentifikavimo programėlę, ir pavogtas slaptažodis nebeatvers kelio prie jūsų dokumentų. Darbo erdvių savininkai gali to reikalauti iš visos komandos.