Interfejs API obliczenia emisji ogólnych
Możesz użyć interfejsu API msdyn_runEmissionCalculationService do obliczenia emisji ogólnych na potrzeby działań za pomocą modelu obliczeń bez tworzenia profilu obliczeń. Jako subskrybent Microsoft Sustainability Manager możesz używać adresu URL do uzyskania dostęp do interfejsu API:
{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService
W tym adresie URL element organization url odwołuje się do podstawowego adresu URL organizacji, w której jest zainstalowane rozwiązanie Microsoft Sustainability Manager i do którego użytkownik ma dostęp. Wersja odnosi się do wersji internetowego interfejsu API (na przykład 9.2).
Uzyskiwanie identyfikatorów encji
Istnieje wiele sposobów uzyskania identyfikatorów dla encji, takich jak dane działań i model obliczeń. Są to: internetowy interfejs API XRM, interfejs API klienta i bezpośrednio za pośrednictwem URL encji w Microsoft Sustainability Manager.
Parametry wejściowe
Jako niestandardowy interfejs API Dataverse środowisko uruchomieniowe interfejsu API obliczania emisji ogólnych ma limit wynoszący dwie minuty. Został przekroczony czas obliczeń, więc rozmiar wejściowy jest ograniczony zgodnie z następującą tabelą.
Nazwa/nazwisko | Type | Wymagane? | opis |
---|---|---|---|
activityIds | Tablica ciągów | Tak | Lista identyfikatorów rekordów danych działań, które mają być używane w obliczeniach. W danych wejściowych można dodać do 500 identyfikatorów działań. |
calculationModelId | String | Tak | Identyfikator model obliczeń do użycia w obliczaniu emisji. |
version | String | Nie | Numer wersji interfejsu API identyfikuje wersję interfejsu API, która powinna być wywoływana. Obecnie dostępna jest tylko wersja 1.0.0. Jeśli wartość nie zostanie określona, używana będzie najnowsza wersja. |
Parametry wyjściowe
Na najwyższym poziomie wartość wyjściowa to ciąg JSON zawierający listę encji wyjściowych emisji ogólnych. Dla każdego zakwalifikowane działanie encja wyjściowa może zawierać szacowane zakwalifikowanie lub błędy napotykane podczas obliczania w zależności od tego, czy obliczenia były udane. Zawsze sprawdź flagę IsErrorRecord w rekordzie wyjściowym przed próbą uzyskania dostępu.
Encja wyjściowa emisji ogólnych
Encja wyjściowa emisji ogólnych nie istnieje w usłudze Dataverse. Jest to kolekcja odpowiednich atrybutów z encji emisji i encji błędu obliczeń. Interfejs API obliczania emisji ogólnych zwraca listę tych encji wraz z każdą encją odpowiadającą odpowiedniemu rekordowi danych działania w danych wejściowych.
Encja wyjściowa ma następujące atrybuty:
Nazwa/nazwisko | Type | Podpis |
---|---|---|
ActivityId | String | Identyfikator rekordu danych działania obliczenia. |
ActivityName | String | Nazwa rekordu danych działania obliczenia. |
IsErrorRecord | Wartość logiczna | Wartość logiczna wskazująca, czy w obliczeniach dla danego działania wystąpiły błędy. Jeśli wartość to prawda, obliczenia zakończyły się niepowodzeniem i napotkane błędy można wyświetlać za pomocą atrybutu ErrorJson. |
ErrorJson | String | Ciąg JSON reprezentujący wszystkie błędy obliczeń napotkane podczas przetwarzania tego działania. Ta wartość to null, jeśli wartość IsErrorRecord to fałsz. |
Nazwa/nazwisko | String | Nazwa emisji obliczanej dla tego działania. Ta wartość to null, jeśli wartość IsErrorRecord to prawda. |
CH4 | Dziesiętne | Wartość CH4 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CH4. |
CH4Unit | String | Nazwa jednostki wartości CH4 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CH4. |
CO2 | Dziesiętne | Wartość CO2 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2. |
CO2Unit | String | Nazwa jednostki wartości CO2 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2. |
Odpowiednik CO2 | Dziesiętne | Wartość CO2e emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2e. |
Co2eUnit | String | Nazwa jednostki wartości CO2e emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2e. |
HFC | Dziesiętne | Wartość HFCs emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera HFCs. |
HFCsUnit | String | Nazwa jednostki wartości HFCs emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera HFCs. |
N2O | Dziesiętne | Wartość N2O emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera N2O. |
N2OUnit | String | Nazwa jednostki wartości N2O emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera N2O. |
NF3 | Dziesiętne | Wartość NF3 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera NF3. |
NF3Unit | String | Nazwa jednostki wartości NF3 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera NF3. |
PFC | Dziesiętne | Wartość PFCs emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera PFCs. |
PFCsUnit | String | Nazwa jednostki wartości PFCs emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera PFCs. |
SF6 | Dziesiętne | Wartość SF6 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera SF6. |
SF6Unit | String | Nazwa jednostki wartości SF6 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera SF6. |
OtherGHGs | Dziesiętne | Wartość innych gazów cieplarnianych dla emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera innych GHGs. |
OtherGHGsUnit | String | Nazwa jednostki wartości innych gazów cieplarnianych dla emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera innych GHGs. |
Przykłady
W poniższym przykładzie interfejs API jest wywoływany z prawidłowym identyfikatorem danych działania, co stanowi bezbłędną odpowiedź.
Dane wejściowe:
{
"activityDataIds": [
"decc7c96-9180-ed11-aacf-000d3a1477fd”
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Dane wyjściowe:
[
{
"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
}
]
W poniższym przykładzie interfejs API jest wywoływany z nieprawidłowym identyfikatorem danych działania, co stanowi odpowiedź z błędem. W rekordzie działania brakuje pola kosztów, które wymaga modelu obliczania w danych wejściowych. W rezultacie rekord wyjściowy ma błąd JSON zawierający stos wyjątków obliczania występujący podczas oceny rekordu. Kod błędu usługi z napotkanych wyjątków może pomóc użytkownikowi w zrozumieniu, co poszło źle. W tym przypadku element EmissionCalculationActionFieldValueNullBlankException wskazuje, że wymagane pole jest puste.
Dane wejściowe:
{
"activityDataIds": [
"22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Dane wyjściowe:
[
{
"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
}]
]
Wywoływanie niestandardowych interfejsów API
Więcej informacji można znaleźć na stronie Tworzenie i używanie niestandardowych interfejsów API.