Przejdź do treści
OTWARTE STANDARDY

Jeden sposób na opis samochodu.
Otwarty dla wszystkich.

AVS, czyli AutoUncle Vehicle Schema, to otwarty, wersjonowany JSON Schema do opisu samochodu: czym jest, jak jest zbudowany i w co jest wyposażony. Używaj go we własnych systemach, waliduj w siedmiu językach i buduj na API, które posługuje się tym samym modelem tożsamości.

AVS · AUTOUNCLE VEHICLE SCHEMA

Tylko fakty.
Każdy poziom to osobny fakt.

AVS ma dwa rodzaje dokumentów: dokument typu opisuje samochód w wersji fabrycznej, np. BMW 320e G20 Sedan z pakietem M Sport; dokument pojazdu opisuje jeden fizyczny egzemplarz tego typu, z jego numerem VIN, przebiegiem, kolorem i historią. Licencja Apache-2.0, bez danych katalogowych.

Fakty, nie opinie

AVS mówi, czym jest samochód. Ile jest wart i gdzie jest wystawiony na sprzedaż, opisuje się gdzie indziej.

Nieznane jest pomijane

Wymagane są tylko marka i model. Nic nie jest zgadywane, a brak trzeba jawnie zaznaczyć.

Dowolny system kodów

Każdy rekord katalogowy podaje swoje identyfikatory w dowolnym schemacie, np. AutoUncle, Wikidata czy KBA HSN/TSN, i żaden nie jest uprzywilejowany.

Konwencje UE

Jednostki są częścią nazw pól, wartości są zgodne z unijnym świadectwem zgodności (CoC) i WLTP, a kraje, waluty i numery VIN używają kodów ISO.

Przeczytaj schemat ↗
examples/type-bmw-320e-g20-m-sport.json
{
  "avs": { "version": "0.3", "kind": "type" },
  "identity": {
    "brand": {
      "name": "BMW",
      "ids": [
        { "scheme": "autouncle", "value": "b-example0001" },
        { "scheme": "wikidata", "value": "Q26678" }
      ]
    },
    "model": {
      "name": "3 Series",
      "localNames": { "DK": "3-serie" }
    },
    "generation": { "name": "3 Series (G20/G21)", "code": "G20" },
    "drivetrain": {
      "name": "320e (204 Hp) Plug-in Hybrid Steptronic"
    }
  },
  "specification": {
    "powertrain": {
      "energy": ["petrol", "electricity"],
      "electrification": "phev",
      "powerKw": 150, "torqueNm": 300
    }
  },
  "equipment": {
    "trim": {
      "name": "M Sport",
      "variations": ["M Sportpakke", "M-Sport"]
    }
  }
}
Fragment przykładu BMW 320e z repozytorium AVS.
MODEL TOŻSAMOŚCI

Ta sama struktura,
której używa nasze API.

Marka, model, generacja i faza, następnie nadwozie i układ napędowy jako niezależne fakty oraz wersja wyposażenia, pakiety i opcje z nazwy. Nasze API identyfikują samochody tą samą ścieżką, od marki i modelu do generacji, wersji silnikowej i wersji wyposażenia, ze stałymi identyfikatorami, które możesz zapisać w AVS w schemacie autouncle.

WALIDATORY

Waliduj AVS
w siedmiu językach.

Każdy pakiet zawiera schemat i walidator, który zwraca każdy błąd wraz ze wskaźnikiem JSON Pointer. Pakiety są generowane ze schematu, nigdy pisane ręcznie, a ich wersja zawsze odpowiada wersji schematu.

JęzykPakietWalidacja
Rubyautouncle-avsAVS.validate(doc)
TypeScript / JavaScript@autouncle/avsvalidate(doc)
Pythonautouncle-avsavs.validate(doc)
Gogithub.com/AutoUncle/avs/packages/goavs.Validate(b)
Java / JVMcom.autouncle:avsAvs.validate(json)
.NETAutoUncle.AvsAvsSchema.Validate(json)
PHPautouncle/avsAvs::validate($doc)
API

Standardy
w każdej warstwie API.

Kontrakt OpenAPI

Wygeneruj typowanego klienta w swoim języku z dokumentu OpenAPI i waliduj względem niego zapytania.

Problem details

Błędy to dokumenty problemów zgodne z RFC 9457, ze stałym kodem, wskazaniem pola i sugerowaną poprawką.

Kody ISO

Kraje według ISO 3166, waluty według ISO 4217 i numery VIN według ISO 3779, w zapytaniach i wynikach.

Idempotentne z założenia

Każda wycena przyjmuje klucz idempotencji, więc ponowione zapytanie nigdy nie zostanie naliczone dwukrotnie.

MCP dla agentów

To samo API jako narzędzia dla agentów AI, a do tego skill integracyjny i llms.txt dla asystentów programowania.

Dokumentacja API →

BUDUJ NA TYM

Opisz samochody raz.
Używaj ich wszędzie.

Przeczytaj schemat, wygeneruj klienta z kontraktu OpenAPI i wyceń swój pierwszy samochód z bezpłatnym kluczem testowym.

Pobierz klucz API →