API de cálculo de emisiones generalizado
Puede usar la API msdyn_runEmissionCalculationService para calcular las emisiones de las actividades mediante un modelo de cálculo sin crear un perfil de cálculo. Como suscriptor de la Microsoft Sustainability Manager, puede usar esta URL para acceder a la API:
{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService
En esta URL, URL de la organización hace referencia a la URL base de la organización donde Microsoft Sustainability Manager está instalado y donde el usuario puede acceder. Versión hace referencia a la versión de la API web (por ejemplo, 9.2).
Obtener ID de entidad
Hay muchas formas de obtener los ID de entidades como los datos de actividad y el modelo de cálculo. Estos incluyen XRM WebAPI, la API de cliente y directamente a través de la URL de la entidad Microsoft Sustainability Manager.
Parámetros de entrada
Como API personalizada de Dataverse, el tiempo de ejecución de la API de cálculo de emisiones generalizadas tiene un límite de dos minutos. Los cálculos más largos tienen un tiempo de espera prolongado, por lo que el tamaño de entrada está restringido de acuerdo con la siguiente tabla.
Nombre | Tipo | ¿Obligatorio? | Descripción |
---|---|---|---|
activityIds | Matriz de cadenas | Sí | Lista de ID de los registros de datos de actividad que se utilizarán en el cálculo. Se pueden incluir hasta 500 ID de actividad en la entrada. |
calculationModelId | Cadena | Sí | ID del modelo de cálculo a utilizar en el cálculo de emisiones. |
version | Cadena | No | El número de versión de la API identifica la versión de la API que debe invocarse. Actualmente 1.0.0 es la única versión disponible. Si no se especifica, se utiliza la última versión. |
Parámetros de salida
En el nivel más alto, la salida es una cadena JSON que contiene una lista de entidades de salida de emisiones generalizadas. Para cada actividad elegible, la entidad de salida podría contener las emisiones evaluadas o los errores encontrados durante el cálculo en función de si el cálculo fue exitoso. Compruebe siempre el indicador IsErrorRecord de un registro de salida antes de intentar acceder a él.
Entidad de salida de emisiones generalizadas
La entidad de salida de emisiones generalizadas no existe en Dataverse. Es una colección de atributos relevantes de la entidad de emisión y la entidad de error de cálculo. La API de cálculo de emisiones generalizadas devuelve una lista de estas entidades, cada una de las cuales corresponde a un registro de datos de actividad elegible en la entrada.
La entidad de salida tiene los siguientes atributos:
Nombre | Tipo | Descripción |
---|---|---|
ActivityId | Cadena | El identificador del registro de datos de actividad usados para el cálculo. |
ActivityName | Cadena | El nombre del registro de datos de actividad usados para el cálculo. |
IsErrorRecord | Booleana | Un valor booleano que indica si el cálculo de esta actividad determinada encontró errores. Si es verdadero, el cálculo falló y los errores encontrados se pueden ver a través del atributo ErrorJson. |
ErrorJson | Cadena | Cadena JSON que representa cualquier error de cálculo encontrado al procesar esta actividad dada. Este valor es nulo si IsErrorRecord es falso. |
Nombre | Cadena | Nombre de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero. |
CH4 | Decimal | Valor CH4 de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene CH4. |
CH4Unit | Cadena | Nombre de unidad para el valor CH4 de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene CH4. |
CO2 | Decimal | Valor CO2 de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene CO2. |
CO2Unit | Cadena | Nombre de unidad para el valor CO2 de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene CO2. |
CO2e | Decimal | Valor CO2e de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene CO2e. |
CO2eUnit | Cadena | Nombre de unidad para el valor CO2e de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene CO2e. |
HFC | Decimal | Valor HFCs de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene HFCs. |
HFCsUnit | Cadena | Nombre de unidad para el valor HFCs de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene HFCs. |
N2O | Decimal | Valor N2O de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene N2O. |
N2OUnit | Cadena | Nombre de unidad para el valor N2O de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene N2O. |
NF3 | Decimal | Valor NF3 de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene NF3. |
NF3Unit | Cadena | Nombre de unidad para el valor NF3 de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene NF3. |
PFC | Decimal | Valor PFCs de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene PFCs. |
PFCsUnit | Cadena | Nombre de unidad para el valor PFCs de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene PFCs. |
SF6 | Decimal | Valor SF6 de la emisión calculada para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene SF6. |
SF6Unit | Cadena | Nombre de unidad para el valor SF6 de la emisión calculada para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene SF6. |
OtherGHGs | Decimal | Valor de emisión de otros gases de efecto invernadero calculados para esta actividad. Este valor es 0 si IsErrorRecord es verdadero o si la emisión no contiene otros GEI. |
OtherGHGsUnit | Cadena | Nombre de unidad de otros gases de efecto invernadero calculados para esta actividad. Este valor es nulo si IsErrorRecord es verdadero o si la emisión no contiene GEI. |
Ejemplos
En el siguiente ejemplo, se invoca la API con un identificador de datos de actividad válido, lo que genera una respuesta sin error.
Entrada:
{
"activityDataIds": [
"decc7c96-9180-ed11-aacf-000d3a1477fd”
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Salida:
[
{
"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
}
]
En el siguiente ejemplo, la API se invoca con un ID de datos de actividad no válido que genera una respuesta con error. En el registro de actividad en cuestión falta el campo de coste, que el modelo de cálculo requiere en la entrada. Como resultado, el registro de salida tiene un error JSON que contiene la pila de excepciones de cálculo encontradas al evaluar el registro. El código de error de servicio de las excepciones encontradas puede ayudar al usuario a comprender qué salió mal. En este caso, EmissionCalculationActionFieldValueNullBlankException indica que un campo obligatorio está en blanco.
Entrada:
{
"activityDataIds": [
"22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Salida:
[
{
"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
}]
]
Invocación de API personalizadas
Para más información, vaya a Crear y usar API personalizadas.