// Blogg

När dokumenten börjar i ett annat system

Det publika API:t och webhooks. En token för ditt system, en adress som vi skriver till när ett dokument är klart och en leveranslogg som visar exakt vad din server svarade.

När dokumenten börjar i ett annat system

Frågan som dyker upp på det andra mötet: ”integrerar ni med vårt system?”. Hittills var det ärliga svaret nej. Nu är svaret detta: du har en portal, ett CRM eller ett ekonomisystem där affären redan finns, och DocuTract kan fungera som en del av det.

Den sjätte funktionen i vågen är vägen ut. En token som ditt system anropar oss med, en adress som vi skriver till på eget initiativ och en öppen beskrivning av allt däremellan.

Skärmen för integrationer: tokens, webhook-adressen och vad som händer med den

En token som vi inte kan visa dig två gånger

En token skapas på skärmen Integrationer: ett namn som du känner igen senare, så att du vet vilket system som använder den, och en lista över vad den får göra. Sedan visas den en gång.

Det är inte glömska, det är så en produkt som förvarar någon annans nyckel måste fungera. Vi sparar bara en hash: att visa token en andra gång är något som inte ens vi kan göra, vilket betyder att den inte kan stjälas från oss. Listan behåller de första tecknen, behörigheterna och datumet då den senast användes, så det syns vilken token som är aktiv och om någon fortfarande använder den.

Återkalla stänger av den direkt. Posten finns kvar: att den har funnits och när den slutade fungera är en del av arbetsytans historik, inte skräp.

Behörigheterna kontrolleras för varje adress för sig. En token som bara får läsa mallar får ett tydligt ”behörigheten documents:write saknas” när den försöker skapa ett dokument, inte ett tomt ”hittades inte”. Vi utgår från att en levande människa kopplar upp integrationen, och ett svar som inte förklarar något kostar hen en kväll.

Vad API:t kan göra

Lika mycket som du kan göra på skärmen, bara utan skärmen: öppna ett ärende och ladda upp skanningar till det, skapa ett dokument från en mall med värdena redan ifyllda, fråga vilket steg det har nått, hämta alla värden tillsammans med skanningen som vart och ett lästes från och få en kortlivad länk till den färdiga filen.

Den sista delen är det som gör den här integrationen annorlunda än andra. Ditt system får inte bara en ifylld fil utan varje värde med dess ursprung: skanningen, fältet, hur säker läsningen var. Samma källa som en människa ser på granskningsskärmen är tillgänglig för kod.

Beskrivningen av varje adress och fält genereras från själva koden och publiceras öppet, utan token: /api/v1/openapi.json. Dokumentation som du först måste be om är dokumentation som ingen läser.

Webhooks och en ärlig logg

Du behöver inte fråga oss om ett dokument är klart. Ge oss en adress och kryssa i händelserna: dokument klart, dokument misslyckades, ärende klart, en avvikelse hittad, en kund skickade en fil.

Varje förfrågan signeras, och hemligheten som verifierar signaturen visas en gång, precis som token. Om din server svarade något annat, eller inte svarade alls, försöker vi igen: efter en minut, efter fem, efter en halvtimme, efter två timmar och efter tio. Sedan slutar vi, eftersom en integration som ingen underhåller inte ska förbruka någons resurser för evigt.

Leveransloggen: händelse, status, svarskod, antal försök och en knapp för att försöka igen

Och sedan den del som allt det här skrevs för. När den andra sidan säger ”vårt system tog inte emot något” finns svaret på skärmen: händelsen, tiden, hur många försök, vilken svarskod som kom tillbaka och början av svarets innehåll. Det syns att det svarade 500 fem gånger. Det här är inget felsökningsverktyg för oss, det är ett svar till din utvecklare.

Bredvid finns två knappar för den timme då en integration fortfarande håller på att sättas upp. Skicka test skickar en testförfrågan direkt, utan att vänta på en riktig händelse, så att en mottagare kan kontrolleras innan något arbete går igenom den. Försök igen, bredvid en misslyckad leverans, gör ytterligare ett försök direkt och nollställer inte historiken: de fyra misslyckade försöken finns kvar i loggen, eftersom det är sanningen om vad den här aviseringen kostade.

Gränserna vi har satt för oss själva

En webhook skickas bara till https och bara till en offentlig adress: en adress i ett privat nätverk avvisas både när den sparas och före varje försök, eftersom ett värdnamn som pekade utåt i går kan peka inåt i dag. Hastighetsbegränsningen räknas per token snarare än per adress, så att en granne på samma server inte förbrukar din kvot, och den som går över den får ett ärligt ”kom tillbaka om så här många sekunder”.

API och webhooks ingår i Team-planen. Om en arbetsyta byter till en annan plan förblir det som redan har skapats synligt och kan återkallas: nycklar som ingen kommer åt är värre än en betald funktion.

Vad som inte finns med i den här versionen

Planeringen för den här fasen beskrev två delar till: export av ett färdigt dokument till Google Drive, OneDrive eller Dropbox, och att skicka det för underskrift via DocuSign eller Dropbox Sign. Båda kräver inloggningsuppgifter från de leverantörerna, som vi inte har just nu, och att skriva en integration som inte kan testas någonstans vore att utge oskriven kod för färdig. De finns kvar i planen som egna versioner.

Vad som kommer härnäst

Den sjunde och sista funktionen i vågen är batchgenerering: en lista med femtio rader eller ett arkiv med skanningar i stället för femtio likadana ifyllningar för hand, med synligt förlopp och möjlighet att bara upprepa de som inte fungerade.

Hela listan finns i vad vi bygger härnäst, och steg för steg-instruktionerna för integrationer finns i hjälpcentret.

Läs vidare

En mall från dokumentet du redan har

Du behöver inte märka upp ett avtal för hand för att göra om det till en mall. Ladda upp ett färdigt dokument så föreslår DocuTract vilka delar som ändras från kund till kund.

Ett lösenord räcker inte längre

Tvåfaktorsinloggning är i drift. Lägg till en autentiseringsapp på ditt konto, så slutar ett stulet lösenord att vara en väg in till dina dokument. Arbetsytans ägare kan kräva det av hela teamet.