Kun asiakirjat saavat alkunsa toisessa järjestelmässä
Julkinen API ja webhookit. Tunnus järjestelmällesi, osoite, johon kirjoitamme, kun asiakirja on valmis, ja toimitusloki, joka näyttää tarkalleen, mitä palvelimesi vastasi.
Toisessa tapaamisessa esiin nouseva kysymys: ”integroidutteko järjestelmäämme?”. Tähän asti rehellinen vastaus oli ei. Nyt vastaus on tämä: sinulla on portaali, CRM tai taloushallintojärjestelmä, jossa kauppa on jo olemassa, ja DocuTract voi toimia osana sitä.
Aallon kuudes ominaisuus on tie ulos. Tunnus, jolla järjestelmäsi kutsuu meitä, osoite, johon kirjoitamme omatoimisesti, ja avoin kuvaus kaikesta siltä väliltä.

Tunnus, jota emme voi näyttää kahdesti
Tunnus luodaan Integraatiot-näkymässä: nimi, jonka tunnistat myöhemmin, jotta tiedät, mikä järjestelmä sitä käyttää, ja luettelo siitä, mitä sillä saa tehdä. Sitten se näytetään kerran.
Se ei ole huolimattomuutta, vaan juuri niin täytyy toimia tuotteen, jolla on hallussaan jonkun toisen avain. Säilytämme vain tiivisteen: emme pysty näyttämään tunnusta toista kertaa edes itse, mikä tarkoittaa, ettei sitä voi varastaa meiltä. Luettelossa säilyvät ensimmäiset merkit, oikeudet ja viimeisimmän käytön päivämäärä, joten näkyy, mikä tunnus on voimassa ja käyttääkö sitä vielä joku.
Mitätöi poistaa sen käytöstä välittömästi. Tieto siitä säilyy: se, että tunnus oli olemassa ja milloin se lakkasi toimimasta, on osa työtilan historiaa, ei roskaa.
Oikeudet tarkistetaan kunkin osoitteen kohdalla erikseen. Tunnus, jolla saa vain lukea malleja, saa yrittäessään luoda asiakirjan selkeän vastauksen ”documents:write-oikeus puuttuu” eikä tyhjää ”ei löytynyt” -vastausta. Oletamme, että integraatiota kytkee elävä ihminen, ja vastaus, joka ei selitä mitään, maksaa häneltä illan.
Mitä API:lla voi tehdä
Yhtä paljon kuin näytöllä, vain ilman näyttöä: avata toimeksiannon ja ladata siihen skannauksia, luoda asiakirjan mallista valmiiksi täytetyin arvoin, kysyä, mihin vaiheeseen se on edennyt, hakea jokaisen arvon yhdessä sen skannauksen kanssa, josta se luettiin, ja saada lyhytikäisen linkin valmiiseen tiedostoon.
Juuri tuo viimeinen osa erottaa tämän integraation muista. Järjestelmäsi ei saa vain täytettyä tiedostoa vaan jokaisen arvon alkuperineen: skannauksen, kentän ja sen, kuinka varma luenta oli. Sama lähde, jonka ihminen näkee tarkistusnäkymässä, on koodin käytettävissä.
Jokaisen osoitteen ja kentän kuvaus luodaan suoraan koodista ja julkaistaan avoimesti ilman tunnusta: /api/v1/openapi.json. Dokumentaatio, jota on ensin pyydettävä, on dokumentaatiota, jota kukaan ei lue.
Webhookit ja rehellinen loki
Sinun ei tarvitse kysyä meiltä, onko asiakirja valmis. Anna meille osoite ja valitse tapahtumat: asiakirja valmis, asiakirja epäonnistui, toimeksianto valmis, ristiriita löytyi, asiakas lähetti tiedoston.
Jokainen pyyntö allekirjoitetaan, ja allekirjoituksen varmentava salaisuus näytetään kerran, kuten tunnus. Jos palvelimesi vastasi jotain muuta tai ei vastannut lainkaan, yritämme uudelleen: minuutin, viiden minuutin, puolen tunnin, kahden tunnin ja kymmenen tunnin kuluttua. Sitten lopetamme, koska integraatio, jota kukaan ei ylläpidä, ei saisi kuluttaa kenenkään resursseja loputtomiin.

