ΖΩΝΤΑΝΑ · ΑΛΥΣΙΔΑ ΕΛΕΓΧΟΥ · ΕΕ
ΣΥΣΤΗΜΑ · 99,99% ΔΙΑΘΕΣΙΜΟΤΗΤΑ
v 1.0 ↗ ΦΤΙΑΓΜΕΝΟ ΣΤΗΝ ΕΕ
ΒΑΣΙΚΗ URL
https://api.nexbasira.com/v1
🇪🇺 Φιλοξενία στην ΕΕ SemVer · v1 σταθερή 12 μήνες ελάχ. συμβατότητα προς τα πίσω

Η πρώτη σας συνεδρία σε 5 λεπτά.

# 1. Créer une session d'inspection
curl -X POST https://api.nexbasira.com/v1/sessions \
-H "Authorization: Bearer nbx_live_sk_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"type": "field_inspection",
"reference": "INS-42871",
"participant": {
"name": "Marie L.",
"channel": "sms",
"phone": "+33612345678"
},
"callbacks": {
"session.completed": "https://your-app.com/webhooks/nbx"
}
}'
# Réponse 201 — la session est créée, le lien SMS est en route
{
"id": "sess_42871",
"status": "pending",
"join_url": "https://join.nexbasira.com/s/abc123def...",
"expires_at": "2026-05-26T14:00:00Z"
}
import Nexbasira from '@nexbasira/node';
const nbx = new Nexbasira({ apiKey: process.env.NBX_KEY });
const session = await nbx.sessions.create({
type: 'field_inspection',
reference: 'INS-42871',
participant: {
name: 'Marie L.',
channel: 'sms',
phone: '+33612345678',
},
callbacks: {
'session.completed': 'https://your-app.com/webhooks/nbx',
},
});
console.log(session.join_url);
// → https://join.nexbasira.com/s/abc123def...
// Itérer sur les sessions récentes (async iterator)
for await (const s of nbx.sessions.list({ status: 'completed' })) {
console.log(s.id, s.completed_at);
}
from nexbasira import Nexbasira
nbx = Nexbasira(api_key=os.environ["NBX_KEY"])
session = nbx.sessions.create(
type="field_inspection",
reference="INS-42871",
participant={
"name": "Marie L.",
"channel": "sms",
"phone": "+33612345678",
},
callbacks={
"session.completed": "https://your-app.com/webhooks/nbx",
},
)
print(session.join_url)
# → https://join.nexbasira.com/s/abc123def...
# Récupérer le dossier de preuve une fois signé
evidence = nbx.evidence.retrieve(session_id=session.id)
print(evidence.pdf_url, evidence.audit_chain_hash)
import { NexbasiraEmbed } from '@nexbasira/react';
export function InspectionView({ sessionId }) {
return (
<NexbasiraEmbed
sessionId={sessionId}
onCapture={(evt) => trackPhoto(evt)}
onSigned={(evt) => redirect(evt.evidence_url)}
theme="dark"
brand={{ logo: "/logo.svg", accent: "#00E5A0" }}
/>
);
}
// L'embed gère WebRTC, capture GPS, signature eIDAS.
// Vous gérez l'UI autour. White-label par défaut.

Όλα όσα μπορείτε να ελέγξετε από το API.

POST GET DELETE

/sessions

Δημιουργήστε, εμφανίστε, ανακτήστε και τερματίστε μια συνεδρία επιθεώρησης. Προσκλήσεις SMS / email.

GET

/evidence

Εμφανίστε τα αποδεικτικά στοιχεία μιας συνεδρίας, κατεβάστε το υπογεγραμμένο PDF, ανακτήστε το hash της blockchain.

GET

/whiteboards

Ανακτήστε τους σχολιασμούς ως SVG / PNG ανά συνεδρία. Εξαγωγή με χρονοσήμανση.

POST GET

/webhooks

Καταχωρήστε endpoint, εναλλάξτε το μυστικό, δοκιμαστική αποστολή. Υπογραφή HMAC-SHA256.

GET PATCH

/branding

Προσαρμόστε λογότυπο, χρώματα, τομέα για τη λειτουργία white-label.

GET

/org

Ανάγνωση μεταδεδομένων οργανισμού, ποσοστώσεων, μελών, ρόλων RBAC.

Webhooks υπογεγραμμένα με HMAC-SHA256.

Μορφή τύπου Stripe με ανοχή απόκλισης ρολογιού 5 λεπτών. Το μυστικό αποθηκεύεται κρυπτογραφημένο σε ηρεμία. Εκθετικές επαναπροσπάθειες με backoff έως και 24 ώρες.

