Dokumentacja

API i access pointy

W tym rozdziale znajdziesz przegląd access pointów, przykłady użycia oraz interaktywny playground do autoryzacji i testowania wywołań API.

Jak zbudowane jest API

Warstwa Prefiks Rola
API podstawowe /api/... Panel WWW, operatorzy, administratorzy i użytkownicy końcowi.
Integration API /api/integration/v1/... Stabilny kontrakt dla CRM, ERP, bankowości, ubezpieczeń i innych integracji.
Node replication API /api/node-replication/... Techniczne access pointy dla node'ów storage i replikacji.

We wszystkich przypadkach publicznym wejściem pozostaje API. Integracje i portal nie komunikują się bezpośrednio z blockchainem, OpenSearch ani storage.

Playground API

Poniżej możesz podać URL API, zalogować się przez access point autoryzacyjny i potem wykonywać kolejne operacje z tym samym tokenem. Formularz obsługuje żądania JSON oraz `multipart/form-data`.

Jeśli podasz adres bez końcówki /api, formularz dopisze ją automatycznie.

Jeżeli API działa pod inną domeną niż strona, musi mieć włączony CORS dla tej witryny.

Tryb autoryzacji
Gotowe do testów
Najpierw zaloguj się lub wklej token, a następnie wybierz access point.

Access pointy autoryzacji i sesji

Metoda Ścieżka Opis Przykład
GET/healthPubliczny healthcheck API.GET /health
POST/auth/registerRejestracja użytkownika panelowego, jeśli publiczna rejestracja jest aktywna.POST /auth/register
POST/auth/loginLogowanie użytkownika panelowego po identifier i password.POST /auth/login
POST/auth/refreshOdświeżenie access tokenu użytkownika.POST /auth/refresh
POST/auth/site-sessionTworzy cookie sesyjne dla chronionego dostępu do zasobów IPFS.POST /auth/site-session
POST/auth/site-session/clearCzyści cookie sesyjne IPFS.POST /auth/site-session/clear
POST/auth/integration/loginLogowanie systemu integracyjnego po clientId i clientSecret.POST /auth/integration/login

API podstawowe

To access pointy używane przez portal WWW, administratorów, operatorów i użytkowników końcowych.

Użytkownicy

MetodaŚcieżkaOpis
GET/users/meProfil bieżącego użytkownika.
GET/users/search?login=&email=Wyszukiwanie użytkowników.
GET/users/:loginSzczegóły konkretnego użytkownika.
GET/users?offset=&limit=Lista użytkowników z paginacją.
GET/users?email=Pobranie użytkownika po emailu.
POST/usersTworzenie użytkownika.
PATCH/users/:loginAktualizacja aktywności i metadanych.
PATCH/users/:login/emailZmiana emaila użytkownika.
PATCH/users/:login/passwordZmiana hasła użytkownika.
PATCH/users/:login/roleZmiana roli użytkownika.
PATCH/users/:login/default-clusterZmiana domyślnego klastra.
POST/users/:login/creditsDodanie punktów użytkownikowi.

Role, grupy i pola metadanych

MetodaŚcieżkaOpis
GET/rolesLista ról użytkowników.
GET/roles/:roleKeySzczegóły roli.
POST/rolesTworzenie roli.
PATCH/roles/:roleKeyAktywacja lub deaktywacja roli.
GET/groupsLista grup.
GET/groups/:groupKeySzczegóły grupy.
GET/groups/:groupKey/membersCzłonkowie grupy.
POST/groupsTworzenie grupy.
PATCH/groups/:groupKeyAktywacja lub deaktywacja grupy.
POST/groups/:groupKey/membersDodanie użytkownika do grupy.
DELETE/groups/:groupKey/members/:loginUsunięcie użytkownika z grupy.
GET/user-metadata-fieldsLista definicji pól metadanych użytkownika.
POST/user-metadata-fieldsTworzenie pola metadanych użytkownika.
PATCH/user-metadata-fields/:keyAktywacja lub deaktywacja pola metadanych.

