API обчислення узагальненого обсягу викидів
Ви можете використовувати API msdyn_runEmissionCalculationService для розрахунку викидів для діяльності за допомогою розрахункової моделі без створення профіль обчислень. Як передплатник Microsoft Sustainability Manager, ви можете використовувати цю URL-адресу для доступу до API:
{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService
У цій URL-адресі url організації посилається на базову URL-адресу організації , Microsoft Sustainability Manager на якій встановлено та до якої користувач може отримати доступ. Під версією мається на увазі версія веб-API (наприклад, 9.2).
Отримання ідентифікаторів сутностей
Існує багато способів отримання ідентифікаторів сутностей, таких як дані про активність і модель обчислення. До них відносяться XRM WebAPI, клієнтський API, а також безпосередньо через URL-адресу сутності на Microsoft Sustainability Manager.
Вхідні параметри
Як користувацький Dataverse API, час виконання узагальненого API розрахунку емісії обмежений двома хвилинами. Час очікування довших обчислень минає, тому розмір вхідних даних обмежено відповідно до наступної таблиці.
Ім'я | Ввести | Обов’язкове? | Опис |
---|---|---|---|
activityIds | Масив рядків | Так | Список ідентифікаторів записів даних про активність, які будуть використовуватися при розрахунках. У вхідні дані можна включити до 500 ідентифікаторів активності. |
calculationModelId | String | Так | ID розрахункової моделі, яка буде використовуватися при розрахунку викидів. |
версія | String | No | Номер версії API визначає версію API, яку слід викликати. На даний момент 1.0.0 є єдиною доступною версією. Якщо не вказано, використовується остання версія. |
Параметри виводу
На найвищому рівні вихідними даними є рядок JSON, що містить список узагальнених сутностей виведення емісії. Для кожної допустимої діяльності сутність виводу може містити оцінені викиди або помилки, що виникли під час розрахунку залежно від того, чи був розрахунок успішним. Завжди перевіряйте прапорець IsErrorRecord вихідного запису, перш ніж намагатися отримати до нього доступ.
Узагальнений суб’єкт випуску викидів
Узагальненого суб’єкта викидів не існує в Dataverse. Це колекція відповідних атрибутів від сутності емісії та сутності помилки обчислення. API узагальненого розрахунку емісії повертає список цих сутностей, при цьому кожна сутність відповідає запису, що відповідає прийнятному запису даних про активність у вхідних даних.
Сутність виводу має такі атрибути:
Ім'я | Ввести | Опис |
---|---|---|
ActivityId | String | Ідентифікатор запису даних про активність, який використовується для обчислення. |
ActivityName | String | Назва запису даних активності, який використовується для обчислення. |
IsErrorRecord | Boolean | логічний значення, що вказує на те, чи були помилки під час розрахунку для цієї активності. Якщо true, розрахунок не вдався, а помилки, що виникли, можна переглянути через атрибут ErrorJson. |
ПомилкаJson | String | Рядок JSON, що представляє будь-які помилки обчислень, що виникли під час обробки цієї заданої активності. Це значення дорівнює null, якщо IsErrorRecord має значення false. |
Ім'я | String | Назва емісії, розрахованої для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true. |
CH4 | Десяткове число | Значення СН4 емісії, розраховане для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить CH4. |
Блок CH4 | String | Найменування одиниці вимірювання значення викиду СН4, розрахованого для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить CH4. |
CO2 | Десяткове число | Значення викидів CO2, розраховане для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить CO2. |
Одиниця CO2 | String | Назва одиниці виміру значення викидів CO2, розрахованого для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить CO2. |
CO2e | Десяткове число | Значення викидів CO2e, розраховане для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить CO2e. |
Блок CO2eUnit | String | Найменування одиниці виміру значення викидів CO2e, розрахованого для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить CO2e. |
Сполуки групи HFC | Десяткове число | Величина емісії гідрофторвуглеців, розрахована для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить HFC. |
Блок гідрофторвуглеців | String | Найменування одиниці величини емісії гідрофторвуглеців, розрахованої для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить HFC. |
N2O | Десяткове число | Значення N2O емісії, розраховане для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить N2O. |
N2OUnit | String | Назва одиниці виміру значення N2O емісії, розрахованої для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить N2O. |
NF3 | Десяткове число | Значення викиду NF3, розраховане для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить NF3. |
Блок NF3 | String | Найменування одиниці виміру значення викиду NF3, розрахованого для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить NF3. |
Сполуки групи PFC | Десяткове число | Величина емісії ПФУ, розрахована для даної діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить PFC. |
Блок ПФУ | String | Найменування одиниці величини ПФУ емісії, розрахованої для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить PFC. |
SF6 | Десяткове число | Значення емісії SF6, розраховане для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить SF6. |
Блок SF6 | String | Найменування одиниці виміру значення викиду SF6, розрахованого для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить SF6. |
Інші ПГ | Десяткове число | Значення викидів інших парникових газів розраховано для цієї діяльності. Це значення дорівнює 0, якщо IsErrorRecord має значення true або якщо випромінювання не містить інших GHG. |
ІншіПГsОдиниця | String | Найменування одиниці виміру викидів інших парникових газів, розрахованого для цієї діяльності. Це значення дорівнює null, якщо IsErrorRecord має значення true або якщо випромінювання не містить інших GHG. |
Приклади
У наведеному нижче прикладі API викликається з дійсним ідентифікатором даних про активність, що призводить до відповіді без помилок.
Вводу:
{
"activityDataIds": [
"decc7c96-9180-ed11-aacf-000d3a1477fd”
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Вихід:
[
{
"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
}
]
У наведеному нижче прикладі API викликається з неправильним ідентифікатором даних про активність, що призводить до відповіді помилки. У відповідному записі діяльності відсутнє поле вартості, яке вимагає модель розрахунку у вхідних даних. В результаті вихідний запис має помилку JSON, що містить стек винятків обчислень, що виникли під час обчислення запису. Код помилки сервісу виниклих винятків може допомогти користувачеві зрозуміти, що пішло не так. У цьому випадку EmissionCalculationActionFieldValueNullBlankException вказує, що обов’язкове поле є порожнім.
Вводу:
{
"activityDataIds": [
"22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Вихід:
[
{
"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
}]
]
Виклик користувацьких API
Щоб дізнатися більше, перейдіть до розділу Створення та використання користувацьких API.