MCPcopy Create free account
hub / github.com/BrasilAPI/BrasilAPI / getModelYear

Function getModelYear

services/fipe/price.js:6–51  ·  view source on GitHub ↗
({ fipeCode, referenceTable })

Source from the content-addressed store, hash-verified

4import { getLatestReferenceTable } from './referenceTable';
5
6async function getModelYear({ fipeCode, referenceTable }) {
7 const vehicleTypes = [
8 VEHICLE_TYPE.CAR,
9 VEHICLE_TYPE.MOTORCYCLE,
10 VEHICLE_TYPE.TRUCK,
11 ];
12
13 const result = (
14 await Promise.all(
15 vehicleTypes.map(async (vehicleType) => {
16 const params = new URLSearchParams();
17 params.append('codigoTabelaReferencia', referenceTable);
18 params.append('codigoTipoVeiculo', vehicleType);
19 params.append('modeloCodigoExterno', fipeCode);
20
21 const { data } = await axios.post(
22 `${FIPE_URL}/veiculos/ConsultarAnoModeloPeloCodigoFipe`,
23 params,
24 {
25 headers: {
26 'Content-Type': 'application/x-www-form-urlencoded',
27 },
28 }
29 );
30
31 if (!Array.isArray(data)) {
32 return undefined;
33 }
34
35 return {
36 vehicleType,
37 models: data.map((item) => ({
38 rotulo: item.Label,
39 valor: item.Value,
40 })),
41 };
42 })
43 )
44 ).filter(Boolean);
45
46 if (result.length === 0) {
47 throw new Error('Código fipe inválido');
48 }
49
50 return result[0];
51}
52
53function resolveVehicleType(vehicleType) {
54 const vehicleTypeMap = {

Callers 1

getFipePriceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected