Dela via


Beräknings-API för generaliserade utsläpp

Microsoft Cloud for Sustainability-ikon. Microsoft Cloud for Sustainability - Kostnadsfri utvärderingsversion

Microsoft Cloud for Sustainability Technical Summit maj 2024

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 tar timeout, 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 Namn 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 som resulterar i ett icke-felsvar.

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 krävs av beräkningsmodellen 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.

Microsoft Cloud for Sustainability-ikon.ProduktsidaRegistreringsikon.Kostnadsfri utvärderingsversionCommunity-ikon.Community