Condividi tramite


API di calcolo delle emissioni generalizzato

Puoi usare l'API msdyn_runEmissionCalculationService per calcolare le emissioni per le attività utilizzando un modello di calcolo senza creare un profilo di calcolo. Come sottoscrittore di Microsoft Sustainability Manager, puoi utilizzare questo URL per accedere all'API:

{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService

In questo URL, url organizzazione si riferisce all'URL di base dell'organizzazione Microsoft Sustainability Manager in cui è installato e a cui l'utente può accedere. Versione si riferisce alla versione dell'API web (ad esempio, 9.2).

Ottenere gli ID entità

Esistono molti modi per ottenere gli ID per entità come i dati di attività e il modello di calcolo. Questi includono XRM WebAPI, l'API client e direttamente tramite l'URL dell'entità in Microsoft Sustainability Manager.

Parametri di input

Come API personalizzata Dataverse, il tempo di esecuzione dell'API per il calcolo delle emissioni generalizzate è limitato a due minuti. I calcoli più lunghi scadono, pertanto la dimensione dell'input è limitata in base alla tabella seguente.

Nome Tipo Obbligatorio? Descrizione
activityIds Matrice di stringhe Elenco degli ID dei record di dati di attività da utilizzare nel calcolo. È possibile includere nell'input fino a 500 ID attività.
calculationModelId Stringa ID del modello di calcolo da utilizzare nel calcolo delle emissioni.
versione Stringa No Il numero di versione dell'API identifica la versione dell'API da richiamare. Attualmente 1.0.0 è l'unica versione disponibile. Se non specificata, viene utilizzata l'ultima versione.

Parametri di output

Al livello più alto, l'output è una stringa JSON contenente un elenco di entità di output di emissione generalizzate. Per ciascuna attività idonea, l'entità di output potrebbe contenere le emissioni valutate o gli errori riscontrati durante il calcolo, a seconda che il calcolo abbia avuto esito positivo. Verifica sempre la presenza del flag IsErrorRecord del record di output prima di provare ad accedervi.

Entità di output delle emissioni generalizzate

L'entità di output delle emissioni generalizzate non esiste in Dataverse. È una raccolta di attributi pertinenti dall'entità di emissione e dall'entità di errore di calcolo. L'API per il calcolo delle emissioni generalizzate restituisce un elenco di queste entità, con ciascuna entità corrispondente a un record di dati di attività idoneo nell'input.

L'entità di output ha gli attributi seguenti:

Name Type Descrzione
ActivityId String L'ID dei dati del record di dati dell'attività usato per il calcolo.
ActivityName String Il nome del record di dati dell'attività usato per il calcolo.
IsErrorRecord Boolean Un valore booleano che indica se il calcolo per questa determinata attività ha rilevato errori. Se true, il calcolo non è riuscito e gli errori riscontrati possono essere visualizzati tramite l'attributo ErrorJson.
ErrorJson Stringa Stringa JSON che rappresenta eventuali errori di calcolo rilevati durante l'elaborazione di questa determinata attività. Questo valore è null se IsErrorRecord è false.
Nome Stringa Nome dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true.
CH4 Decimale Valore CH4 dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene CH4.
CH4Unit Stringa Nome dell'unità del valore CH4 dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene CH4.
CO2 Decimale Valore CO2 dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene CO2.
CO2Unit Stringa Nome dell'unità del valore CO2 dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene CO2.
CO2e Decimale Valore CO2e dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene CO2e.
CO2eUnit Stringa Nome dell'unità del valore CO2e dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene CO2e.
HFCs Decimale Valore HFCs dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene HFCs.
HFCsUnit Stringa Nome dell'unità del valore HFCs dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene HFCs.
N2O Decimale Valore N2O dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene N2O.
N2OUnit Stringa Nome dell'unità del valore N2O dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene N2O.
NF3 Decimale Valore NF3 dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene NF3.
NF3Unit Stringa Nome dell'unità del valore NF3 dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene NF3.
PFCs Decimale Valore PFCs dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene PFCs.
PFCsUnit Stringa Nome dell'unità del valore PFCs dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene PFCs.
SF6 Decimale Valore SF6 dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene SF6.
SF6Unit Stringa Nome dell'unità del valore SF6 dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene SF6.
OtherGHGs Decimale Valore di altri gas serra dell'emissione calcolata per questa attività. Questo valore è 0 se IsErrorRecord è true o se l'emissione non contiene altri GHG.
OtherGHGsUnit Stringa Nome dell'unità di altri gas serra dell'emissione calcolata per questa attività. Questo valore è null se IsErrorRecord è true o se l'emissione non contiene altri GHG.

Esempi

Nell'esempio seguente, l'API viene richiamata con un ID dei dati dell'attività valido, generando una risposta non di errore.

Input:

{

  "activityDataIds": [
    "decc7c96-9180-ed11-aacf-000d3a1477fd”
  ],

  "calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",

  "version": "1.0.0"

}

Output:

[
{
"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
}
]

Nell'esempio seguente, l'API viene richiamata con un ID dati attività non valido che genera una risposta di errore. Nel record relativo all'impegno in questione manca il campo costo, che il modello di calcolo richiede nell'input. Di conseguenza, il record di output presenta un JSON di errore contenente lo stack di eccezioni di calcolo rilevate durante la valutazione del record. Il codice di errore del servizio delle eccezioni riscontrate può aiutare l'utente a capire cosa è andato storto. In questo caso, EmissionCalculationActionFieldValueNullBlankException indica che un campo obbligatorio è vuoto.

Input:

{

  "activityDataIds": [
       "22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
  ],

  "calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",

  "version": "1.0.0"

}

Output:

[
{ 
    "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 
  }] 
]

Chiamata di API personalizzate

Per ulteriori informazioni, vai a Creare e usare le API personalizzate.