52 lines
2.7 KiB
XML
52 lines
2.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<provider id="clevel">
|
|
<name>C-Level Carbon Balance API</name>
|
|
<baseUrl>https://api.c-level.earth</baseUrl>
|
|
<auth type="apiKey">
|
|
<header>Authorization</header>
|
|
<format>Bearer ${API_KEY}</format>
|
|
<envKey>CLEVEL_API_KEY</envKey>
|
|
</auth>
|
|
<operations>
|
|
<operation id="travel.flight.estimate_emissions">
|
|
<http method="POST" path="/v1/calculate/flight"/>
|
|
<requestBody format="json">
|
|
{
|
|
"IataCodes":[
|
|
#for waypoint in request.iata_path
|
|
"${waypoint}"#sep,
|
|
#end
|
|
],
|
|
"IsReturn":${request.roundtrip},
|
|
"Passengers":${request.passengers},
|
|
"Class":"${request.vendor_options.clevel_class}",
|
|
"Type":"${request.vendor_options.clevel_type}",
|
|
"AircraftModel":"${request.vendor_options.aircraft_model}",
|
|
"Reference":"${request.reference}",
|
|
"CurrencyCode":"${request.currency}"
|
|
}
|
|
</requestBody>
|
|
<responseMapping mode="single" rootType="EmissionCalculationResult">
|
|
<constant target="EmissionCalculationResult.provider" value="clevel"/>
|
|
<field source="$.Co2Total_Kg" target="EmissionCalculationResult.total.co2eKg"/>
|
|
<field source="$.Co2Total_Tonne" target="EmissionCalculationResult.total.co2eTonnes"/>
|
|
<field source="$.Co2PerPerson_kg" target="EmissionCalculationResult.perPassenger.co2eKg"/>
|
|
<field source="$.Passengers" target="EmissionCalculationResult.passengerCount"/>
|
|
<field source="$.FlightClass" target="EmissionCalculationResult.travelClass"/>
|
|
<field source="$.TotalDistance_Km" target="EmissionCalculationResult.distance.value"/>
|
|
<constant target="EmissionCalculationResult.distance.unit" value="km"/>
|
|
<field source="$.TotalDistance_Miles" target="EmissionCalculationResult.distance.miles"/>
|
|
<field source="$.PerPersonPrice" target="EmissionCalculationResult.perPassengerPrice.amount"/>
|
|
<field source="$.TotalPrice" target="EmissionCalculationResult.offset.amount"/>
|
|
<field source="$.CurrencyCode" target="EmissionCalculationResult.offset.currency"/>
|
|
<field source="$.QuoteId" target="EmissionCalculationResult.quote.id"/>
|
|
<field source="$.QuoteExpiry" target="EmissionCalculationResult.quote.expiresAt"/>
|
|
<field source="$.ShortDescription" target="EmissionCalculationResult.description"/>
|
|
<field source="$.MetaData" target="EmissionCalculationResult.metadata"/>
|
|
<field source="$" target="EmissionCalculationResult.vendorRaw"/>
|
|
</responseMapping>
|
|
</operation>
|
|
</operations>
|
|
</provider>
|
|
</providers>
|