Files
emission-api-lib/providers/myclimate/myclimate_v2.xml
2026-05-21 02:51:43 +02:00

37 lines
1.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<providers xmlns="https://calco2la.to/schema/providers/v1">
<provider id="myclimate_v2">
<name>myclimate Flight Calculator V2</name>
<baseUrl>https://api.myclimate.org</baseUrl>
<auth type="basic">
<usernameEnvKey>MYCLIMATE_USERNAME</usernameEnvKey>
<passwordEnvKey>MYCLIMATE_PASSWORD</passwordEnvKey>
</auth>
<operations>
<operation id="travel.flight.estimate_emissions">
<http method="POST" path="/v2/flight_calculators.json"/>
<requestBody format="json">
{
"from":"${request.legs[0].origin_iata}",
"to":"${request.legs[last].destination_iata}",
"via":"${request.vendor_options.via}",
"aircraft_type_leg_1":"${request.legs[0].aircraft_type}",
"aircraft_type_leg_2":"${request.legs[1].aircraft_type}",
"passengers":${request.passengers},
"roundtrip":${request.roundtrip},
"flight_class":"${request.cabin_class}"
}
</requestBody>
<responseMapping mode="single" rootType="EmissionCalculationResult">
<constant target="EmissionCalculationResult.provider" value="myclimate_v2"/>
<field source="$.kg" target="EmissionCalculationResult.total.co2eKg"/>
<field source="$.km" target="EmissionCalculationResult.distance.value"/>
<field source="$.fuel_kg_per_passenger" target="EmissionCalculationResult.fuel.kg"/>
<field source="$.errors" target="EmissionCalculationResult.errors"/>
<field source="$" target="EmissionCalculationResult.vendorRaw"/>
</responseMapping>
</operation>
</operations>
</provider>
</providers>