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.