Een schone, getypeerde, gedocumenteerde API.
REST + JSON, geversioneerd per URL, scope-gated, gepagineerd per cursor. SDK's voor Node, Python, React en Embed. Ondertekende webhooks, gegenereerde OpenAPI 3.1, kant-en-klare codegenerators.
Uw eerste sessie in 5 minuten.
# 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.Alles wat u kunt aansturen via de API.
/sessions
Maak, lijst op, haal op en beëindig een inspectiesessie. Uitnodigingen via sms / e-mail.
/evidence
Toon het bewijsmateriaal van een sessie, download de ondertekende PDF, haal de blockchain-hash op.
/whiteboards
Haal annotaties op als SVG / PNG per sessie. Export met tijdstempel.
/webhooks
Registreer een endpoint, roteer het secret, test-fire. HMAC-SHA256-handtekening.
/branding
Pas logo, kleuren en domein aan voor de white-label-modus.
/org
Lees organisatiemetadata, quota, leden en RBAC-rollen.
HMAC-SHA256 ondertekende webhooks.
Stripe-stijl formaat met 5 min klokafwijkingstolerantie. Secret versleuteld in rust. Exponentiële nieuwe pogingen met backoff tot 24 u.
# 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 getypeerde, onderhouden SDK's.
npm install @nexbasira/node
- Types uit OpenAPI
- Async iterator-paginering
- Ingebouwde webhook-verificatie
pip install nexbasira
- Pydantic v2-modellen
- Async- + sync-modus
- Getypeerde fouten per code
npm install @nexbasira/react
- Kant-en-klare <Embed/>
- Hooks useSession, useEvidence
- Tailwind-compatibele theming
<script src="cdn.nbx.com/embed.js"></script>
- Geen framework, <30 KB
- In Europa gedistribueerde CDN
- Compatibel met alle frameworks
Verbind Nexbasira met uw stack.
OIDC + SAML 2.0 SSO
Just-in-time provisioning met domein-allowlist en standaardrol.
SCIM 2.0
Automatische provisioning van gebruikers en groepen. Bearer-token per organisatie.
Webhooks & verificatie
HMAC-verificatiehelpers in alle SDK's. Exponentiële nieuwe pogingen.
Self-hosting
Docker + Caddy-stack gedocumenteerd. Beschikbaar in het Enterprise-plan.
Idempotentie
Idempotency-Key-header op alle POST-verzoeken. Nooit dubbele records.
Rate limits
X-RateLimit-*-headers op elke respons. Quota per sleutel + per organisatie.
Gegenereerd, openbaar, geversioneerd schema.
Download het gefilterde OpenAPI 3.1-schema (alleen openbare bewerkingen) en genereer uw types automatisch.
# 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
Stabiliteit gegarandeerd door SemVer-URL
Breaking changes leven onder een nieuwe prefix (/v2/) met minstens 12 maanden overlap voordat de vorige versie wordt uitgefaseerd. Additieve wijzigingen (nieuwe optionele velden, nieuwe endpoints, nieuwe eventtypes) worden ter plekke uitgerold. Onze SDK's behandelen onbekende velden als voorwaarts compatibel.
Klaar om Nexbasira te integreren?
Verkrijg uw sandbox-API-sleutel in 30 seconden, geen creditcard nodig.