Visena Dokumentasjon

Partner API · v1

Alt i Visena.
Ett API unna.

Partner API åpner selskapets kunder, kontakter, oppdrag, oppgaver og dokumenter for programvaren rundt. Importer i stor skala, eksporter uten friksjon, synkroniser kontinuerlig — eller sett din egen portal foran alt.

Ni ressurser, én kontrakt · tre lesemoduser på hver liste · tilbakekalling på under ett minutt · hver skriving har et navn på seg

Hvem det er for

Bygget der arbeidet er regulert

Visena driver hverdagen i selskaper hvis arbeid må tåle ettersyn. Partner API tar den samme disiplinen videre til hver integrasjon du bygger oppå.

  • Revisjonsselskaper. Koble oppdragsdata, kunderegistre og dokumentasjon til revisjonsverktøyet dere allerede bruker — med det sporet metodikken deres krever.
  • Regnskapsselskaper. Hold kunde- og kontaktdata i flyt mellom Visena og systemene for regnskap, lønn og rapportering — én kilde til sannhet, ingen dobbelttasting.
  • Advokat og rådgivning. Sak- og kundeinformasjon der saksbehandlingen trenger den, dokumenter arkivert der forpliktelsene krever det.
  • Programvarepartnere. Integrer én gang mot en stabil, versjonert REST-kontrakt og nå hver Visena-kunde som velger å koble dere på.
Teknisk oversikt Skrivebeskyttet tilgang

Én plattform bak

Systemet selskapet allerede lever i

Visena samler de essensielle verktøyene i en moderne praksis — CRM, kundescreening, oppdragsstyring, timer og fakturering — i én nettbasert løsning. Partner API åpner kjernepostene i det systemet for din egen programvare: ni ressurser under én kontrakt, de samme postene teamene ser på skjermen, lesbare og skrivbare over ren REST. Ingen eksport på e-post, ingen CSV-ritualer, ingen venting på at noen skal trykke på en knapp.

  • Kunder og kontakter. Registeret teamene arbeider i — person og company.
  • Oppdrag og prosjekter. Arbeidet dere leverer, med strukturen sin — project.
  • Oppgaver og aktiviteter. Det som er planlagt, gjort og loggført — activity.
  • Dokumenter og mapper. Ekte filer, arkivert der de hører hjemme — document og document/folder.
  • En endringsstrøm for arkivet. Det som er lagt til eller erstattet siden forrige kjøring — document/changes.
  • Maler. Formene nye kunder og prosjekter opprettes fra — company-template og project-template.
Begreper API-referanse

Det partnerne våre bygger

Din programvare, Visena under

Uansett hva selskapet driver på Visena, gjør Partner API det programmerbart. Fire mønstre dekker det meste partnere spør oss om.

Portal

Din egen portal

Sett en inngangsdør du selv designer foran Visena. Hver endring gjort gjennom API-et følger de samme forretningsreglene som Visenas egne skjermbilder — ingen skyggekopier, ingen drift, ingen overraskelser.

Import

Masseimport og migrering

Skal dere bort fra et gammelt system eller fra regneark? Last inn tusenvis av kunder, kontakter, prosjekter og dokumenter — med duplikatsjekk før du oppretter, og validering som aldri skriver en post halvveis.

Eksport

Eksport og rapportering

Gå gjennom et helt datasett i én gjennomgang med cursor-paginering, og hent dokumenter ved behov. Dataene dere har i Visena er deres — å få dem ut er en førsteklasses funksjon, ikke en supportsak.

Synk

Kontinuerlig synkronisering

Endringsstrømmer forteller deg nøyaktig hva som ble opprettet eller endret siden forrige kjøring — timeline på postene, document/changes på arkivet. Hold CRM-et, datavarehuset eller arbeidsflytverktøyene oppdatert, uten å lese alt om igjen hver natt.

Å gjøre kall Lister, paginering og synk

Se det i praksis

Ekte kall, ikke lysbilder

Ren HTTPS og JSON, standard OAuth 2.0 — kan teamet ditt kalle et REST-API, kan det bygge på Visena. Hvert kall har samme form: instansnavnet, API-versjonen, en locale, og så ressursen. Slik ser de daglige grepene ut.

Kallflyten: legitimasjon, token, API-kall, systemet ditt. Legitimasjonen din opprettet i Visena-instansen clientId + secret Tilgangstoken kortlevd og avgrenset …/auth/api/v1/token Partner API samme regler som skjermbildene /{instanceName}/api/v1/ {locale}/person Systemet ditt portal, ERP, datavarehus application/json POST Bearer JSON
Hvert kall følger de samme fire stegene: legitimasjonen byttes i et kortlevd tilgangstoken, tokenet autoriserer forespørselen, og svaret havner i ditt eget system. De heltrukne linjene er kall du gjør; den stiplede linjen er data som kommer tilbake.

