ΖΩΝΤΑΝΑ · ΑΛΥΣΙΔΑ ΕΛΕΓΧΟΥ · ΕΕ
ΣΥΣΤΗΜΑ · 99,99% ΔΙΑΘΕΣΙΜΟΤΗΤΑ
v 1.0 ↗ ΦΤΙΑΓΜΕΝΟ ΣΤΗΝ ΕΕ

Quickstart

Από «κανένας λογαριασμός» σε «συνεδρία δημιουργήθηκε + πρώτο webhook παραλήφθηκε» σε περίπου πέντε λεπτά. Θα χρησιμοποιήσουμε το Node SDK· της Python είναι σχεδόν πανομοιότυπο.

1. Αποκτήστε διαπιστευτήρια API

  1. Εγγραφείτε στο app.nexbasira.com — η ροή bootstrap δημιουργεί τον οργανισμό σας + τον χρήστη διαχειριστή σε ένα βήμα.
  2. Μεταβείτε στο Admin → API credentials και κάντε κλικ στο Issue credential.
  3. Αντιγράψτε το nb_pub_* + nb_sec_* ζεύγος. Το μυστικό εμφανίζεται ακριβώς μία φορά — αποθηκεύστε το αμέσως στον διαχειριστή μυστικών σας.

2. Εγκαταστήστε το SDK

npm install @nexbasira/node

Ή για Python: pip install nexbasira.

3. Δημιουργήστε μια συνεδρία

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. Εκδώστε μια πρόσκληση χρήστη πεδίου

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_..."

Στείλτε το URL στον χρήστη πεδίου σας — το ανοίγει σε τηλέφωνο (mobile Safari ή Chrome), παραχωρεί άδειες κάμερας + GPS, και ο χειριστής τον βλέπει στον πίνακα ελέγχου του SPA σε λιγότερο από 30 δευτερόλεπτα.

5. Συνδέστε το webhook

Τα webhooks ενεργοποιούνται σε session.created, session.completed, evidence.added, recording.ready, audit.anchored, signature.completed, και μερικά ακόμη. Καταχωρίστε ένα URL παράδοσης από το Admin → Webhooks και επαληθεύστε την υπογραφή σε κάθε 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. (Προαιρετικά) Ενσωματώστε το widget πλευράς πεδίου

Αν προτιμάτε να φιλοξενήσετε την εμπειρία χρήστη πεδίου μέσα στη δική σας εφαρμογή προς τον πελάτη αντί να χρησιμοποιήσετε το φιλοξενούμενο URL μας, χρησιμοποιήστε το widget ενσωμάτωσης:

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; Χρησιμοποιήστε το @nexbasira/react του <NexBasiraSession> component αντ' αυτού — ίδια επιφάνεια, ιδιωματική React.

Τι έχετε τώρα

  • Συνεδρίες που δημιουργήθηκαν μέσω API
  • Χρήστες πεδίου που συνδέονται μέσω υπογεγραμμένων URL πρόσκλησης (χωρίς εγκατάσταση εφαρμογής)
  • Webhooks επαληθευμένα + διανεμημένα στο backend σας
  • (Προαιρετικά) ενσωματωμένη εμπειρία πλευράς πεδίου μέσα στο προϊόν σας

Τι ακολουθεί