Archiwum, klastry, nody i operacje

MetodaŚcieżkaOpis
GET/archive/categoriesLista kategorii archiwalnych.
GET/archive/categories/:keySzczegóły kategorii.
POST/archive/categoriesTworzenie kategorii.
PATCH/archive/categories/:keyAktywacja lub deaktywacja kategorii.
GET/archive/metadata-fieldsLista pól metadanych archiwum.
POST/archive/metadata-fieldsTworzenie pola metadanych archiwum.
PATCH/archive/metadata-fields/:keyAktywacja lub deaktywacja pola.
POST/archive/files/uploadUpload pliku lub paczki strony WWW.
GET/archive/filesLista plików archiwalnych.
GET/archive/files/:archiveIdSzczegóły rekordu archiwalnego.
PATCH/archive/files/:archiveIdAktualizacja metadanych rekordu.
GET/archive/files/:archiveId/downloadPobranie pliku.
GET/clusters?offset=&limit=Lista klastrów.
GET/clusters/:clusterIdSzczegóły klastra.
GET/nodes?offset=&limit=Lista node'ów.
GET/nodes/:nodeIdSzczegóły node'a.
GET/integration-systemsLista systemów zewnętrznych.
POST/integration-systemsTworzenie systemu zewnętrznego.
GET/indexer/statsStatystyki indeksera.
POST/indexer/reindex/allPełny reindex do OpenSearch.
GET/operations/statusStatus workera operacyjnego.
GET/operations/jobsLista jobów.
POST/operations/jobs/search-reindexJob pełnej reindeksacji.
GET/ipfs/:cidProxy do zasobu IPFS.

Integration API

To access pointy przeznaczone dla systemów zewnętrznych. Korzystają z principalu typu SYSTEM i oddzielonego logowania przez clientId / clientSecret.

MetodaŚcieżkaOpis
GET/integration/v1/documents?owner=&query=&offset=&limit=Lista dokumentów dostępnych dla systemu.
GET/integration/v1/documents/:archiveIdSzczegóły dokumentu.
GET/integration/v1/documents/:archiveId/downloadPobranie dokumentu.
POST/integration/v1/documentsUpload dokumentu ze wskazaniem właściciela.
POST/integration/v1/documents/uploadAlias uploadu dokumentu.
PATCH/integration/v1/documents/:archiveId/metadataAktualizacja metadanych dokumentu.
GET/integration/v1/search/documents?q=&owner=&offset=&limit=Wyszukiwanie dokumentów przez Integration API.
GET/integration/v1/users?login=&email=&offset=&limit=Lista lub wyszukiwanie użytkowników.
GET/integration/v1/users/:loginSzczegóły użytkownika.
POST/integration/v1/usersTworzenie użytkownika.
PATCH/integration/v1/users/:login/emailZmiana emaila użytkownika.
PATCH/integration/v1/users/:login/passwordZmiana hasła użytkownika.
PATCH/integration/v1/users/:login/roleZmiana roli użytkownika.
PATCH/integration/v1/users/:login/default-clusterZmiana domyślnego klastra.
POST/integration/v1/users/:login/creditsDodanie punktów użytkownikowi.

Node replication API

To access pointy techniczne dla node'ów archiwum. Korzystają z osobnego bearer tokenu node'a, a nie z JWT użytkownika lub systemu integracyjnego.

MetodaŚcieżkaOpis
GET/node-replication/storageRaportuje rozmiar repo i limit storage dla node'a.
GET/node-replication/ipfs/:cidPobranie zasobu po CID na potrzeby replikacji.
GET/node-replication/ipfs/:cid/*pathPobranie assetu z katalogu IPFS.
GET/node-replication/cids/:cid/existsSprawdzenie, czy CID jest przypięty na node'zie.
POST/node-replication/uploadUpload pliku lub strony WWW do replikacji.