LIVE · AUDIT-KJEDE · EU-VERTET
SYSTEM · 99,99 % OPPETID
v 1.0 ↗ LAGET I EU
Integrasjon

Offentlig API + SDK-er + embed-widget

Fire førstepartseide SDK-er over et versjonert REST-API. Cursor-paginering, Idempotency-Key-headere, HMAC-webhook-signering, async-iterator-hjelpere, typede feil. Utvikleropplevelses-bitene som bør være der — ikke ettertanker.

De fire SDK-ene

Node

@nexbasira/node

Serverside. Typet mot OpenAPI-skjemaet; async-iteratorer for paginerte lister; constructEvent(body, sig, secret) for webhook-verify. Null runtime-avhengigheter utover global fetch.

Les Node-guiden →
Python

nexbasira (PyPI)

Serverside. Pydantic v2-modeller generert fra skjemaet. Sync- + async-klienter deler samme overflate; webhook-verify ligger på WebhookSigner.verify(body, sig, secret).

Les Python-guiden →
React

@nexbasira/react

Hooks + komponenter for operatøroverflaten. <CertivisioSessionView /> gjengir øktens brukergrensesnitt med merkevare, bevis og chat. Slipp den inn i din eksisterende React-app — ingen portal-omdirigering.

Les React-guiden →
Embed

Iframe-widget

<script src=".../nb-embed.js"> + en div — integrasjonen med lavest friksjon. For driftsteam som kjører operatør-grensesnittet fra en ikke-React-stack. Merkevaren arves fra den innbyggende siden via postMessage.

Les Embed-guiden →

Bygget på OpenAPI-spesifikasjonen

Node- + Python-SDK-ene genereres fra det samme filtrerte OpenAPI 3.1-skjemaet vi publiserer på app.nexbasira.com/api/public-schema/ — så hvis du vil hoppe over SDK-en og generere din egen typede klient i Go eller Rust, kan du det:

# Node typed client
npx openapi-typescript https://app.nexbasira.com/api/public-schema/ -o src/nb-types.ts

# Python typed models
datamodel-codegen \
  --url https://app.nexbasira.com/api/public-schema/ \
  --input-file-type openapi \
  --output-model-type pydantic_v2.BaseModel \
  --output cvp_models.py

Den håndskrevne ergonomiske overflaten (typede feil, async-iteratorer, webhook-verify) legges oppå de genererte typene. Du velger ikke mellom "rask typet klient" og "god DX" — begge leveres.

REST-konvensjoner, gjort kjedelige med vilje

KonvensjonHvorfor
Cursor-pagineringStabil under samtidige skrivinger. next_cursor i responsen; send den tilbake som ?cursor=….
Idempotency-Key-headerSend en UUID; prøv på nytt ved timeout; serveren returnerer den opprinnelige responsen uansett.
HMAC-SHA256-webhooksNB-Signature: t=…,v1=…. SDK-ene leverer en enlinjes verify; 5-min replay-vindu.
Versjonert URL-prefiks/api/v1/public/. Bruddendringer flyttes til /v2/ med 12 måneders overlapp.
Scope-styrte legitimasjonerHver legitimasjon bærer eksplisitte scopes (sessions:write, evidence:read, …). Roter uten å miste en tenant.
Typet feilkonvoluttSamme form på hvert endepunkt. code, detail, retry_after_seconds når relevant.

Stabilitetsløfte

Additive endringer — nye valgfrie felt, nye endepunkter, nye webhook-hendelsestyper — leveres på plass; SDK-ene behandler ukjente felt som forover-kompatible. Bruddendringer flyttes til et nytt URL-prefiks og overlapper med forrige versjon i minst 12 måneder. Du våkner ikke til en grønn-til-rød-migrering en tirsdag morgen.

Start med hurtigstarten

Opprett en økt, lag en feltinvitasjon, verifiser en webhook — på under 5 minutter. Kopier-lim curl + Node + Python på samme side.