Delen via


API voor gegeneraliseerde berekening van uitstoot

U kunt de API msdyn_runEmissionCalculationService gebruiken om de uitstoot voor activiteiten te berekenen met behulp van een berekeningsmodel zonder een berekeningsprofiel aan te maken. Als abonnee van de Microsoft Sustainability Manager kunt u deze URL gebruiken om toegang te krijgen tot de API:

{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService

In deze URL verwijst organization url naar de basis-URL van de organisatie waar Microsoft Sustainability Manager is geïnstalleerd en waartoe de gebruiker toegang heeft. Versie verwijst naar de web-API-versie (bijvoorbeeld 9.2).

Entiteits-id's ophalen

Er zijn veel manieren waarop u de id's kunt ophalen voor entiteiten, zoals activiteitsgegevens en berekeningsmodel. Dat kunt u onder andere doen via de XRM WebAPI en de client-API en rechtstreeks via de URL van de entiteit in Microsoft Sustainability Manager.

Invoerparameters

Omdat het een aangepaste Dataverse-API betreft, is de runtime van de API voor de gegeneraliseerde berekening van de uitstoot beperkt tot twee minuten. Bij langere berekeningen treedt er een time-out op, waardoor de invoergrootte wordt beperkt volgens de volgende tabel.

Meting Type Vereist? Omschrijving
activityIds Tekenreeksmatrix Ja Lijst met id's van de activiteitsgegevensrecords die bij de berekening moeten worden gebruikt. Er kunnen maximaal 500 activiteits-id's in de invoer worden opgenomen.
calculationModelId String Ja Id van het berekeningsmodel dat bij de berekening van de uitstoot moet worden gebruikt.
versie String Nee Het versienummer van de API identificeert de versie van de API die moet worden aangeroepen. Momenteel is versie 1.0.0 de enige beschikbare versie. Als de versie niet wordt opgegeven, wordt de nieuwste versie gebruikt.

Uitvoerparameters

Op het hoogste niveau is de uitvoer een JSON-tekenreeks met een lijst van gegeneraliseerde uitstoot-uitvoerentiteiten. Voor elke in aanmerking komende activiteit kan de uitvoerentiteit de geëvalueerde uitstoot bevatten, of de fouten die tijdens de berekening zijn opgetreden, afhankelijk van of de berekening succesvol was. Controleer altijd op de aanwezigheid van de markering IsErrorRecord van een uitvoerrecord voordat u toegang probeert te krijgen tot deze record.

Uitvoerentiteit voor gegeneraliseerde uitstoot

De uitvoerentiteit voor gegeneraliseerde uitstoot bestaat niet in Dataverse. Het is een verzameling relevante kenmerken van de uitstoot-entiteit en de berekeningsfout-entiteit. De API voor de gegeneraliseerde berekening van de uitstoot retourneert een lijst van deze entiteiten, waarbij elke entiteit correspondeert met een in aanmerking komende activiteitsgegevensrecord in de invoer.

De uitvoerentiteit heeft de volgende kenmerken:

Meting Type Omschrijving
ActivityId String De id van de record met activiteitsgegevens die wordt gebruikt voor de berekening.
ActivityName String De naam van de record met activiteitsgegevens die wordt gebruikt voor de berekening.
IsErrorRecord Booleaans Een Booleaanse waarde die aangeeft of bij de berekening voor deze bepaalde activiteit fouten zijn aangetroffen. Is de waarde 'waar', dan is de berekening mislukt en kunnen de aangetroffen fouten worden bekeken via het kenmerk ErrorJson.
ErrorJson String JSON-tekenreeks die eventuele berekeningsfouten vertegenwoordigt die zijn opgetreden tijdens het verwerken van deze gegeven activiteit. Deze waarde is null als IsErrorRecord onwaar is.
Meting String Naam van de uitstoot berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is.
CH4 Decimal CH4-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen CH4 bevat.
CH4Unit String Naam van de eenheid voor de CH4-waarde van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen CH4 bevat.
CO2 Decimal CO2-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen CO2 bevat.
CO2Unit String Naam van de eenheid voor de CO2-waarde van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen CO2 bevat.
CO2e Decimal CO2e-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen CO2e bevat.
CO2eUnit String Naam van de eenheid voor de CO2e-waarde van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen CO2e bevat.
HFK's Decimal HFK's-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen HFK's bevat.
HFCsUnit String Naam van de eenheid voor de HFK's-waarde (Engels: HFCs) van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen HFK's bevat.
N2O Decimal N2O-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen N2O bevat.
N2OUnit String Naam van de eenheid voor de N2O-waarde van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen N2O bevat.
NF3 Decimal NF3-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen NF3 bevat.
NF3Unit String Naam van de eenheid voor de NF3-waarde van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen NF3 bevat.
PFC's Decimal PFC's-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen PFC's bevat.
PFCsUnit String Naam van de eenheid voor de PFC's-waarde van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen PFC's bevat.
SF6 Decimal SF6-waarde van de uitstoot berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen SF6 bevat.
SF6Unit String Naam van de eenheid voor de SF6-waarde van de uitstoot die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen SF6 bevat.
OtherGHGs Decimal Waarde van de uitstoot van andere broeikasgassen (GHGs, GreenHouse Gases) die is berekend voor deze activiteit. Deze waarde is 0 als IsErrorRecord waar is of als de uitstoot geen andere broeikasgassen bevat.
OtherGHGsUnit String Naam van de eenheid voor andere broeikasgassen (GHGs, GreenHouse Gases) die is berekend voor deze activiteit. Deze waarde is null als IsErrorRecord waar is of als de uitstoot geen andere broeikasgassen bevat.

Voorbeelden

In het volgende voorbeeld wordt de API aangeroepen met een geldige activiteitsgegevens-id, wat resulteert in een niet-foutrespons.

Invoer:

{

  "activityDataIds": [
    "decc7c96-9180-ed11-aacf-000d3a1477fd”
  ],

  "calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",

  "version": "1.0.0"

}

Uitvoer:

[
{
"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
}
]

In het volgende voorbeeld wordt de API aangeroepen met een ongeldige activiteitsgegevens-id, wat resulteert in een foutrespons. In de desbetreffende activiteitenrecord ontbreekt het kostenveld, dat vereist is in de invoer van het rekenmodel. Als gevolg hiervan bevat de uitvoerrecord een fout-JSON met de stack van berekeningsuitzonderingen die zijn aangetroffen tijdens het evalueren van de record. De servicefoutcode van de aangetroffen uitzonderingen kan de gebruiker helpen begrijpen wat er mis is gegaan. In dit geval geeft EmissionCalculationActionFieldValueNullBlankException aan dat een verplicht veld leeg is.

Invoer:

{

  "activityDataIds": [
       "22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
  ],

  "calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",

  "version": "1.0.0"

}

Uitvoer:

[
{ 
    "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 
  }] 
]

Aangepaste API's aanroepen

Ga naar Aangepaste API's maken en gebruiken voor meer informatie.