Beräknings-API för generaliserade utsläpp
Använd API:et msdyn_runEmissionCalculationService för att beräkna utsläpp för aktiviteter med hjälp av en beräkningsmodell utan att skapa en beräkningsprofil. Som prenumerant på webbplatsen Microsoft Sustainability Manager kan du använda URL:en för att få åtkomst till API:et:
{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService
I denna URL, refererar organization url till den grundläggande URL för organisationen som Microsoft Sustainability Manager är installerad på och som användaren kan komma åt. Version refererar till webb-API-versionen (till exempel 9.2).
Hämta entitets-ID
Det finns många sätt att hämta ID för entiteter, till exempel aktivitetsdata och beräkningsmodell. Dessa inkluderar XRM WebAPI, klient API och direkt via entitetens URL på Microsoft Sustainability Manager.
Indataparametrar
Som ett anpassat Dataverse API körs den allmänna beräknings-API:et på två minuter. Längre beräkningar går ut, så indatastorleken är begränsad enligt följande tabell.
Namn | Typ | Obligatorisk? | Beskrivning |
---|---|---|---|
activityIds | Strängmatris | Ja | Lista över ID för de aktivitetsdataposter som ska användas vid beräkningen. Upp till 500 aktivitets-ID kan tas med i indata. |
calculationModelId | Sträng | Ja | ID för den beräkningsmodell som ska användas vid beräkning. |
version | Sträng | Nej | Versionsnumret för API identifierar den version av API som ska anropas. För närvarande är 1.0.0 den enda tillgängliga versionen. Om ospecificerat används den senaste versionen. |
Utdataparametrar
På den högsta nivån är utdata en JSON-sträng som innehåller en lista över generaliserad utdataentiteter. För varje berättigande aktivitet kan utdataenheten innehålla utvärderade resultat eller fel som påträffats under beräkningen och som beror på om beräkningen lyckades. Kontrollera alltid flaggan IsErrorRecord för en utdatapost innan du försöker komma åt den.
Entitet för generaliserad emissionsutdata
Entiteten för generaliserad emissionsutdata finns inte i Dataverse. Det är en samling relevanta attribut från emissionsentiteten och entiteten för beräkningsfel. Det generaliserade emissionsberäknings-API:et returnerar en lista över dessa enheter, där varje enhet motsvarar en kvalificerad aktivitetsdatapost i indata.
Utdataentiteten har följande attribut:
Namn | Typ | Beskrivning |
---|---|---|
ActivityId | Sträng | ID för aktivitetsdataposten som används för beräkningen. |
ActivityName | Sträng | Namnet för aktivitetsdataposten som används för beräkningen. |
IsErrorRecord | Booleskt | Ett booleskt värde som anger om beräkningen för den angivna aktiviteten påträffade fel. Om sant, misslyckades beräkningen och de uppkomna felen kan ses via ErrorJson-attributet. |
ErrorJson | Sträng | JSON-sträng som representerar eventuella beräkningsfel som påträffats när den här angivna aktiviteten bearbetas. Det här värdet är null om IsErrorRecord är falskt. |
Namn | Sträng | Namn på beräknat namn för aktiviteten. Det här värdet är null om IsErrorRecord är sant. |
CH4 | Decimal | CH4-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har CH4. |
CH4Unit | Sträng | Namn på enhet för CH4-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har CH4. |
CO2 | Decimal | CO2-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har CO2. |
CO2Unit | Sträng | Namn på enhet för CO2-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har CO2. |
Koldioxid | Decimal | CO2e-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har CO2e. |
CO2eUnit | Sträng | Namn på enhet för CO2e-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har CO2e. |
HFC:er | Decimal | HFCs-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har HFCs. |
HFCsUnit | Sträng | Namn på enhet för HFCs-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har HFCs. |
N2O | Decimal | N2O-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har N2O. |
N2OUnit | Sträng | Namn på enhet för N2O-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har N2O. |
NF3 | Decimal | NF3-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har NF3. |
NF3Unit | Sträng | Namn på enhet för NF3-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har NF3. |
PFC:er | Decimal | PFCs-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har PFCs. |
PFCsUnit | Sträng | Namn på enhet för PFCs-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har PFCs. |
SF6 | Decimal | SF6-värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har SF6. |
SF6Unit | Sträng | Namn på enhet för SF6-värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har SF6. |
OtherGHGs | Decimal | Andra växthusgaser med värdet för beräknad emission för aktiviteten. Värdet är 0 om IsErrorRecord är sant eller om emission inte har andra GHGs. |
OtherGHGsUnit | Sträng | Namn på enhet för andra växthusgaser med värdet för beräknad emission för aktiviteten. Värdet är null om IsErrorRecord är sant eller om emission inte har andra GHGs. |
Exempel
I följande exempel anropas API med ett giltigt aktivitetsdata-ID, vilket resulterar i ett icke-fel svar.
Indata:
{
"activityDataIds": [
"decc7c96-9180-ed11-aacf-000d3a1477fd”
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Utdata:
[
{
"ActivityId": "decc7c96-9180-ed11-aacf-000d3a1477fd",
"ActivityName": "Passenger car",
"IsErrorRecord": false,
"ErrorJson": null,
"Name": "Employee Commuting 526",
"CH4": 2267.832,
"CH4Unit": "g",
"CO2": 107560.032,
"CO2Unit": "kg",
"CO2e": 108292.541736,
"CO2eUnit": kg,
"HFCs": 0,
"HFCsUnit": null,
"N2O": 2267.832,
"N2OUnit": "g",
"NF3": 0,
"NF3Unit": null,
"PFCs": 0,
"PFCsUnit": null,
"SF6": 0,
"SF6Unit": null,
"OtherGHGs": 0,
"OtherGHGsUnit": null
}
]
I följande exempel anropas API med ett ogiltigt aktivitetsdata-ID som resulterar i ett felsvar. Aktivitetsposten i fråga saknar kostnadsfältet, vilket beräkningsmodellen kräver i indata. Som ett resultat har utdataposten ett JSON-fel som innehåller stapeln med beräkningsundantag som påträffades vid utvärdering av posten. Servicefelkoden för undantagen som påträffades kan hjälpa användaren att förstå vad som gick fel. I det här fallet anger EmissionCalculationActionFieldValueNullBlankException att ett obligatoriskt fält är tomt.
Indata:
{
"activityDataIds": [
"22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Utdata:
[
{
"ActivityId": "22a8b098-4b8b-ed11-aad1-000d3a5bc56a",
"ActivityName": null,
"IsErrorRecord": true,
"ErrorJson": {
"ServiceErrorCode": "ActivityCalculationModelExecutionException",
"UserMessageParameters": [
"Invalid Fugitive Emissions"
],
"InnerException": {
"ServiceErrorCode": "EmissionCalculationActionFieldValueNullBlankException",
"UserMessageParameters": [
"Action 1"
],
"InnerException": {
"ServiceErrorCode": null,
"UserMessageParameters": null,
"InnerException": {
"ServiceErrorCode": null,
"UserMessageParameters": null,
"InnerException": null
}
}
}
},
"Name": null,
"CH4": 0,
"CH4Unit": null,
"CO2": 0,
"CO2Unit": null,
"CO2e": 0,
"CO2eUnit": null,
"HFCs": 0,
"HFCsUnit": null,
"N2O": 0,
"N2OUnit": null,
"NF3": 0,
"NF3Unit": null,
"PFCs": 0,
"PFCsUnit": null,
"SF6": 0,
"SF6Unit": null,
"OtherGHGs": 0,
"OtherGHGsUnit": null
}]
]
Anropa anpassade API:er
Mer information finns i Skapa och använda anpassade API:er.