update to providers
This commit is contained in:
@@ -1,33 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<provider id="goclimate">
|
||||
<name>GoClimate Flight Footprint</name>
|
||||
<baseUrl>https://api.goclimate.com</baseUrl>
|
||||
<auth type="basic">
|
||||
<usernameIsApiKey>true</usernameIsApiKey>
|
||||
<envKey>GOCLIMATE_API_KEY</envKey>
|
||||
<providers xmlns="https://calco2la.to/schema/providers/v1">
|
||||
<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="GET" path="/v1/flight_footprint"/>
|
||||
<requestQuery>
|
||||
#for leg in request.legs
|
||||
<param name="segments[${index}][origin]" value="${leg.origin_iata}"/>
|
||||
<param name="segments[${index}][destination]" value="${leg.destination_iata}"/>
|
||||
#end
|
||||
<param name="cabin_class" value="${request.cabin_class}"/>
|
||||
#for currency in request.currencies
|
||||
<param name="currencies[]" value="${currency}"/>
|
||||
#end
|
||||
</requestQuery>
|
||||
<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="goclimate"/>
|
||||
<field source="$.footprint" target="EmissionCalculationResult.total.co2eKg"/>
|
||||
<list source="$.offset_prices[*]" target="EmissionCalculationResult.prices" itemType="MoneyAmount">
|
||||
<field source="$.amount" target="MoneyAmount.amountMinor"/>
|
||||
<field source="$.currency" target="MoneyAmount.currency"/>
|
||||
<field source="$.offset_url" target="MoneyAmount.url"/>
|
||||
<field source="$.locale" target="MoneyAmount.locale"/>
|
||||
</list>
|
||||
<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>
|
||||
|
||||
@@ -1,48 +1,34 @@
|
||||
<?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>
|
||||
<providers xmlns="https://calco2la.to/schema/providers/v1">
|
||||
<provider id="goclimate">
|
||||
<name>GoClimate Flight Footprint</name>
|
||||
<baseUrl>https://api.goclimate.com</baseUrl>
|
||||
<auth type="basic">
|
||||
<usernameIsApiKey>true</usernameIsApiKey>
|
||||
<envKey>GOCLIMATE_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>
|
||||
<http method="GET" path="/v1/flight_footprint"/>
|
||||
<requestQuery>
|
||||
#for leg in request.legs
|
||||
<param name="segments[${index}][origin]" value="${leg.origin_iata}"/>
|
||||
<param name="segments[${index}][destination]" value="${leg.destination_iata}"/>
|
||||
#end
|
||||
<param name="cabin_class" value="${request.cabin_class}"/>
|
||||
#for currency in request.currencies
|
||||
<param name="currencies[]" value="${currency}"/>
|
||||
#end
|
||||
</requestQuery>
|
||||
<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"/>
|
||||
<constant target="EmissionCalculationResult.provider" value="goclimate"/>
|
||||
<field source="$.footprint" target="EmissionCalculationResult.total.co2eKg"/>
|
||||
<list source="$.offset_prices[*]" target="EmissionCalculationResult.prices" itemType="MoneyAmount">
|
||||
<field source="$.amount" target="MoneyAmount.amountMinor"/>
|
||||
<field source="$.currency" target="MoneyAmount.currency"/>
|
||||
<field source="$.offset_url" target="MoneyAmount.url"/>
|
||||
<field source="$.locale" target="MoneyAmount.locale"/>
|
||||
</list>
|
||||
<field source="$" target="EmissionCalculationResult.vendorRaw"/>
|
||||
</responseMapping>
|
||||
</operation>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<providers xmlns="https://calco2la.to/schema/providers/v1">
|
||||
<provider id="klimalink">
|
||||
<name>KlimaLink API</name>
|
||||
<baseUrl>https://api.dev.klimalink.org</baseUrl>
|
||||
|
||||
Reference in New Issue
Block a user