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

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>