Contrato OpenAPI
Genere un cliente tipado en su lenguaje a partir del documento OpenAPI y valide las solicitudes con él.
AVS, el AutoUncle Vehicle Schema, es un JSON Schema abierto y versionado para describir un coche: qué es, cómo está fabricado y con qué está equipado. Úselo en sus propios sistemas, valídelo en siete lenguajes y construya sobre una API que habla el mismo modelo de identidad.
AVS tiene dos tipos de documento: un documento de tipo describe un coche tal como se fabrica, por ejemplo un BMW 320e G20 berlina con M Sport; un documento de vehículo describe un coche físico concreto de ese tipo, con su VIN, cuentakilómetros, color e historial. Con licencia Apache-2.0 y sin datos del catálogo.
AVS dice qué es el coche. Cuánto vale y dónde está a la venta corresponde a otro lugar.
Solo la marca y el modelo son obligatorios. No se adivina nada, y la ausencia debe declararse.
Cada registro del catálogo enumera sus ID en cualquier esquema, como AutoUncle, Wikidata o KBA HSN/TSN, y ninguno tiene prioridad.
Las unidades forman parte de los nombres de campo, los valores siguen el certificado de conformidad de la UE y WLTP, y países, monedas y VIN usan códigos ISO.
{
"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"]
}
}
}
Marca, modelo, generación y fase; después, carrocería y motorización como hechos independientes, y el acabado, los paquetes y las opciones por su nombre. Nuestras API identifican los coches por el mismo camino, de la marca y el modelo a la generación, la motorización y el acabado, con ID estables que puede guardar en AVS bajo el esquema autouncle.
Cada paquete incluye el esquema y un validador que devuelve cada error con un JSON Pointer que lo localiza. Se generan a partir del esquema, nunca se escriben a mano, y su versión siempre coincide con la del esquema.
| Lenguaje | Paquete | Validar |
|---|---|---|
| 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) |
Genere un cliente tipado en su lenguaje a partir del documento OpenAPI y valide las solicitudes con él.
Los errores son documentos de problema según la RFC 9457, con un código estable, una referencia al campo y una corrección sugerida.
Países ISO 3166, monedas ISO 4217 y VIN ISO 3779, en solicitudes y resultados.
Cada tasación admite una clave de idempotencia, para que una solicitud repetida nunca se cobre dos veces.
La misma API como herramientas para agentes de IA, además de un skill de integración y llms.txt para asistentes de programación.
Lea el esquema, genere un cliente a partir del contrato OpenAPI y tase su primer coche con una clave de prueba gratuita.