API di calcolo delle emissioni generate
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 | Sì | Elenco degli ID dei record di dati di attività da utilizzare nel calcolo. È possibile includere nell'input fino a 500 ID attività. |
calculationModelId | Stringa | Sì | 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.