39 lines
1.9 KiB
XML
39 lines
1.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<providers xmlns="https://calco2la.to/schema/providers/v1">
|
|
<provider id="myclimate_v1">
|
|
<name>myclimate Flight Calculator V1</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="/v1/flight_calculators.json"/>
|
|
<requestBody format="json">
|
|
{
|
|
"from":"${request.legs[0].origin_iata}",
|
|
"to":"${request.legs[last].destination_iata}",
|
|
"via":"${request.vendor_options.via}",
|
|
"passengers":${request.passengers},
|
|
"roundtrip":${request.roundtrip},
|
|
"flight_class":"${request.cabin_class}"
|
|
}
|
|
</requestBody>
|
|
<responseMapping mode="single" rootType="EmissionCalculationResult">
|
|
<constant target="EmissionCalculationResult.provider" value="myclimate_v1"/>
|
|
<field source="$.kg" target="EmissionCalculationResult.total.co2eKg"/>
|
|
<field source="$.km" target="EmissionCalculationResult.distance.value"/>
|
|
<constant target="EmissionCalculationResult.distance.unit" value="km"/>
|
|
<field source="$.fuel_kg_per_passenger" target="EmissionCalculationResult.fuel.kg"/>
|
|
<field source="$.price_in_eur_cents" target="EmissionCalculationResult.offset.amountMinor"/>
|
|
<constant target="EmissionCalculationResult.offset.currency" value="EUR"/>
|
|
<field source="$.errors" target="EmissionCalculationResult.errors"/>
|
|
<field source="$.input_params" target="EmissionCalculationResult.inputEcho"/>
|
|
<field source="$" target="EmissionCalculationResult.vendorRaw"/>
|
|
</responseMapping>
|
|
</operation>
|
|
</operations>
|
|
</provider>
|
|
</providers>
|