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.
Najpierw zaloguj się lub wklej token, a następnie wybierz access point.
Access pointy autoryzacji i sesji
| Metoda | Ścieżka | Opis | Przykład |
|---|---|---|---|
GET | /health | Publiczny healthcheck API. | GET /health |
POST | /auth/register | Rejestracja użytkownika panelowego, jeśli publiczna rejestracja jest aktywna. | POST /auth/register |
POST | /auth/login | Logowanie użytkownika panelowego po identifier i password. | POST /auth/login |
POST | /auth/refresh | Odświeżenie access tokenu użytkownika. | POST /auth/refresh |
POST | /auth/site-session | Tworzy cookie sesyjne dla chronionego dostępu do zasobów IPFS. | POST /auth/site-session |
POST | /auth/site-session/clear | Czyści cookie sesyjne IPFS. | POST /auth/site-session/clear |
POST | /auth/integration/login | Logowanie 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żka | Opis |
|---|---|---|
GET | /users/me | Profil bieżącego użytkownika. |
GET | /users/search?login=&email= | Wyszukiwanie użytkowników. |
GET | /users/:login | Szczegóły konkretnego użytkownika. |
GET | /users?offset=&limit= | Lista użytkowników z paginacją. |
GET | /users?email= | Pobranie użytkownika po emailu. |
POST | /users | Tworzenie użytkownika. |
PATCH | /users/:login | Aktualizacja aktywności i metadanych. |
PATCH | /users/:login/email | Zmiana emaila użytkownika. |
PATCH | /users/:login/password | Zmiana hasła użytkownika. |
PATCH | /users/:login/role | Zmiana roli użytkownika. |
PATCH | /users/:login/default-cluster | Zmiana domyślnego klastra. |
POST | /users/:login/credits | Dodanie punktów użytkownikowi. |
Role, grupy i pola metadanych
| Metoda | Ścieżka | Opis |
|---|---|---|
GET | /roles | Lista ról użytkowników. |
GET | /roles/:roleKey | Szczegóły roli. |
POST | /roles | Tworzenie roli. |
PATCH | /roles/:roleKey | Aktywacja lub deaktywacja roli. |
GET | /groups | Lista grup. |
GET | /groups/:groupKey | Szczegóły grupy. |
GET | /groups/:groupKey/members | Członkowie grupy. |
POST | /groups | Tworzenie grupy. |
PATCH | /groups/:groupKey | Aktywacja lub deaktywacja grupy. |
POST | /groups/:groupKey/members | Dodanie użytkownika do grupy. |
DELETE | /groups/:groupKey/members/:login | Usunięcie użytkownika z grupy. |
GET | /user-metadata-fields | Lista definicji pól metadanych użytkownika. |
POST | /user-metadata-fields | Tworzenie pola metadanych użytkownika. |
PATCH | /user-metadata-fields/:key | Aktywacja lub deaktywacja pola metadanych. |
Archiwum, klastry, nody i operacje
| Metoda | Ścieżka | Opis |
|---|---|---|
GET | /archive/categories | Lista kategorii archiwalnych. |
GET | /archive/categories/:key | Szczegóły kategorii. |
POST | /archive/categories | Tworzenie kategorii. |
PATCH | /archive/categories/:key | Aktywacja lub deaktywacja kategorii. |
GET | /archive/metadata-fields | Lista pól metadanych archiwum. |
POST | /archive/metadata-fields | Tworzenie pola metadanych archiwum. |
PATCH | /archive/metadata-fields/:key | Aktywacja lub deaktywacja pola. |
POST | /archive/files/upload | Upload pliku lub paczki strony WWW. |
GET | /archive/files | Lista plików archiwalnych. |
GET | /archive/files/:archiveId | Szczegóły rekordu archiwalnego. |
PATCH | /archive/files/:archiveId | Aktualizacja metadanych rekordu. |
GET | /archive/files/:archiveId/download | Pobranie pliku. |
GET | /clusters?offset=&limit= | Lista klastrów. |
GET | /clusters/:clusterId | Szczegóły klastra. |
GET | /nodes?offset=&limit= | Lista node'ów. |
GET | /nodes/:nodeId | Szczegóły node'a. |
GET | /integration-systems | Lista systemów zewnętrznych. |
POST | /integration-systems | Tworzenie systemu zewnętrznego. |
GET | /indexer/stats | Statystyki indeksera. |
POST | /indexer/reindex/all | Pełny reindex do OpenSearch. |
GET | /operations/status | Status workera operacyjnego. |
GET | /operations/jobs | Lista jobów. |
POST | /operations/jobs/search-reindex | Job pełnej reindeksacji. |
GET | /ipfs/:cid | Proxy 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żka | Opis |
|---|---|---|
GET | /integration/v1/documents?owner=&query=&offset=&limit= | Lista dokumentów dostępnych dla systemu. |
GET | /integration/v1/documents/:archiveId | Szczegóły dokumentu. |
GET | /integration/v1/documents/:archiveId/download | Pobranie dokumentu. |
POST | /integration/v1/documents | Upload dokumentu ze wskazaniem właściciela. |
POST | /integration/v1/documents/upload | Alias uploadu dokumentu. |
PATCH | /integration/v1/documents/:archiveId/metadata | Aktualizacja 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/:login | Szczegóły użytkownika. |
POST | /integration/v1/users | Tworzenie użytkownika. |
PATCH | /integration/v1/users/:login/email | Zmiana emaila użytkownika. |
PATCH | /integration/v1/users/:login/password | Zmiana hasła użytkownika. |
PATCH | /integration/v1/users/:login/role | Zmiana roli użytkownika. |
PATCH | /integration/v1/users/:login/default-cluster | Zmiana domyślnego klastra. |
POST | /integration/v1/users/:login/credits | Dodanie 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żka | Opis |
|---|---|---|
GET | /node-replication/storage | Raportuje rozmiar repo i limit storage dla node'a. |
GET | /node-replication/ipfs/:cid | Pobranie zasobu po CID na potrzeby replikacji. |
GET | /node-replication/ipfs/:cid/*path | Pobranie assetu z katalogu IPFS. |
GET | /node-replication/cids/:cid/exists | Sprawdzenie, czy CID jest przypięty na node'zie. |
POST | /node-replication/upload | Upload pliku lub strony WWW do replikacji. |