Snabbstart
Från "inget konto" till "session skapad + första webhook mottagen" på ungefär fem minuter. Vi använder Node-SDK:n; Python är nästan identisk.
1. Skaffa API-uppgifter
- Registrera dig på app.nexbasira.com — bootstrap-flödet skapar din organisation + admin-användare i ett steg.
- Gå till Admin → API-uppgifter och klicka på Utfärda uppgift.
- Kopiera
nb_pub_*+nb_sec_*-paret. Hemligheten visas exakt en gång — spara den i din secrets manager direkt.
2. Installera SDK:n
npm install @nexbasira/node Eller för Python: pip install nexbasira.
3. Skapa en session
import { NexBasira } from "@nexbasira/node";
const nb = new NexBasira({
apiKey: process.env.NB_PUBLIC_KEY!,
apiSecret: process.env.NB_SECRET_KEY!,
});
const session = await nb.sessions.create({
notes: "Vehicle damage — claim CL-2026-0042",
scheduled_for: "2026-05-23T10:00:00Z",
});
console.log("Session id:", session.id);
// → "0c8f4d2e-..." 4. Prägla en fältanvändarinbjudan
const invite = await nb.sessions.invite(session.id, {
recipient_email: "alex@policyholder.com",
send_email: true,
});
console.log("Field URL (shown ONCE):", invite.url);
// → "https://app.nexbasira.com/join/0c8f.../?t=tok_..." Skicka URL:en till din fältanvändare — hen öppnar den på en telefon (mobil Safari eller Chrome), ger kamera- + GPS-behörigheter, och operatören ser hen på SPA-dashboarden på under 30 sekunder.
5. Koppla upp webhooken
Webhooks utlöses vid session.created, session.completed,
evidence.added, recording.ready, audit.anchored,
signature.completed, och några till. Registrera en leverans-URL från Admin → Webhooks och verifiera signaturen på varje POST:
// Express handler
app.post("/nb-webhook", express.raw({ type: "application/json" }), (req, res) => {
const sig = req.header("NB-Signature")!;
const secret = process.env.NB_WEBHOOK_SECRET!;
try {
const event = nb.webhooks.constructEvent(req.body, sig, secret);
// event is now type-narrowed by event.type
switch (event.type) {
case "session.completed":
await onSessionCompleted(event.data);
break;
case "audit.anchored":
await onAuditAnchored(event.data);
break;
}
res.status(204).end();
} catch (err) {
if (err instanceof InvalidSignatureError) {
return res.status(401).send("bad signature");
}
throw err;
}
}); 6. (Valfritt) Bädda in fältsidans widget
Om du hellre vill hosta fältanvändarupplevelsen i din egen kundvända app i stället för att använda vår hostade URL, använd embed-widgeten:
import { embed } from "@nexbasira/embed";
const widget = embed({
container: "#nb-host",
sessionUrl: invite.url,
onSessionComplete: (id) => router.push(`/inspections/${id}`),
});
// Imperative methods on the returned handle:
widget.requestSnapshot();
widget.openWhiteboard();
widget.endSession(); React-app? Använd @nexbasira/reacts <NexBasiraSession> -komponenten i stället — samma yta, idiomatisk React.
Vad du har nu
- Sessioner skapade via API
- Fältanvändare som ansluter via signerade inbjudnings-URL:er (ingen appinstallation)
- Webhooks verifierade + hanterade i din backend
- (Valfritt) inbäddad fältsidesupplevelse i din produkt
Vad som kommer härnäst
- Koncept — vad en session, en bevisrad och en revisionskedja faktiskt är
- Fullständig API-referens — varje endpoint med exempel
- Fördjupning i webhooks — event-typer, omförsöksbeteende, idempotens
- SSO-uppsättning — OIDC + SAML för ditt IT-team