ŽIVĚ · AUDIT CHAIN · EU
SYSTÉM · 99,99 % DOSTUPNOST
v 1.0 ↗ VYROBENO V EU
ZÁKLADNÍ URL
https://api.nexbasira.com/v1
🇪🇺 Hostováno v EU SemVer · v1 stabilní 12 měsíců zpětné kompat. min.

První relace za 5 minut.

# 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.

Vše, co můžete řídit z API.

POST GET DELETE

/sessions

Vytvořit, vypsat, načíst a ukončit inspekční relaci. Pozvánky SMS / e-mailem.

GET

/evidence

Vypsat důkazy relace, stáhnout podepsané PDF, načíst hash blockchainu.

GET

/whiteboards

Načíst anotace jako SVG / PNG podle relace. Export s časovým razítkem.

POST GET

/webhooks

Registrovat endpoint, rotovat tajný klíč, test-fire. Podpis HMAC-SHA256.

GET PATCH

/branding

Přizpůsobit logo, barvy a doménu pro režim white-label.

GET

/org

Číst metadata organizace, kvóty, členy, role RBAC.

Webhooky podepsané HMAC-SHA256.

Formát ve stylu Stripe s tolerancí odchylky hodin 5 min. Tajný klíč šifrovaný v klidu. Exponenciální opakování s backoffem až 24 h.

Dostupné události
session.createdRelace vytvořena, odkaz odeslán
session.joinedÚčastník se připojil
session.evidence.capturedNová fotografie / anotace
session.signedPřipojen podpis eIDAS
session.anchoredHash zapsán do blockchainu
session.completedPDF připraveno ke stažení
Příklad podpisu
# 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 typovaná, udržovaná SDK.

@nexbasira/node
v2.6.0 · Node 18+
npm install @nexbasira/node
  • Typy z OpenAPI
  • Stránkování async iterátorem
  • Vestavěné ověření webhooků
nexbasira (Python)
v2.6.0 · Python 3.10+
pip install nexbasira
  • Modely Pydantic v2
  • Režim async + sync
  • Typované chyby podle kódu
@nexbasira/react
v2.6.0 · React 18+
npm install @nexbasira/react
  • <Embed/> na klíč
  • Hooky useSession, useEvidence
  • Theming kompat. s Tailwind
@nexbasira/embed
v2.6.0 · Vanilla JS
<script src="cdn.nbx.com/embed.js"></script>
  • Bez frameworku, <30 KB
  • CDN distribuovaná v Evropě
  • Kompat. se všemi frameworky

Připojte Nexbasira k vašemu stacku.

🔑

OIDC + SAML 2.0 SSO

Provisioning just-in-time s allowlistem domén a výchozí rolí.

👥

SCIM 2.0

Automatický provisioning uživatelů a skupin. Bearer token na organizaci.

📨

Webhooky a ověření

Pomocníci pro ověření HMAC ve všech SDK. Exponenciální opakování.

🏠

Self-hosting

Zdokumentovaný stack Docker + Caddy. Dostupné v plánu Enterprise.

🔄

Idempotence

Hlavička Idempotency-Key na všech POST. Nikdy žádné duplikáty.

📊

Rate limits

Hlavičky X-RateLimit-* v každé odpovědi. Kvóty na klíč a na organizaci.

OpenAPI 3.1

Schéma generované, veřejné, verzované.

Stáhněte si filtrované schéma OpenAPI 3.1 (pouze veřejné operace) a generujte své typy automaticky.

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

Stabilita zaručená SemVer-URL

Zásadní změny žijí pod novým prefixem (/v2/) s překryvem alespoň 12 měsíců, než předchozí verze skončí. Aditivní změny (nová volitelná pole, nové endpointy, nové typy událostí) se nasazují na místě. Naše SDK považují neznámá pole za dopředně kompatibilní.

Připraveni integrovat Nexbasira?

Získejte svůj sandbox klíč API za 30 sekund, bez platební karty.