Partner API · v1
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
Visena driver hverdagen i selskaper hvis arbeid må tåle ettersyn. Partner API tar den samme disiplinen videre til hver integrasjon du bygger oppå.
Én plattform bak
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.
person og company.project.activity.document og document/folder.document/changes.company-template og project-template.Det partnerne våre bygger
Uansett hva selskapet driver på Visena, gjør Partner API det programmerbart. Fire mønstre dekker det meste partnere spør oss om.
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.
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.
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.
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.
Se det i praksis
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.
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.
# 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
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.
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
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.
# 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
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.
# 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
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.
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
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
Sikkerhetsmodellen er den samme vi stoler på i vår egen plattform — og den holder seg unna veien for utviklerne dine.
scope er obligatorisk ved utstedelse: en tokenforespørsel uten scope= avvises med invalid_scope. Lese/skrive-skillet håndheves deretter per forespørsel, i et filter foran endepunktet — en skrivebeskyttet eksportjobb er ikke i stand til å skrive i det hele tatt.Profesjonelt av design
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.
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
Ingen anskaffelseslabyrint, ingen seks ukers innføringsprogram. Dette er hele reisen.
clientId og hemmelighet, som kan tilbakekalles når som helst.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
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.
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.
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.
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.
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.
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.
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
Arkitektur, flaten du får og sikkerhetsmodellen — skrevet for dem som skal godkjenne integrasjonen.
technical-overview.html → GuideHele flyten i tre trekk, hva du trenger før du starter, og en 60-sekunders smakebit som returnerer en ekte post.
getting-started.html → GuideInstanser, klientlegitimasjon, tilgangstokener og scopes, vanlig kontra on-behalf-legitimasjon, maskerte id-er, og hva locale i URL-en avgjør.
concepts.html → GuideOpprette, liste, tilbakekalle og rotere legitimasjon, og bytte den i et token — med en gjennomgang skjermbilde for skjermbilde første gang.
credentials.html → GuideAnatomien til en URL, headerne hvert kall bærer, opprette, lese, oppdatere — PUT mot PATCH — slette, og responskonvensjonene det er verdt å kjenne.
requests.html → GuideOffset-lister, en cursor-gjennomgang for ett konsistent uttrekk, tidsvinduede tidslinjer for å gjenoppta en synk, og filtre.
lists-and-sync.html → GuideProblem-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 → GarantiHva 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 → GuideSjekklisten 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