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


API расчета общих выбросов

Значок Microsoft Cloud for Sustainability. Microsoft Cloud for Sustainability

Вы можете использовать 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.

Входные параметры

В качестве пользовательского API-интерфейса Dataverse время выполнения API-интерфейса обобщенного расчета выбросов ограничено двумя минутами. Для более длительных вычислений истечет время ожидания, поэтому размер входных данных ограничен в соответствии со следующей таблицей.

Полное имя Type Обязательное? Описание
activityIds Массив строк Да Список идентификаторов записей данных о деятельности, которые будут использоваться в расчетах. Во входные данные можно включить до 500 идентификаторов деятельности.
calculationModelId String Да Идентификатор модели расчета, используемый для расчета выбросов.
версия String No Номер версии API определяет версию API, которая должна быть вызвана. В настоящее время доступна только версия 1.0.0. Если не указано, используется последняя версия.

Выходные параметры

На самом высоком уровне выходные данные представляют собой строку JSON, содержащую список обобщенных выходных сущностей выбросов. Для каждого охватываемого вида деятельности выходная сущность может содержать оцененные выбросы или ошибки, возникшие во время расчета, в зависимости от того, был ли расчет успешным. Всегда проверяйте флаг IsErrorRecord записи выходных данных, прежде чем пытаться получить к ней доступ.

Сущность выходных данных обобщенных выбросов

Сущность выходных данных обобщенных выбросов не существует в Dataverse. Это набор соответствующих атрибутов сущности выбросов и сущности ошибки расчета. API-интерфейс обобщенного расчета выбросов возвращает список этих сущностей, каждой из которых соответствует соответствующая запись данных о деятельности во входных данных.

Сущность выходных данных имеет следующие атрибуты:

Полное имя Type Описание
ActivityId String ИД записи данных о деятельности, использованных для расчета.
ActivityName String Имя записи данных о деятельности, использованных для расчета.
IsErrorRecord Логический Логическое значение, указывающее, возникли ли ошибки при вычислении данного действия. Если true, расчет не удался, и обнаруженные ошибки можно просмотреть с помощью атрибута ErrorJson.
ErrorJson String Строка JSON, представляющая любые ошибки вычислений, возникшие при обработке данного действия. Это значение равно NULL, если IsErrorRecord имеет значение false.
Полное имя String Название выброса, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true.
CH4 Decimal Значение CH4, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит CH4.
CH4Unit String Название единицы измерения для значения CH4, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит CH4.
CO2 Decimal Значение CO2, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит CO2.
CO2Unit String Название единицы измерения для значения CO2, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит CO2.
CO2-эквивалент Decimal Значение CO2-экв., рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит CO2-экв.
CO2eUnit String Название единицы измерения для значения CO2-экв., рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит CO2-экв.
HFC Decimal Значение HFCs, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит HFCs.
HFCsUnit String Название единицы измерения для значения HFCs, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит HFCs.
N2O Decimal Значение N2O, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит N2O.
N2OUnit String Название единицы измерения для значения N2O, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит N2O.
NF3 Decimal Значение NF3, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит NF3.
NF3Unit String Название единицы измерения для значения NF3, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит NF3.
PFC Decimal Значение PFCs, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит PFCs.
PFCsUnit String Название единицы измерения для значения PFCs, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит PFCs.
SF6 Decimal Значение SF6, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит SF6.
SF6Unit String Название единицы измерения для значения SF6, рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит SF6.
OtherGHGs Decimal Значение выбросов прочих парниковых газов, рассчитанное для данного вида деятельности. Это значение равно 0, если IsErrorRecord имеет значение true или если выброс не содержит прочих GHGs.
OtherGHGsUnit String Название единицы измерения для значения прочих парниковых газов., рассчитанного для данного вида деятельности. Это значение равно NULL, если IsErrorRecord имеет значение true или если выброс не содержит прочих парниковых газов.

Примеры

В следующем примере 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-интерфейсов.

Значок Microsoft Cloud for Sustainability.Страница продуктаЗначок регистрации.Бесплатная пробная версияЗначок сообщества.Сообщество