Opprett poster i stor skala

Sjekk for duplikater først, opprett så. Selskaper med kjent organisasjonsnummer er beskyttet — API-et nekter å opprette det samme selskapet to ganger, en feil referanse skriver ingenting i det hele tatt, og hver importerte post viser hvem som lastet den inn.

import.sh
# any duplicates before we create?
GET /acme/api/v1/en/company/duplicates?orgNumber=983163327

# clear — create the client company
POST /acme/api/v1/en/company
{ "name": "Fjellheim Regnskap AS",
  "orgNumber": "983163327" }

→ 201 Created · Location: …/company/bQ4wR8

Gå gjennom hele datasettet

Cursor-paginering er laget for ett konsistent uttrekk: start på første side, følg links.next til slutt, og du har datasettet i én gjennomgang, filtrert til nøyaktig den delen du trenger. Den er ikke et grunnlag for å gjenoppta en synkronisering — en id tildeles ved første skriving, ikke ved commit, så en rad som blir committet utenfor id-rekkefølge kan havne bak en gjennomgang som allerede har passert den. Å gjenoppta er det den tidsvinduede timeline er til for: også cursor-paginert, og «minst én gang», så dedupliser på id. Ingen av listemodusene rapporterer slettinger — for arkivet er document/changes den eneste lesestien der en sletting er synlig.

export.sh
GET /acme/api/v1/en/person/cursor?limit=100

{ "items": [ …100 people… ],
  "links": { "next": "…/person/cursor?cursor=eyJp…" } }

# follow links.next until it disappears — export complete

Bare det som er endret

Hver ressurs har en endringsstrøm: alt som er opprettet eller endret siden et tidspunkt du velger. Ett tidsmerke, ett kall — ingen full gjennomlesing og ingen diffing på din side, enten du kjører hvert femte minutt eller én gang i døgnet.

sync.sh
# everything that changed since last night's run
GET /acme/api/v1/en/person/timeline?since=2026-08-20T02:00:00Z

{ "items": [ …created & modified people… ],
  "links": { "next": "…" } }

# apply, store the new watermark, done

Arkivet, programmerbart

Last opp filer på kunden eller oppdraget de hører til, organiser dem i mapper, og hent hele mappetrær tilbake som zip-pakker. Ekte binærfiler går inn og ut, ikke bare metadata, og en konfliktregel avgjør om en eksisterende fil erstattes, hoppes over eller beholdes ved siden av den nye.

archive.sh
# file the signed engagement letter on the client
POST /acme/api/v1/en/document   (multipart)
  file=@engagement-letter.pdf
  entityType=COMPANY  entityId=bQ4wR8

→ 201 Created · Location: …/document/dN3pT7

# later: the whole folder tree as one zip
GET /acme/api/v1/en/document/folder/fR2kX9/content

Presise endringer fra din egen frontend

Merge-patch-oppdateringer endrer nøyaktig de feltene du sender og ingenting annet — ideelt bak et skjema i din egen portal. Handler du for en navngitt bruker? Svaret registrerer begge identitetene: personen endringen ble gjort for, og hva som gjorde den.

portal.sh
PATCH /acme/api/v1/en/person/xK9mQ2
Content-Type: application/merge-patch+json

{ "jobTitle": "Head of Operations",
  "directPhone": null }          ← cleared; the rest untouched

→ 200 OK · modified + modifiedBy recorded

Hvorfor revisjonsselskaper spesielt

Etterrettelighet er ikke en funksjon vi la til. Det er måten API-et er bygget på.

Virksomheten deres er tillit og sporbarhet. En integrasjonsflate som gjør det uklart hvem som gjorde hva, ville vært diskvalifiserende — vår gjør det aldri.

Sikkerhet, uten seremoni

Låst som standard, åpent på dine vilkår

Sikkerhetsmodellen er den samme vi stoler på i vår egen plattform — og den holder seg unna veien for utviklerne dine.

Se beviset: skrivebeskyttet tilgang Legitimasjon og tokener

Profesjonelt av design

Standarder utviklerne dine allerede kjenner

Ingen proprietær SDK, ingen eksotisk protokoll. Partner API er bygget på de åpne standardene alle integrasjonsteam snakker — derfor skjer de første kallene på en ettermiddag, ikke i en sprint.

OAuth 2.0 client credentials REST + JSON over HTTPS JSON Merge Patch RFC 7396 Problem Details RFC 9457 Web Linking RFC 8288

