Siisti, tyypitetty, dokumentoitu API.
REST + JSON, URL-versioitu, scope-rajattu, kohdistinsivutettu. Node-, Python-, React- ja Embed-SDK:t. Allekirjoitetut webhookit, generoitu OpenAPI 3.1, valmiit koodigeneraattorit.
Ensimmäinen istuntosi 5 minuutissa.
# 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.Kaikki, mitä voit ohjata API:sta.
/sessions
Luo, listaa, hae ja päätä tarkastusistunto. SMS-/sähköpostikutsut.
/evidence
Listaa istunnon todisteet, lataa allekirjoitettu PDF, hae blockchain-hash.
/whiteboards
Hae merkinnät SVG-/PNG-muodossa istunnoittain. Aikaleimattu vienti.
/webhooks
Rekisteröi päätepiste, kierrätä salaisuus, testilähetys. HMAC-SHA256-allekirjoitus.
/branding
Mukauta logo, värit ja verkkotunnus white-label-tilaa varten.
/org
Lue organisaation metatiedot, kiintiöt, jäsenet ja RBAC-roolit.
HMAC-SHA256-allekirjoitetut webhookit.
Stripe-tyylinen muoto 5 minuutin kellon vinouman toleranssilla. Salaisuus salataan levossa. Eksponentiaaliset uudelleenyritykset backoffilla jopa 24 tuntiin asti.
# 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 tyypitettyä, ylläpidettyä SDK:ta.
npm install @nexbasira/node
- Tyypit OpenAPI:sta
- Async-iteraattorisivutus
- Sisäänrakennettu webhook-vahvistus
pip install nexbasira
- Pydantic v2 -mallit
- Async- ja sync-tila
- Tyypitetyt virheet koodeittain
npm install @nexbasira/react
- Käyttövalmis <Embed/>
- Hookit useSession, useEvidence
- Tailwind-yhteensopiva teemoitus
<script src="cdn.nbx.com/embed.js"></script>
- Ei kehystä, <30 kt
- Eurooppaan jaeltu CDN
- Yhteensopiva kaikkien kehysten kanssa
Yhdistä Nexbasira tekniikkapinoosi.
OIDC + SAML 2.0 SSO
Just-in-time-provisiointi verkkotunnusten sallituslistalla ja oletusroolilla.
SCIM 2.0
Käyttäjien ja ryhmien automaattinen provisiointi. Organisaatiokohtainen bearer-token.
Webhookit & vahvistus
HMAC-vahvistusapurit kaikissa SDK:issa. Eksponentiaaliset uudelleenyritykset.
Itseisännöinti
Docker + Caddy -pino dokumentoitu. Saatavilla Enterprise-tilauksessa.
Idempotenssi
Idempotency-Key-otsake kaikissa POST-pyynnöissä. Ei koskaan duplikaatteja.
Nopeusrajat
X-RateLimit-*-otsakkeet jokaisessa vastauksessa. Avain- ja organisaatiokohtaiset kiintiöt.
Generoitu, julkinen, versioitu skeema.
Lataa suodatettu OpenAPI 3.1 -skeema (vain julkiset operaatiot) ja generoi tyyppisi automaattisesti.
# 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-taattu vakaus
Rikkovat muutokset elävät uuden etuliitteen alla (/v2/) ja niillä on vähintään 12 kuukauden päällekkäisyys ennen kuin edellinen versio poistetaan käytöstä. Lisäävät muutokset (uudet valinnaiset kentät, uudet päätepisteet, uudet tapahtumatyypit) julkaistaan paikallaan. SDK:mme käsittelevät tuntemattomat kentät eteenpäin yhteensopivina.
Valmiina integroimaan Nexbasiran?
Hanki sandbox-API-avaimesi 30 sekunnissa, ilman luottokorttia.