Uma API limpa, tipada, documentada.
REST + JSON, versionada por URL, scope-gated, paginada por cursor. SDKs Node, Python, React e Embed. Webhooks assinados, OpenAPI 3.1 gerado, geradores de código prontos a usar.
A sua primeira sessão em 5 minutos.
# 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.Tudo o que pode controlar a partir da API.
/sessions
Criar, listar, obter e terminar uma sessão de inspeção. Convites por SMS / email.
/evidence
Listar as provas de uma sessão, transferir o PDF assinado, obter o hash da blockchain.
/whiteboards
Obter as anotações em SVG / PNG por sessão. Exportação com carimbo temporal.
/webhooks
Registar endpoint, rotação do segredo, teste de disparo. Assinatura HMAC-SHA256.
/branding
Personalizar logótipo, cores, domínio para o modo marca branca.
/org
Leitura dos metadados da organização, quotas, membros, funções RBAC.
Webhooks assinados HMAC-SHA256.
Formato ao estilo Stripe com tolerância de relógio de 5 minutos. Segredo armazenado cifrado em repouso. Novas tentativas exponenciais com backoff até 24h.
# 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 SDKs tipados e mantidos.
npm install @nexbasira/node
- Tipos gerados a partir de OpenAPI
- Paginação async iterator
- Verificação de webhook integrada
pip install nexbasira
- Modelos Pydantic v2
- Modo async + sync
- Erros tipados por código
npm install @nexbasira/react
- Componente <Embed/> pronto a usar
- Hooks useSession, useEvidence
- Theming compatível com Tailwind
<script src="cdn.nbx.com/embed.js"></script>
- Zero framework, <30 KB
- CDN distribuído na Europa
- Compatível com todos os frameworks
Ligue a Nexbasira à sua stack.
OIDC + SAML 2.0 SSO
Provisioning just-in-time com allowlist por domínio e função por defeito.
SCIM 2.0
Provisioning automático de utilizadores e grupos. Bearer token por organização.
Webhooks & verificação
Helpers de verificação HMAC em todos os SDKs. Novas tentativas exponenciais.
Self-hosting
Stack Docker + Caddy documentada. Disponível no plano Enterprise.
Idempotência
Cabeçalho Idempotency-Key em todos os POST. Sem duplicados, nunca.
Rate limits
Cabeçalhos X-RateLimit-* em cada resposta. Quotas por chave API e por org.
Esquema gerado, público, versionado.
Transfira o esquema OpenAPI 3.1 filtrado (apenas as operações públicas) e gere os seus tipos automaticamente.
# 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
Estabilidade garantida por SemVer-URL
As alterações disruptivas vivem sob um novo prefixo (/v2/) com pelo menos 12 meses de sobreposição antes da reforma da versão anterior. As adições (novos campos opcionais, novos endpoints, novos tipos de eventos) são implementadas no local. Os nossos SDKs tratam os campos desconhecidos como compatíveis com versões futuras.
Pronto para integrar a Nexbasira?
Obtenha a sua chave API sandbox em 30 segundos, sem cartão de crédito.