nex providers
This commit is contained in:
62
providers/travelco2/travelco2.xml
Normal file
62
providers/travelco2/travelco2.xml
Normal file
@@ -0,0 +1,62 @@
|
||||
<?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>
|
||||
Reference in New Issue
Block a user