OpenAPI-sopimus
Generoi tyypitetty asiakas omalla kielelläsi OpenAPI-dokumentista ja validoi pyynnöt sitä vasten.
AVS eli AutoUncle Vehicle Schema on avoin, versioitu JSON Schema auton kuvaamiseen: mikä se on, miten se on rakennettu ja millä se on varusteltu. Käytä sitä omissa järjestelmissäsi, validoi se seitsemällä kielellä ja rakenna API:n varaan, joka käyttää samaa tunnistemallia.
AVS:ssä on kahdenlaisia dokumentteja: tyyppidokumentti kuvaa auton sellaisena kuin se on valmistettu, esimerkiksi BMW 320e G20 Sedan M Sport -varustein; ajoneuvodokumentti kuvaa yhden tämän tyypin fyysisen auton VIN-tunnuksineen, mittarilukemineen, väreineen ja historioineen. Apache-2.0-lisenssi, ei luettelodataa.
AVS kertoo, mikä auto on. Se, mitä auto on arvoinen ja missä se on myynnissä, kuuluu muualle.
Vain merkki ja malli ovat pakollisia. Mitään ei arvata, ja puuttuminen on ilmoitettava.
Jokainen luettelotietue luettelee tunnisteensa missä tahansa järjestelmässä, kuten AutoUncle, Wikidata tai KBA HSN/TSN, eikä mikään niistä ole etusijalla.
Yksiköt ovat osa kenttänimiä, arvot noudattavat EU:n vaatimustenmukaisuustodistusta (CoC) ja WLTP:tä, ja maat, valuutat ja VIN-tunnukset käyttävät ISO-koodeja.
{
"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"]
}
}
}
Merkki, malli, sukupolvi ja vaihe, sitten kori ja voimalinja itsenäisinä faktoina sekä varustetaso, paketit ja lisävarusteet nimeltä. API:mme tunnistavat autot samaa polkua pitkin merkistä ja mallista sukupolveen, moottoriversioon ja varustetasoon, pysyvin tunnistein, jotka voit tallentaa AVS:ään autouncle-järjestelmän alle.
Jokainen paketti sisältää skeeman ja validaattorin, joka palauttaa jokaisen virheen JSON Pointerin kera. Paketit generoidaan skeemasta, niitä ei koskaan kirjoiteta käsin, ja niiden versio on aina sama kuin skeeman.
| Kieli | Paketti | Validointi |
|---|---|---|
| Ruby | autouncle-avs | AVS.validate(doc) |
| TypeScript / JavaScript | @autouncle/avs | validate(doc) |
| Python | autouncle-avs | avs.validate(doc) |
| Go | github.com/AutoUncle/avs/packages/go | avs.Validate(b) |
| Java / JVM | com.autouncle:avs | Avs.validate(json) |
| .NET | AutoUncle.Avs | AvsSchema.Validate(json) |
| PHP | autouncle/avs | Avs::validate($doc) |
Generoi tyypitetty asiakas omalla kielelläsi OpenAPI-dokumentista ja validoi pyynnöt sitä vasten.
Virheet ovat RFC 9457 -ongelmadokumentteja, joissa on pysyvä koodi, osoitin kenttään ja korjausehdotus.
ISO 3166 -maat, ISO 4217 -valuutat ja ISO 3779 -VIN-tunnukset pyynnöissä ja tuloksissa.
Jokainen arvio hyväksyy idempotenssiavaimen, joten uudelleen lähetettyä pyyntöä ei koskaan veloiteta kahdesti.
Sama API työkaluina AI-agenteille sekä integraatio-skill ja llms.txt koodausavustajille.
Lue skeema, generoi asiakas OpenAPI-sopimuksesta ja arvioi ensimmäinen autosi maksuttomalla testiavaimella.