NA ŻYWO · ŁAŃCUCH AUDYTU · UE
SYSTEM · 99,99% DOSTĘPNOŚĆ
v 1.0 ↗ WYPRODUKOWANO W UE
Integracja

Publiczne API + SDK + widget do osadzania

Cztery firmowe SDK oparte na wersjonowanym REST API. Paginacja kursorowa, nagłówki Idempotency-Key, podpisywanie webhooków HMAC, helpery iteratorów asynchronicznych, typowane błędy. Elementy doświadczenia programisty, które powinny tu być — nie jako dodatek na później.

Cztery SDK

Node

@nexbasira/node

Po stronie serwera. Typowane względem schematu OpenAPI; iteratory asynchroniczne dla list stronicowanych; constructEvent(body, sig, secret) do weryfikacji webhooków. Zero zależności runtime poza globalnym fetch.

Przeczytaj przewodnik Node →
Python

nexbasira (PyPI)

Po stronie serwera. Modele Pydantic v2 generowane ze schematu. Klienci synchroniczny i asynchroniczny współdzielą tę samą powierzchnię; weryfikacja webhooków znajduje się w WebhookSigner.verify(body, sig, secret).

Przeczytaj przewodnik Python →
React

@nexbasira/react

Hooki i komponenty dla powierzchni operatora. <CertivisioSessionView /> renderuje interfejs w sesji z brandingiem, materiałem dowodowym i czatem. Wstaw do istniejącej aplikacji React — bez przekierowania do portalu.

Przeczytaj przewodnik React →
Embed

Widget iframe

<script src=".../nb-embed.js"> + div — integracja o najniższym progu wejścia. Dla zespołów operacyjnych, które prowadzą interfejs operatora ze stosu innego niż React. Branding jest dziedziczony ze strony osadzającej za pośrednictwem postMessage.

Przeczytaj przewodnik Embed →

Zbudowane na specyfikacji OpenAPI

SDK Node i Python są generowane z tego samego filtrowanego schematu OpenAPI 3.1, który publikujemy pod app.nexbasira.com/api/public-schema/ — więc jeśli chcą Państwo pominąć SDK i wygenerować własnego typowanego klienta w Go lub Rust, można to zrobić:

# 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

Ręcznie napisana ergonomiczna powierzchnia (typowane błędy, iteratory asynchroniczne, weryfikacja webhooków) nakłada się na te wygenerowane typy. Nie trzeba wybierać między „szybkim typowanym klientem” a „dobrym DX” — dostajesz oba.

Konwencje REST, celowo nudne

KonwencjaDlaczego
Paginacja kursorowaStabilna przy równoczesnych zapisach. next_cursor w odpowiedzi; przekaż go z powrotem jako ?cursor=….
Nagłówek Idempotency-KeyWyślij UUID; ponów przy przekroczeniu limitu czasu; serwer w obu przypadkach zwróci oryginalną odpowiedź.
Webhooki HMAC-SHA256NB-Signature: t=…,v1=…. SDK dostarczają jednolinijkową weryfikację; 5-minutowe okno powtórki.
Wersjonowany prefiks URL/api/v1/public/. Zmiany łamiące kompatybilność przechodzą do /v2/ z 12-miesięcznym okresem nakładania.
Poświadczenia z ograniczonym zakresemKażde poświadczenie niesie jawne zakresy (sessions:write, evidence:read, …). Rotuj bez utraty tenanta.
Typowana koperta błęduTen sam kształt w każdym endpoincie. code, detail, retry_after_seconds tam, gdzie ma to znaczenie.

Obietnica stabilności

Zmiany addytywne — nowe pola opcjonalne, nowe endpointy, nowe typy zdarzeń webhooków — wchodzą w miejscu; SDK traktują nieznane pola jako kompatybilne w przód. Zmiany łamiące kompatybilność przechodzą do nowego prefiksu URL i nakładają się z poprzednią wersją przez co najmniej 12 miesięcy. Nie obudzisz się w środę rano z migracją z zielonego na czerwony.

Zacznij od szybkiego startu

Utwórz sesję, wystaw zaproszenie terenowe, zweryfikuj webhook — w niecałe 5 minut. Gotowe do skopiowania curl + Node + Python na tej samej stronie.