API til generaliseret beregning af udledning
Du kan bruge API'en msdyn_runEmissionCalculationService til at beregne udledninger for aktiviteter ved hjælp af en beregningsmodel uden at oprette en beregningsprofil. Som abonnent af Microsoft Sustainability Manager kan du bruge denne URL-adresse til at få adgang til API'en:
{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService
I denne URL-adresse henviser organisationens URL-adresse til organisationens grundlæggende URL-adresse, som Microsoft Sustainability Manager er installeret på, og som brugeren har adgang til. Version refererer til web-API-versionen (f.eks. 9.2).
Hente objekt-id'er
Du kan få adgang til id'erne for objekter, f.eks. aktivitetsdata og beregningsmodel, på mange måder. Disse omfatter XRM WebAPI, klient-API'en og direkte via objektets URL-adresse på Microsoft Sustainability Manager.
Inputparametre
Som en brugerdefineret Dataverse-API stoppes kørslen af API'en til beregning af den generaliserede udledning ved to minutter. Længere beregninger bliver time out, så inputstørrelsen er begrænset i henhold til følgende tabel.
Navn | Skriv | Påkrævet? | Beskrivelse |
---|---|---|---|
activityIds | Strengmatrix | Ja | Liste over id'er for de aktivitetsdataposter, der skal bruges til beregningen. Der kan inkluderes op til 500 aktivitets-id'er i inputtet. |
calculationModelId | Streng | Ja | Id for den beregningsmodel, der skal bruges til udledningsberegning. |
version | Streng | Nej | Versionsnummeret på API'en identificerer den version af API'en, der skal aktiveres. I øjeblikket er 1.0.0 den eneste tilgængelige version. Hvis den ikke er angivet, bruges den seneste version. |
Outputparametre
På højeste niveau er outputtet en JSON-streng, der indeholder en liste over outputobjekter for generaliseret udledning. For hver berettiget aktivitet kan outputobjektet indeholde evaluerede værdier eller de fejl, der opstod under beregningen, på baggrund af, om beregningen blev gennemført. Kontrollér altid flaget IsErrorRecord for en outputpost, inden du forsøger at få adgang til den.
Outputobjekt for generaliseret udledning
Outputobjektet for generaliseret udledning findes ikke i Dataverse. Det er en samling relevante attributter fra udledningsobjektet og objektet for beregningsfejl. API'en til beregning af den generaliserede udledning returnerer en liste over disse objekter, hvor hvert enkelt objekt svarer til en berettiget aktivitetsdatapost i inputtet.
Outputobjektet har følgende attributter:
Navn | Type | Beskrivelse |
---|---|---|
ActivityId | Streng | ID for aktivitetsdataposten anvendes til beregning. |
ActivityName | Streng | Navnet på aktivitetsdataposten anvendes til beregning. |
IsErrorRecord | Boolesk | En boolesk værdi, der angiver, om beregningen for denne aktivitet stødte på fejl. Hvis true, mislykkedes beregningen, og de fejl, der opstod, kan ses via attributten ErrorJson. |
ErrorJson | Streng | JSON-streng, der repræsenterer eventuelle beregningsfejl, der opstod under behandling af denne givne aktivitet. Denne værdi er null, hvis IsErrorRecord er false. |
Navn | Streng | Navnet på den udledning, der er beregnet for denne aktivitet. Denne værdi er null, hvis IsErrorRecord er true. |
CH4 | Decimaltal | CH4-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder CH4. |
CH4Unit | Streng | Navnet på enheden for CH4-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder CH4. |
CO2 | Decimaltal | CO2-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder CO2. |
CO2Unit | Streng | Navnet på enheden for CO2-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder CO2. |
CO2e | Decimaltal | CO2e-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder CO2e. |
CO2eUnit | Streng | Navnet på enheden for CO2e-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder CO2e. |
HFCs | Decimaltal | HFCs-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder HFCs. |
HFCsUnit | Streng | Navnet på enheden for HFCs-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder HFCs. |
N2O | Decimaltal | N2O-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder N2O. |
N2OUnit | Streng | Navnet på enheden for N2O-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder N2O. |
NF3 | Decimaltal | NF3-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder NF3. |
NF3Unit | Streng | Navnet på enheden for NF3-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder NF3. |
PFCs | Decimaltal | PFCs-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder PFCs. |
PFCsUnit | Streng | Navnet på enheden for PFCs-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder PFCs. |
SF6 | Decimaltal | SF6-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder SF6. |
SF6Unit | Streng | Navnet på enheden for SF6-værdien for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder SF6. |
OtherGHGs | Decimaltal | Værdien af andre drivhusgasser for den udledning, der er beregnet for denne aktivitet. Denne værdi er 0, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder andre GHGs. |
OtherGHGsUnit | Streng | Navnet på enheden for andre drivhusgasser for den udledning, der er beregnet for denne aktivitet. Denne værdi er nul, hvis IsErrorRecord er true, eller hvis udledningen ikke indeholder andre GHGs. |
Eksempler
I følgende eksempel aktiveres API'en med et gyldigt aktivitetsdata-id, der resulterer i et ikke-svar.
Input:
{
"activityDataIds": [
"decc7c96-9180-ed11-aacf-000d3a1477fd”
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Output:
[
{
"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ølgende eksempel aktiveres API'en med et ugyldigt aktivitetsdata-id, hvilket resulterer i et svar med fejl. Den pågældende aktivitetspost mangler omkostningsfeltet, som beregningsmodellen kræver i inputtet. Outputposten indeholder derfor en JSON med fejl, som indeholder den stak af beregningsundtagelser, der blev registreret under evaluering af posten. Tjenestens fejlkode for de registrerede undtagelser kan hjælpe brugeren med at forstå, hvad der gik galt. I dette tilfælde angiver EmissionCalculationActionFieldValueNullBlankException, at et påkrævet felt er tomt.
Input:
{
"activityDataIds": [
"22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Output:
[
{
"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
}]
]
Aktivering af brugerdefinerede API'er
Du kan finde flere oplysninger i Oprette og bruge brugerdefinerede API'er.