API de calcul d’émission généralisé
Vous pouvez utiliser l’API msdyn_runEmissionCalculationService pour calculer les émissions des activités à l’aide d’un modèle de calcul sans créer de profil de calcul. En tant qu’abonné de Microsoft Sustainability Manager, vous pouvez utiliser cette URL pour accéder à l’API :
{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService
Dans cette URL, URL de l’organisation fait référence à l’URL de base de l’organisation sur laquelle Microsoft Sustainability Manager est installé et auquel l’utilisateur peut accéder. Version fait référence à la version de l’API Web (par exemple, 9.2).
Obtenir des ID d’entité
Il existe plusieurs façons d’obtenir les ID d’entités telles que les données d’activité et le modèle de calcul. Parmi celles-ci figurent l’API web XRM, l’API cliente et directement via l’URL de l’entité sur Microsoft Sustainability Manager.
Paramètres d’entrée
En tant qu’API personnalisée Dataverse, la durée d’exécution de l’API de calcul généralisé des émissions est limitée à deux minutes. Les calculs plus longs expirent, la taille de l’entrée est donc limitée conformément au tableau suivant.
Nom | Type | Obligatoire ? | Description |
---|---|---|---|
activityIds | Tableau de chaîne | Oui | Liste des ID des enregistrements de données d’activité à utiliser dans le calcul. Jusqu’à 500 ID d’activité peuvent être inclus dans l’entrée. |
calculationModelId | Chaîne | Oui | ID du modèle de calcul à utiliser dans le calcul des émissions. |
version | Chaîne | Non | Le numéro de version de l’API identifie la version de l’API qui doit être appelée. Les tests ne sont actuellement disponibles que dans la version 1.0.0. Si non spécifiée, utilisez la dernière version. |
Paramètres de sortie
Au niveau le plus élevé, la sortie est une chaîne JSON contenant une liste d’entités de sortie d’émission généralisées. Pour chaque activité éligible, l’entité de sortie peut contenir les émissions évaluées ou les erreurs rencontrées lors du calcul selon que le calcul a réussi ou non. Vérifiez toujours l‘indicateur IsErrorRecord d’un enregistrement sortant avant d’essayer d’y accéder.
Entité sortante des émissions généralisées
L’entité sortante des émissions généralisées n’existe pas dans Dataverse. Il s’agit d’un ensemble d’attributs pertinents de l’entité d’émission et de l’entité d’erreur de calcul. L’API de calcul des émissions généralisées renvoie une liste de ces entités, chaque entité correspondant à un enregistrement de données d’activité éligible dans l’entrée.
L’entité sortante contient les attributs suivants :
Nom | Type | Description |
---|---|---|
ActivityId | Chaîne | ID de l’enregistrement de données d’activité utilisé pour le calcul. |
ActivityName | Chaîne | Nom de l’enregistrement de données d’activité utilisé pour le calcul. |
IsErrorRecord | Entier | Une valeur booléenne indiquant si le calcul pour cette activité donnée a rencontré des erreurs. Si true, le calcul a échoué et les erreurs rencontrées peuvent être visualisées via l’attribut ErrorJson. |
ErrorJson | Chaîne | Chaîne JSON représentant les erreurs de calcul rencontrées lors du traitement de cette activité donnée. Cette valeur est null si IsErrorRecord est false. |
Nom | Chaîne | Nom de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true. |
CH4 | Decimal | Valeur CH4 de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de CH4. |
CH4Unit | Chaîne | Nom de l’unité pour la valeur CH4 de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de CH4. |
CO2 | Decimal | Valeur CO2 de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de CO2. |
CO2Unit | Chaîne | Nom de l’unité pour la valeur CO2 de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de CO2. |
CO2e | Decimal | Valeur CO2e de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de CO2e. |
CO2eUnit | Chaîne | Nom de l’unité pour la valeur CO2e de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de CO2e. |
HFC | Decimal | Valeur HFCs de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de HFCs. |
HFCsUnit | Chaîne | Nom de l’unité pour la valeur HFCs de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de HFCs. |
N2O | Decimal | Valeur N2O de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de N2O. |
N2OUnit | Chaîne | Nom de l’unité pour la valeur N2O de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de N2O. |
NF3 | Decimal | Valeur NF3 de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de NF3. |
NF3Unit | Chaîne | Nom de l’unité pour la valeur NF3 de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de NF3. |
PFC | Decimal | Valeur PFCs de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de PFCs. |
PFCsUnit | Chaîne | Nom de l’unité pour la valeur PFCs de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de PFCs. |
SF6 | Decimal | Valeur SF6 de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas de SF6. |
SF6Unit | Chaîne | Nom de l’unité pour la valeur SF6 de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas de SF6. |
OtherGHGs | Decimal | Autre valeur de gaz à effet de serre de l’émission calculée pour cette activité. Cette valeur est 0 si IsErrorRecord est true ou si l’émission ne contient pas d’autres GHG. |
OtherGHGsUnit | Chaîne | Nom de l’unité pour une autre valeur de gaz à effet de serre de l’émission calculée pour cette activité. Cette valeur est null si IsErrorRecord est true ou si l’émission ne contient pas d’autres GHG. |
Examples
Dans l’exemple suivant, l’API est appelée avec un ID de données d’activité valide, ce qui génère une réponse sans erreur.
Entrée :
{
"activityDataIds": [
"decc7c96-9180-ed11-aacf-000d3a1477fd”
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Sortie :
[
{
"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
}
]
Dans l’exemple suivant, l’API est appelée avec un ID de données d’activité non valide, ce qui entraîne une réponse avec erreur. L’enregistrement d’activité en question ne contient pas le champ de coût, qui est requis par le modèle de calcul dans l’entrée. Par conséquent, l’enregistrement de sortie comporte une erreur JSON contenant la pile d’exceptions de calcul rencontrées lors de l’évaluation de l’enregistrement. Le code d’erreur de service des exceptions rencontrées peut aider l’utilisateur à comprendre ce qui s’est passé. Dans ce cas, EmissionCalculationActionFieldValueNullBlankException indique qu’un champ obligatoire est vide.
Entrée :
{
"activityDataIds": [
"22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
],
"calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",
"version": "1.0.0"
}
Sortie :
[
{
"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
}]
]
Appel d’API personnalisées
Pour plus d’informations, voir : Créer et utiliser des API personnalisées.