API Tablic
Tablica to współdzielona powierzchnia do rysowania w sesji (pod spodem Excalidraw). Gdy operator wykona jej zrzut, platforma przechwytuje zarówno wyrenderowany PNG, jak i kanoniczny JSON elementów Excalidraw, hashowane razem — dzięki czemu łańcuch audytu może udowodnić, że te same kształty, które były widoczne na ekranie, są tymi, które audytor zobaczy później.
Przechwycenie tablicy to po prostu wiersz materiału dowodowego z kind=whiteboard. Dedykowany endpoint poniżej to wygodny filtr — używaj go, gdy istotne są wyłącznie tablice, a API Materiału dowodowego gdy potrzebne są wszystkie artefakty naraz.
Lista tablic dla sesji
GET /api/v1/public/sessions/{session_id}/whiteboards — zakres whiteboards:read
curl "https://app.nexbasira.com/api/v1/public/sessions/0c8f.../whiteboards?limit=25" \
-H "Authorization: Bearer nb_sec_..." Zwraca paginowane kursorowo wiersze materiału dowodowego typu kind=whiteboard.
{
"data": [
{
"id": "ev-wb1...",
"session": "0c8f...",
"kind": "whiteboard",
"status": "ready",
"mime": "image/png",
"byte_size": 42178,
"sha256": "8e2c01...",
"captured_at": "2026-05-23T10:18:44Z",
"created_at": "2026-05-23T10:18:44Z",
"completed_at":"2026-05-23T10:18:45Z"
}
],
"has_more": false,
"next_cursor": null
} Pobieranie + weryfikacja
Tak samo jak każdy inny wiersz materiału dowodowego — pobierz podpisany URL z endpoint pobierania materiału dowodowego, zahashuj bajty za pomocą SHA-256 i porównaj ze zwróconym sha256:
curl "https://app.nexbasira.com/api/v1/public/evidence/ev-wb1.../download" \
-H "Authorization: Bearer nb_sec_..." JSON elementów Excalidraw
Każdego wiersza tablicy integrity_jsonb.whiteboard_state przechowuje kanoniczną scenę Excalidraw, która wygenerowała PNG. Łączny sha256 kotwiczy PNG i JSON razem, więc ponowne wyrenderowanie JSON później daje identyczny bajtowo PNG. JSON celowo nie znajduje się w publicznym kształcie odczytu — poproś o /download URL dla wiersza, aby pobrać surowy .png, oraz użyj endpointu weryfikacji audytu po stronie SPA, gdy JSON jest potrzebny do dowodów ponownego renderowania.
Częste błędy
| Status | Kod | Kiedy |
|---|---|---|
| 403 | permission_denied | Dane uwierzytelniające nie mają uprawnienia whiteboards:read. |
| 404 | not_found | Sesja nie istnieje w organizacji powiązanej z danymi uwierzytelniającymi. |