API za splošen izračun emisij
Microsoft Cloud for Sustainability - Brezplačna preizkusna različica
API msdyn_runEmissionCalculationService lahko uporabite za izračun emisij za dejavnosti z uporabo modela izračuna, ne da bi ustvarili profil izračuna. Kot naročnik Microsoft Sustainability Manager lahko uporabite ta URL za dostop do API-ja:
{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService
V tem URL-ju se url organizacije nanaša na osnovni URL organizacije Microsoft Sustainability Manager ki je nameščena in do katere ima uporabnik dostop. Različica se nanaša na različico spletnega API-ja (na primer 9.2).
Pridobivanje ID-jev entitet
Obstaja veliko načinov, kako lahko pridobite ID-je za entitete, kot so podatki o dejavnosti in model izračuna. Ti vključujejo XRM WebAPI, odjemalski API in neposredno prek URL-ja subjekta na Microsoft Sustainability Manager.
Parametri vnosa
Kot Dataverse API po meri je čas izvajanja API-ja za splošni izračun emisij omejen na dve minuti. Daljši izračuni bodo potekli, zato je velikost vnosa omejena glede na naslednjo tabelo.
Imenu | Vnesi | Obvezno? | Opis |
---|---|---|---|
activityIds | Polje nizov | Da | Seznam ID-jev zapisov podatkov o dejavnosti, ki bodo uporabljeni pri izračunu. V vnos lahko vključite do 500 ID-jev dejavnosti. |
calculationModelId | String | Da | ID modela za izračun, ki bo uporabljen pri izračunu emisij. |
različica | String | No | Številka različice API-ja označuje različico API-ja, ki jo je treba priklicati. Trenutno je edina razpoložljiva različica 1.0.0. Če ni navedeno, se uporabi najnovejša različica. |
Izhodni parametri
Na najvišji ravni je izhod niz JSON, ki vsebuje seznam posplošenih izhodnih entitet emisij. Za vsako upravičeno dejavnost lahko izhodni subjekt vsebuje ovrednotene emisije ali napake, ugotovljene med izračunom, glede na to, ali je bil izračun uspešen. Pred poskusom dostopa do izhodnega zapisa vedno preverite zastavico IsErrorRecord izhodnega zapisa.
Subjekt splošnega izhoda emisij
Splošni izhodni subjekt emisij ne obstaja v Dataverse. To je zbirka ustreznih atributov iz entitete emisije in entitete napake pri izračunu. API za splošni izračun emisij vrne seznam teh entitet, pri čemer vsaka entiteta v vnosu ustreza ustreznemu zapisu podatkov o dejavnosti.
Izhodna entiteta ima naslednje atribute:
Imenu | Vnesi | Description |
---|---|---|
ActivityId | String | ID zapisa podatkov o dejavnosti, uporabljenega za izračun. |
ActivityName | String | Ime zapisa podatkov o dejavnosti, uporabljenega za izračun. |
IsErrorRecord | Logično | Logična vrednost, ki kaže, ali je izračun za to dano dejavnost naletel na napake. Če je res, izračun ni uspel in odkrite napake si lahko ogledate prek atributa ErrorJson. |
ErrorJson | String | Niz JSON, ki predstavlja morebitne računske napake, do katerih je prišlo med obdelavo te dane dejavnosti. Ta vrednost je ničelna, če je IsErrorRecord false. |
Imenu | String | Ime emisije, izračunane za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resničen. |
CH4 | Decimal | Vrednost emisije CH4, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje CH4. |
Enota CH4 | String | Ime enote za vrednost emisije CH4, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje CH4. |
CO2 | Decimal | Vrednost emisije CO2, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje CO2. |
Enota CO2 | String | Ime enote za vrednost emisije CO2, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje CO2. |
Ekvivalent ogljikovega dioksida | Decimal | Vrednost emisije CO2e, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisije ne vsebujejo CO2e. |
CO2eUnit | String | Ime enote za vrednost emisije CO2e, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje CO2e. |
HFC-ji | Decimal | Vrednost emisije HFC, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje HFC. |
HFCsUnit | String | Ime enote za vrednost emisije HFC, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje HFC. |
N2O | Decimal | Vrednost emisije N2O, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje N2O. |
N2OUnit | String | Ime enote za vrednost emisije N2O, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisije ne vsebujejo N2O. |
NF3 | Decimal | Vrednost emisije NF3, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje NF3. |
NF3Enota | String | Ime enote za vrednost emisije NF3, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje NF3. |
PFC-ji | Decimal | Vrednost PFC emisij, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje PFC. |
PFCsUnit | String | Ime enote za vrednost PFC emisij, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje PFC. |
SF6 | Decimal | Vrednost emisije SF6, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje SF6. |
Enota SF6 | String | Ime enote za vrednost emisije SF6, izračunano za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje SF6. |
Drugi toplogredni plini | Decimal | Vrednost emisije drugih toplogrednih plinov, izračunana za to dejavnost. Ta vrednost je 0, če je IsErrorRecord resnična ali če emisija ne vsebuje drugih toplogrednih plinov. |
OtherGHGsUnit | String | Ime enote za druge toplogredne pline Vrednost emisije izračunana za to dejavnost. Ta vrednost je ničelna, če je IsErrorRecord resnična ali če emisija ne vsebuje drugih toplogrednih plinov. |
Primeri
V naslednjem primeru je API priklican z veljavnim ID-jem podatkov o dejavnosti, kar povzroči odziv brez napake.
Vnos:
{
"activityDataIds": [
"decc7c96-9180-ed11-aacf-000d3a1477fd”
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Izhod:
[
{
"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
}
]
V naslednjem primeru je API priklican z neveljavnim ID-jem podatkov o dejavnosti, kar povzroči odgovor o napaki. V zadevnem zapisu dejavnosti manjka polje stroškov, ki ga zahteva model izračuna v vnosu. Posledično ima izhodni zapis napako JSON, ki vsebuje sveženj izjem za izračun, na katere je prišlo med vrednotenjem zapisa. Koda napake storitve za izjeme, ki so se pojavile, lahko uporabniku pomaga razumeti, kaj je šlo narobe. V tem primeru, EmissionCalculationActionFieldValueNullBlankException pomeni, da je obvezno polje prazno.
Vnos:
{
"activityDataIds": [
"22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Izhod:
[
{
"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
}]
]
Priklic API-jev po meri
Za več informacij obiščite Ustvarite in uporabite API-je po meri.