Maskinlesbare feil, navigerbare pagineringslenker, presise delvise oppdateringer — konvensjonene er kjedelige med vilje. Kjedelig er det som integrerer godt, og det som fortsatt integrerer godt om fem år.

Kom i gang

Fra første samtale til produksjon

Ingen anskaffelseslabyrint, ingen seks ukers innføringsprogram. Dette er hele reisen.

Guidene nedenfor dekker legitimasjon, tokener, scopes, paginering og feilhåndtering, og referansen dokumenterer hvert endepunkt. Utviklerne dine kjenner seg hjemme i løpet av den første timen.

Spørsmålene vi får først

De korte svarene

Trenger vi en SDK eller spesialverktøy?

Nei. API-et er ren HTTPS med JSON-kropper og standard OAuth 2.0. Alle språk, alle HTTP-klienter og alle integrasjonsplattformer som kan sende en forespørsel fungerer — de fleste team gjør sitt første kall med ingenting annet enn curl.

Kan vi få dataene våre ut igjen?

Ja — fullstendig, og uten å spørre oss. Cursor-paginering går gjennom et helt datasett i én gjennomgang, timeline gjenopptar synkroniseringen etterpå, og dokumenter lastes ned som filer eller hele mappetrær. Å komme seg ut er en støttet funksjon, ikke en forhandling.

Går API-aktivitet rundt forretningsreglene i Visena?

Aldri. Skrivinger via API-et går gjennom samme validering og forretningslogikk som Visenas egne skjermbilder, og lander med samme sporbarhet. Det som er ugyldig i grensesnittet, er ugyldig gjennom API-et — dataene deres holder seg konsistente uansett hvilken dør de kom inn gjennom.

Hvem kontrollerer tilgangen, og hvor raskt kan den kuttes?

Kunden gjør det. Legitimasjon opprettes inne i kundens egen Visena-instans, avgrenset til nøyaktig de rettighetene integrasjonen trenger, og kan tilbakekalles med ett kall — hvert token dør innen omtrent ett minutt. Hemmeligheter vises én gang og lagres bare som en enveis hash.

Kan en integrasjon handle på vegne av en bestemt ansatt?

Ja. On-behalf-legitimasjon utstedes av kundens administrator for en navngitt bruker. Hver endring registrerer da begge identitetene — hvem det ble gjort for, og hva som gjorde det — som er nøyaktig det sporet en revisjonsmetodikk forventer.

Hva koster det?

Det avhenger av hva du bygger og hvilken skala du planlegger for. Snakk med kontaktpersonen din i Visena, eller skriv til sales@visena.com, så setter vi sammen vilkår som passer.

Alt i Partner API-dokumentasjonen

Ti sider: en oversikt for dem som skal godkjenne integrasjonen, åtte guider som bygger på hverandre, og endepunktsreferansen. Alle sider finnes på norsk og engelsk.

Guider, i leserekkefølge

Vurdering

Teknisk oversikt

Arkitektur, flaten du får og sikkerhetsmodellen — skrevet for dem som skal godkjenne integrasjonen.

technical-overview.html →
Guide

Kom i gang

Hele flyten i tre trekk, hva du trenger før du starter, og en 60-sekunders smakebit som returnerer en ekte post.

getting-started.html →
Guide

Begreper

Instanser, klientlegitimasjon, tilgangstokener og scopes, vanlig kontra on-behalf-legitimasjon, maskerte id-er, og hva locale i URL-en avgjør.

concepts.html →
Guide

Legitimasjon og tokener

Opprette, liste, tilbakekalle og rotere legitimasjon, og bytte den i et token — med en gjennomgang skjermbilde for skjermbilde første gang.

credentials.html →
Guide

Å gjøre kall

Anatomien til en URL, headerne hvert kall bærer, opprette, lese, oppdatere — PUT mot PATCH — slette, og responskonvensjonene det er verdt å kjenne.

requests.html →
Guide

Lister, paginering og synk

Offset-lister, en cursor-gjennomgang for ett konsistent uttrekk, tidsvinduede tidslinjer for å gjenoppta en synk, og filtre.

lists-and-sync.html →
Guide

Feil og feilsøking

Problem-dokumentet etter RFC 9457 som hver feil returnerer, hva du gjør ved hver statuskode, en retry-policy som ikke gjør det verre, og en rask diagnosetabell.

errors.html →
Garanti

Skrivebeskyttet tilgang

Hva et token med lesetilgang kan og ikke kan gjøre — og 403 Forbidden som beviser at en skrivebeskyttet integrasjon ikke er i stand til å endre noe.

read-only-access.html →
Guide

Sette i produksjon

Sjekklisten før du peker en integrasjon mot produksjon, og hvordan du får tak i oss når noe ikke stemmer.

go-live.html →

Endepunktsreferanse