Поділитися через


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.