62 lines
3.9 KiB
XML
62 lines
3.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<providers xmlns="https://calco2la.to/schema/providers/v1">
|
|
<provider id="travelco2">
|
|
<name>TravelCO2 Transport API</name>
|
|
<baseUrl>https://travelco2.com</baseUrl>
|
|
<auth type="bearer">
|
|
<envKey>TRAVELCO2_API_KEY</envKey>
|
|
</auth>
|
|
<operations>
|
|
<operation id="travel.flight.estimate_emissions.distance">
|
|
<http method="POST" path="/api/v1/transport"/>
|
|
<headers>
|
|
<header name="Accept" value="application/json"/>
|
|
<header name="Content-Type" value="application/json"/>
|
|
</headers>
|
|
<requestBody format="json">
|
|
{
|
|
"vehicle": {
|
|
"type": "${request.vendor_options.travelco2_vehicle_type}",
|
|
"fuel": {
|
|
"type": "${request.vendor_options.travelco2_fuel_type}"
|
|
}
|
|
},
|
|
"distance": ${request.legs[0].distance_m},
|
|
"people": ${request.passengers},
|
|
"language": "${request.vendor_options.travelco2_language}"
|
|
}
|
|
</requestBody>
|
|
<responseMapping mode="single" rootType="EmissionCalculationResult">
|
|
<constant target="EmissionCalculationResult.provider" value="travelco2"/>
|
|
<constant target="EmissionCalculationResult.domain" value="travel.flight"/>
|
|
<constant target="EmissionCalculationResult.operation" value="travel.flight.estimate_emissions.distance"/>
|
|
<field source="$.co2e" target="EmissionCalculationResult.total.co2eKg"/>
|
|
<constant target="EmissionCalculationResult.total.unit" value="kg"/>
|
|
<constant target="EmissionCalculationResult.total.per" value="request"/>
|
|
<field source="$.co2e_pp" target="EmissionCalculationResult.perPassenger.co2eKg"/>
|
|
<constant target="EmissionCalculationResult.perPassenger.unit" value="kg"/>
|
|
<constant target="EmissionCalculationResult.perPassenger.per" value="passenger"/>
|
|
<field source="$.distance" target="EmissionCalculationResult.distance.value"/>
|
|
<constant target="EmissionCalculationResult.distance.unit" value="m"/>
|
|
<field source="$.people" target="EmissionCalculationResult.passengerCount"/>
|
|
<field source="$.ways" target="EmissionCalculationResult.vendorRaw.ways"/>
|
|
<field source="$.type" target="EmissionCalculationResult.segments[0].type"/>
|
|
<field source="$.title" target="EmissionCalculationResult.description"/>
|
|
<field source="$.vehicle.type" target="EmissionCalculationResult.segments[0].vendorRaw.vehicleType"/>
|
|
<field source="$.vehicle.title" target="EmissionCalculationResult.segments[0].vendorRaw.vehicleTitle"/>
|
|
<field source="$.vehicle.vehicle_count" target="EmissionCalculationResult.segments[0].vendorRaw.vehicleCount"/>
|
|
<field source="$.vehicle.fuel.type" target="EmissionCalculationResult.segments[0].vendorRaw.fuelType"/>
|
|
<field source="$.vehicle.fuel.title" target="EmissionCalculationResult.segments[0].vendorRaw.fuelTitle"/>
|
|
<field source="$.co2e" target="EmissionCalculationResult.segments[0].emissions.co2eKg"/>
|
|
<field source="$.co2e_pp" target="EmissionCalculationResult.segments[0].vendorRaw.co2ePerPersonKg"/>
|
|
<field source="$.distance" target="EmissionCalculationResult.segments[0].distance.value"/>
|
|
<constant target="EmissionCalculationResult.segments[0].distance.unit" value="m"/>
|
|
<constant target="EmissionCalculationResult.methodology.vendor" value="TravelCO2"/>
|
|
<constant target="EmissionCalculationResult.methodology.methodName" value="TravelCO2 Transport API"/>
|
|
<constant target="EmissionCalculationResult.methodology.documentationUrl" value="https://travelco2.com/documentation"/>
|
|
<field source="$" target="EmissionCalculationResult.vendorRaw"/>
|
|
</responseMapping>
|
|
</operation>
|
|
</operations>
|
|
</provider>
|
|
</providers> |