Διαθέσιμα συμβάντα
session.createdΗ συνεδρία δημιουργήθηκε, ο σύνδεσμος εστάλη
session.joinedΟ συμμετέχων συνδέθηκε
session.evidence.capturedΝέα φωτογραφία / σχολιασμός
session.signedΕφαρμόστηκε υπογραφή eIDAS
session.anchoredΤο hash καταγράφηκε στην αλυσίδα
session.completedΤο PDF είναι έτοιμο για λήψη
Παράδειγμα υπογραφής
# En-tête envoyé par Nexbasira
Nbx-Signature: t=1714060800,v1=5257a869e7ec...
# Vérification (Node.js)
import { verifyWebhook } from '@nexbasira/node';
app.post('/webhooks/nbx', (req, res) => {
const event = verifyWebhook(
req.rawBody,
req.headers['nbx-signature'],
process.env.NBX_WEBHOOK_SECRET
);
if (event.type === 'session.completed') {
downloadEvidence(event.data.id);
}
res.json({ ok: true });
});

4 τυποποιημένα, συντηρούμενα SDK.

@nexbasira/node
v2.6.0 · Node 18+
npm install @nexbasira/node
  • Τύποι από το OpenAPI
  • Σελιδοποίηση με async iterator
  • Ενσωματωμένη επαλήθευση webhook
nexbasira (Python)
v2.6.0 · Python 3.10+
pip install nexbasira
  • Μοντέλα Pydantic v2
  • Λειτουργία async + sync
  • Τυποποιημένα σφάλματα ανά κωδικό
@nexbasira/react
v2.6.0 · React 18+
npm install @nexbasira/react
  • Έτοιμο προς χρήση <Embed/>
  • Hooks useSession, useEvidence
  • Θεματοποίηση συμβατή με Tailwind
@nexbasira/embed
v2.6.0 · Vanilla JS
<script src="cdn.nbx.com/embed.js"></script>
  • Χωρίς framework, <30 KB
  • CDN κατανεμημένο στην Ευρώπη
  • Συμβατό με όλα τα frameworks

Συνδέστε το Nexbasira με το stack σας.

🔑

OIDC + SAML 2.0 SSO

Just-in-time provisioning με allowlist ανά τομέα και προεπιλεγμένο ρόλο.

👥

SCIM 2.0

Αυτόματο provisioning χρηστών και ομάδων. Bearer token ανά οργανισμό.

📨

Webhooks & επαλήθευση

Βοηθοί επαλήθευσης HMAC σε όλα τα SDK. Εκθετικές επαναπροσπάθειες.

🏠

Self-hosting

Τεκμηριωμένο stack Docker + Caddy. Διαθέσιμο στο πλάνο Enterprise.

🔄

Idempotency

Κεφαλίδα Idempotency-Key σε όλα τα POST. Κανένα διπλότυπο, ποτέ.

📊

Rate limits

Κεφαλίδες X-RateLimit-* σε κάθε απόκριση. Ποσοστώσεις ανά κλειδί + ανά οργανισμό.

OpenAPI 3.1

Παραγόμενο, δημόσιο, με έκδοση σχήμα.

Κατεβάστε το φιλτραρισμένο σχήμα OpenAPI 3.1 (μόνο δημόσιες λειτουργίες) και δημιουργήστε αυτόματα τους τύπους σας.

https://api.nexbasira.com/v1/openapi.json
# Types TypeScript
npx openapi-typescript \
https://api.nexbasira.com/v1/openapi.json \
-o src/nbx-types.ts
# Modèles Pydantic
datamodel-codegen \
--url https://api.nexbasira.com/v1/openapi.json \
--output-model-type pydantic_v2.BaseModel \
--output nbx_models.py

Εγγυημένη σταθερότητα μέσω SemVer-URL

Οι αλλαγές που σπάνε τη συμβατότητα ζουν κάτω από ένα νέο πρόθεμα (/v2/) με τουλάχιστον 12 μήνες επικάλυψης πριν αποσυρθεί η προηγούμενη έκδοση. Οι προσθετικές αλλαγές (νέα προαιρετικά πεδία, νέα endpoints, νέοι τύποι συμβάντων) αναπτύσσονται επιτόπου. Τα SDK μας αντιμετωπίζουν τα άγνωστα πεδία ως συμβατά προς τα εμπρός.

Έτοιμοι να ενσωματώσετε το Nexbasira;

Αποκτήστε το sandbox κλειδί API σας σε 30 δευτερόλεπτα, χωρίς πιστωτική κάρτα.