LIVE · AUDIT-KEDJA · EU-VÄRD
SYSTEM · 99,99 % DRIFTSTID
v 1.0 ↗ TILLVERKAT I EU
Integration

Publikt API + SDK:er + embed-widget

Fyra förstaparts-SDK:er över ett versionerat REST-API. Cursor-paginering, Idempotency-Key-headers, HMAC-webhook-signering, async-iterator-hjälpare, typade fel. De developer-experience-bitarna som bör finnas — inte eftertankar.

De fyra SDK:erna

Node

@nexbasira/node

Serversidan. Typad mot OpenAPI-schemat; async-iteratorer för paginerade listor; constructEvent(body, sig, secret) för webhook-verifiering. Noll runtime-beroenden utöver globala fetch.

Läs Node-guiden →
Python

nexbasira (PyPI)

Serversidan. Pydantic v2-modeller genererade från schemat. Sync- + async-klienter delar samma yta; webhook-verifiering finns i WebhookSigner.verify(body, sig, secret).

Läs Python-guiden →
React

@nexbasira/react

Hooks + komponenter för operatörsytan. <CertivisioSessionView /> renderar UI:t i sessionen med branding, bevis och chatt. Släpp in i din befintliga React-app — ingen portalomdirigering.

Läs React-guiden →
Embed

Iframe-widget

<script src=".../nb-embed.js"> + en div — integrationen med lägst friktion. För driftteam som kör operatörs-UI:t från en icke-React-stack. Branding ärvs från den inbäddande sidan via postMessage.

Läs Embed-guiden →

Byggd på OpenAPI-specen

Node- + Python-SDK:erna genereras från samma filtrerade OpenAPI 3.1-schema som vi publicerar på app.nexbasira.com/api/public-schema/ — så om du vill hoppa över SDK:n och generera din egen typade 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 handskrivna ergonomiska ytan (typade fel, async-iteratorer, webhook-verifiering) läggs ovanpå de genererade typerna. Du väljer inte mellan "snabb typad klient" och "bra DX" — båda levereras.

REST-konventioner, tråkiga med flit

KonventionVarför
Cursor-pagineringStabil under samtidiga skrivningar. next_cursor i svaret; skicka tillbaka den som ?cursor=….
Idempotency-Key-headerSkicka ett UUID; gör om vid timeout; servern returnerar det ursprungliga svaret hur som helst.
HMAC-SHA256-webhooksNB-Signature: t=…,v1=…. SDK:erna levererar en enrads-verifiering; 5-minuters replay-fönster.
Versionerat URL-prefix/api/v1/public/. Brytande ändringar flyttas till /v2/ med 12 månaders överlapp.
Scope-begränsade uppgifterVarje uppgift bär explicita scopes (sessions:write, evidence:read, …). Rotera utan att förlora en tenant.
Typat felkuvertSamma format för varje endpoint. code, detail, retry_after_seconds när det är relevant.

Stabilitetslöfte

Additiva ändringar — nya valfria fält, nya endpoints, nya webhook-event-typer — levereras på plats; SDK:erna behandlar okända fält som framåtkompatibla. Brytande ändringar flyttas till ett nytt URL-prefix och överlappar med föregående version i minst 12 månader. Du vaknar inte upp till en grön-till-röd-migrering en tisdagmorgon.

Börja med snabbstarten

Skapa en session, prägla en fältinbjudan, verifiera en webhook — på under 5 minuter. Kopiera-klistra curl + Node + Python på samma sida.