Ja sitten se osa, jota varten kaikki tämä kirjoitettiin. Kun toinen osapuoli sanoo ”järjestelmämme ei saanut mitään”, vastaus on näytöllä: tapahtuma, aika, montako yritystä, mikä vastauskoodi tuli takaisin ja vastauksen rungon alku. Näkyy, että se vastasi 500 viisi kertaa. Tämä ei ole meille tarkoitettu vianetsintäväline, vaan vastaus insinöörillesi.
Sen vieressä kaksi painiketta sitä tuntia varten, jolloin integraatiota vielä määritetään. Lähetä testi lähettää koepyynnön heti odottamatta oikeaa tapahtumaa, joten vastaanottajan voi tarkistaa ennen kuin sen kautta kulkee oikeaa työtä. Epäonnistuneen toimituksen vieressä oleva Yritä uudelleen tekee yhden uuden yrityksen välittömästi eikä nollaa historiaa: neljä epäonnistunutta yritystä jäävät kirjoihin, koska se on totuus siitä, mitä tämä ilmoitus maksoi.
Rajat, jotka asetimme itsellemme
Webhook lähetetään vain https-osoitteeseen ja vain julkiseen osoitteeseen: yksityisen verkon sisäinen osoite hylätään sekä tallennettaessa että ennen jokaista yritystä, koska isäntänimi, joka eilen osoitti ulospäin, voi tänään osoittaa sisäänpäin. Pyyntörajoitus lasketaan tunnuskohtaisesti eikä osoitekohtaisesti, joten samalla palvelimella oleva naapuri ei kuluta kiintiötäsi, ja sen ylittäminen saa rehellisen vastauksen ”palaa näin monen sekunnin kuluttua”.
API ja webhookit kuuluvat Team-pakettiin. Jos työtila siirtyy toiseen pakettiin, jo luodut pysyvät näkyvissä ja ne voi mitätöidä: avaimet, joihin kukaan ei pääse käsiksi, ovat huonompi asia kuin maksullinen ominaisuus.
Mitä tässä julkaisussa ei ole
Tämän vaiheen suunnitelmassa kuvattiin kaksi muuta osaa: valmiin asiakirjan vienti Google Driveen, OneDriveen tai Dropboxiin sekä sen lähettäminen allekirjoitettavaksi DocuSignin tai Dropbox Signin kautta. Molemmat tarvitsevat näiden palveluntarjoajien tunnistetiedot, joita meillä ei tällä hetkellä ole, ja integraation kirjoittaminen, jota ei voi testata missään, tarkoittaisi kirjoittamattoman koodin esittämistä valmiina. Ne pysyvät suunnitelmassa omina julkaisuinaan.
Mitä seuraavaksi
Aallon seitsemäs ja viimeinen ominaisuus on eräluonti: viidenkymmenen rivin luettelo tai skannausarkisto viidenkymmenen samanlaisen käsin tehdyn täytön sijaan, näkyvä edistyminen ja mahdollisuus toistaa vain ne, jotka eivät onnistuneet.
Koko luettelo on kirjoituksessa mitä rakennamme seuraavaksi, ja integraatioiden vaiheittaiset ohjeet ovat ohjekeskuksessa.
Lue lisää
Malli siitä asiakirjasta, joka sinulla jo on
Sopimusta ei tarvitse merkitä käsin, jotta siitä saisi mallin. Lataa valmis asiakirja, niin DocuTract ehdottaa, mitkä kohdat muuttuvat asiakkaasta toiseen.
Salasana ei enää riitä
Kaksivaiheinen kirjautuminen on käytössä. Lisää tilillesi todennussovellus, niin varastettu salasana ei enää ole tie asiakirjoihisi. Työtilojen omistajat voivat edellyttää sitä koko tiimiltä.