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://blockchain-explorer.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.
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.