schemas/battery-passport-1.1.0.json — sva polja pasoša po Aneksu XIII:
obavezna polja, nivoi pristupa, pravne reference, prevod labele.
Nova grupa proizvoda = nova šema, bez izmene koda.db/create_schema.sql — 43 tabele. Verzije pasoša su immutable
(DB trigger zabranjuje izmenu — zakonska perzistentnost)./01/{gtin}/21/{serijski} → pasoš.
Isti URL vraća HTML čoveku, JSON-LD mašini, linkset resolverima (GS1).scripts/VERIFY-MCLDPP.ps1 (35/35); nije nova produkciona provera niti dokaz stvarne EU registracije./portal/login.html (cookie sesija, vanilla JS). Demo nalog: Ceo lanac u 4 klika: kreira proizvod sa GTIN+serijskim, otvori draft pasoš, izračuna readiness, objavi (immutable verzija + hash + EU registry + webhook), i otvori javni pasoš koji bi kupac video skeniranjem QR-a.
Stvaran pasoš iz PostgreSQL baze, verzija 1. Javna stranica je ono što kupac vidi kad skenira QR na bateriji.
PUBLIC (bez ključa) vs AUTHORITY (X-Api-Key:
Isti pasoš, tri nivoa: PUBLIC / PARTNER / AUTHORITY. Klikni i uporedi JSON.
% obaveznih polja popunjeno + šta fali za validan pasoš (sa referencom na član).
Odgovor resolvera mašinskim klijentima — svi resursi vezani za identifikator.
Sve akcije u sistemu (create/issue/import) su append-only zapisane.
Klikni dugme iznad — ovde se prikazuje odgovor…
— tenant (authority nivo)
— service_admin scope
Header: X-Api-Key
Nalog firme se otvara registracijom; prvi korisnik dobija
ulogu tenant_admin. Uloge: tenant_admin — korisnici, API ključevi, webhooks,
SSO, plan; tenant_user — proizvodi, pasoši, dokumenti, dobavljači.
Korisnike admin dodaje u Podešavanja → Korisnici (welcome mejl sa lozinkom).
Besplatno: {n} pasoša / {n} korisnik / bez API-ja. Pro: {n} pasoša / {n} korisnika / API + webhooks ({n} req/min). Industrija: bez gornjeg limita pasoša i korisnika / API {n} req/min. Limiti se proveravaju atomski u bazi — prekoračenje vraća 402 uz jasnu poruku.
Na stranici pasoša → „Pozovi dobavljača": birate polja koja dobavljač popunjava, rok i poruku. Dobavljač ne pravi nalog — dobija siguran link (token je u bazi samo kao heš), unosi tražena polja, a vi pregledate i odobravate unos. Statusi: sent → viewed → submitted → approved/rejected.
Podešavanja → Aktivnost: svaki zapis ima ko (aktor/ključ), kad (UTC) i šta (akcija + entitet + detalji). Zapis je append-only — baza odbija izmene audit_log-a; kriptografsko sidro (audit anchor) periodično vezuje stanje u javno proverljiv heš.
Podešavanja → SSO: unesite email domen, OIDC issuer i
Client ID vašeg IdP-a (Entra/Okta/Keycloak); kod njega registrujete callback
https://dpp.mcldhi.com/api/v1/auth/sso/callback. Korisnici se zatim prijavljuju
„Prijava preko firme" sa adrese na tom domenu. Flow koristi PKCE + nonce, a nalog se linkuje
samo na postojeće korisnike — novi nalog se ne pravi automatski.
Dnevni pg_dump backup (retencija do 31 snimka, približno 31 dan pri dnevnom rasporedu) +
per-tenant export: svaki pasoš je izvoziv kao ZIP sa SHA-256 manifestom — integritet se
dokazuje poređenjem heša. Vraćanje: restore u privremenu bazu pa selektivni prenos,
ili celi restore na čistu instalaciju.