Del via


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.