Start
Integracja w kilkanaście minut
OmnibusTrust udostępnia jeden endpoint REST. Wysyłasz zdarzenie (zmiana ceny, publikacja opinii, wysłanie potwierdzenia) — my zapisujemy kryptograficzny hash na blockchainie i zwracamy publiczny link weryfikacyjny. Na blockchain trafia wyłącznie hash — żadne dane wrażliwe nie opuszczają Twojego systemu.
Base URL
https://omnibustrust.pl
Format
JSON (application/json)
Wersja API
v1
Autoryzacja
Klucz API (X-API-KEY)
Każde żądanie musi zawierać nagłówek X-API-KEY z Twoim kluczem. Klucz uzyskasz po rejestracji. Przechowuj go jak hasło — nie umieszczaj w kodzie frontendowym ani publicznych repozytoriach.
curl -X POST https://omnibustrust.pl/api/v1/log-price \
-H "X-API-KEY: ot_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"productId": "SKU-123", "price": 199.99, "currency": "PLN"}'POST /api/v1/log-price
Zapisuje zdarzenie cenowe na blockchainie. Tworzy SHA-256 hash z danych zdarzenia i broadcastuje transakcję. Operacja jest nieodwracalna.
Żądanie
/api/v1/log-price| Pole | Typ | Status | Opis |
|---|---|---|---|
productId | string | wymagane | Identyfikator produktu z Twojego systemu (np. SKU, ID z bazy). |
price | number | wymagane | Aktualna cena jako liczba dziesiętna (np. 199.99). Musi być ≥ 0. |
currency | string | opcjonalne | Kod waluty ISO 4217 (np. "PLN", "EUR"). Domyślnie: "PLN". |
// Przykładowe żądanie
{
"productId": "NIKE-AIR-MAX-90-BLK-42",
"price": 449.99,
"currency": "PLN"
}Odpowiedź 201 Created
{
"success": true,
"data": {
"tx_id": "a3f8b2c14d91f06e...", // ID transakcji na blockchainie
"hash": "e9b5d4a2f1c8b7...", // SHA-256 hash zdarzenia
"data_string": "OMNIBUS_v1|ID:NIKE-AIR-MAX-90-BLK-42|PR:449.99|TS:2025-03-25T14:32:01.000Z",
"timestamp": "2025-03-25T14:32:01.000Z",
"verification_url": "https://whatsonchain.com/tx/a3f8b2c14d91f06e..."
}
}Co jest hashowane? String w formacie OMNIBUS_v1|ID:<productId>|PR:<price>|TS:<isoTimestamp>. Możesz go samodzielnie wygenerować i porównać z hash z odpowiedzi — wyniki będą identyczne.
POST /api/v1/write
Zapisuje dowolny hash na blockchainie BSV. Użyj tego endpointu, gdy chcesz notarializować własne dane — przesyłasz gotowy hash SHA-256, my broadcastujemy transakcję i zwracamy link weryfikacyjny.
Żądanie
/api/v1/write| Pole | Typ | Status | Opis |
|---|---|---|---|
hash | string | wymagane | Hash SHA-256 danych, które chcesz zapisać (hex, 64 znaki). |
curl -X POST https://omnibustrust.pl/api/v1/write \
-H "X-API-KEY: ot_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"hash": "e9b5d4a2f1c8b7e3a9d6c5f04b2e1a8d7c6b5f4a3e2d1c0b9a8f7e6d5c4b3a2"}'Odpowiedź 201 Created
{
"success": true,
"data": {
"tx_id": "a3f8b2c14d91f06e...", // ID transakcji na blockchainie BSV
"data_string": "{\"hash\":\"e9b5d4a2...\"}", // JSON który trafił na blockchain
"verification_url": "https://whatsonchain.com/tx/a3f8b2c14d91f06e..."
}
}GET /api/v1/read/tx
Odczytuje dane zdarzenia zapisanego wcześniej przez log-price na podstawie identyfikatora transakcji blockchain.
Żądanie
/api/v1/read/tx?txId=<tx_id>| Parametr | Typ | Status | Opis |
|---|---|---|---|
txId | string | wymagane | ID transakcji blockchain zwrócone przez log-price w polu tx_id. |
curl https://omnibustrust.pl/api/v1/read/tx?txId=a3f8b2c14d91f06e... \
-H "X-API-KEY: ot_live_xxxxxxxxxxxxxxxxxxxx"Odpowiedź 200 OK
{
"success": true,
"data": {
"id": 42,
"product_id": "NIKE-AIR-MAX-90-BLK-42",
"price_value": 449.99,
"currency": "PLN",
"tx_id": "a3f8b2c14d91f06e...",
"blockchain_hash": "e9b5d4a2f1c8b7...",
"data_string": "OMNIBUS_v1|ID:NIKE-AIR-MAX-90-BLK-42|PR:449.99|TS:2025-03-25T14:32:01.000Z",
"created_at": "2025-03-25T14:32:01.000Z",
"verification_url": "https://whatsonchain.com/tx/a3f8b2c14d91f06e..."
}
}Endpoint zwraca 404 jeśli podany txId nie istnieje w bazie OmnibusTrust (np. transakcja pochodzi z innego systemu).
GET /api/v1/verify
Weryfikuje autentyczność zapisu — sprawdza czy hash obliczony z danych zgadza się z hashem przechowywanym w bazie oraz czy ten sam hash faktycznie istnieje w transakcji na blockchainie BSV.
Żądanie
/api/v1/verify?txId=<tx_id>| Parametr | Typ | Status | Opis |
|---|---|---|---|
txId | string | wymagane | ID transakcji blockchain zwrócone przez log-price w polu tx_id. |
curl https://omnibustrust.pl/api/v1/verify?txId=a3f8b2c14d91f06e... \
-H "X-API-KEY: ot_live_xxxxxxxxxxxxxxxxxxxx"Odpowiedź 200 OK
{
"success": true,
"verified": true, // true tylko gdy OBA poniższe checks są true
"checks": {
"hash_matches_data": true, // sha256(data_string) === blockchain_hash w bazie
"hash_found_on_chain": true // hash znaleziony w surowym hex transakcji na BSV
},
"data": {
"tx_id": "a3f8b2c14d91f06e...",
"product_id": "NIKE-AIR-MAX-90-BLK-42",
"price_value": 449.99,
"currency": "PLN",
"data_string": "OMNIBUS_v1|ID:NIKE-AIR-MAX-90-BLK-42|PR:449.99|TS:2025-03-25T14:32:01.000Z",
"blockchain_hash": "e9b5d4a2f1c8b7...",
"recomputed_hash": "e9b5d4a2f1c8b7...", // obliczony lokalnie — musi być identyczny
"created_at": "2025-03-25T14:32:01.000Z",
"verification_url":"https://whatsonchain.com/tx/a3f8b2c14d91f06e..."
}
}hash_matches_dataOblicza SHA-256 z pola data_string i porównuje z blockchain_hash zapisanym w bazie. Gwarantuje że dane nie zostały zmodyfikowane po zapisie.
hash_found_on_chainPobiera surowy hex transakcji z WhatsOnChain i sprawdza czy hash dosłownie w nim występuje. Potwierdza istnienie dowodu niezależnie od naszej bazy.
Błędy
Kody odpowiedzi
| Kod | Znaczenie | Typowa przyczyna |
|---|---|---|
| 201 | Created | Zdarzenie zapisane pomyślnie na blockchainie. |
| 400 | Bad Request | Brakujące lub nieprawidłowe pola (productId, price). |
| 401 | Unauthorized | Brak lub nieprawidłowy nagłówek X-API-KEY. |
| 403 | Forbidden | Konto nieaktywne lub przekroczony limit planu. |
| 500 | Internal Server Error | Błąd po stronie serwera — skontaktuj się z nami. |
// Przykładowa odpowiedź błędu
{
"success": false,
"error": "Pole \"price\" musi być nieujemną liczbą."
}Weryfikacja
Jak zweryfikować zapis?
Każdy — w tym inspektor UOKiK — może niezależnie zweryfikować autentyczność zapisu. Wystarczą dane zdarzenia i tx_id.
- 1
Odtwórz string danych
Złóż string w formacie OMNIBUS_v1|ID:{productId}|PR:{price}|TS:{timestamp} używając oryginalnych wartości z zapisu.
- 2
Oblicz SHA-256
Oblicz hash SHA-256 ze stringa (np. przez dowolny kalkulator online lub terminal). Wynik powinien być identyczny z polem hash z odpowiedzi API.
- 3
Sprawdź transakcję
Otwórz verification_url z odpowiedzi. W polu OP_RETURN transakcji znajdziesz ten sam hash — dowód że istniał w danym momencie.
# Weryfikacja przez terminal (Linux / macOS)
echo -n "OMNIBUS_v1|ID:SKU-123|PR:199.99|TS:2025-03-25T14:32:01.000Z" | sha256sum
# → e9b5d4a2f1c8b7... ← musi być identyczny z polem "hash" w odpowiedziLimity
Rate limiting i plany
| Plan | Limit miesięczny | Cena |
|---|---|---|
| Free | 1 000 zapisów | 0 PLN / mies. |
| Starter | 10 000 zapisów | 49 PLN / mies. |
| Professional | 100 000 zapisów | 149 PLN / mies. |
Po przekroczeniu limitu API zwraca 403 do końca okresu rozliczeniowego. Potrzebujesz więcej? Napisz do nas.