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

POST/api/v1/log-price
PoleTypStatusOpis
productIdstringwymaganeIdentyfikator produktu z Twojego systemu (np. SKU, ID z bazy).
pricenumberwymaganeAktualna cena jako liczba dziesiętna (np. 199.99). Musi być ≥ 0.
currencystringopcjonalneKod 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

KodZnaczenieTypowa przyczyna
201CreatedZdarzenie zapisane pomyślnie na blockchainie.
400Bad RequestBrakujące lub nieprawidłowe pola (productId, price).
401UnauthorizedBrak lub nieprawidłowy nagłówek X-API-KEY.
403ForbiddenKonto nieaktywne lub przekroczony limit planu.
500Internal Server ErrorBłą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. 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. 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. 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 odpowiedzi

Limity

Rate limiting i plany

PlanLimit miesięcznyCena
Free1 000 zapisów0 PLN / mies.
Starter10 000 zapisów49 PLN / mies.
Professional100 000 zapisów149 PLN / mies.

Po przekroczeniu limitu API zwraca 403 do końca okresu rozliczeniowego. Potrzebujesz więcej? Napisz do nas.