Utilisez cette spécification d'API pour fournir une adresse d'API REST qui permet à Oracle Fusion Cloud Enterprise Data Management de valider des éléments de demande à l'aide d'une logique et de données résidant dans un système externe.
Cloud EDM appelle cette API lorsque des éléments de demande sont validés à l'aide d'une validation personnalisée externe. Le système externe valide les données de la demande et renvoie des messages de validation pour tout élément ou toute action de demande dont la validation échoue. La réponse est ensuite utilisée par Cloud EDM pour afficher les problèmes de validation avec la gravité indiquée dans la validation personnalisée.
Ressource REST
Pour exécuter des validations personnalisées externes :
Méthode HTTP : POST
Chemin : Configured external validation path as defined in the External Validation global connection
Exemple de chemin : /api/rest/externalValidation
Note:
Le corps de la demande et la réponse sont requis pour exécuter des validations personnalisées externes.
Pour tester la connexion globale de validation externe (reportez-vous à la section Création de connexions globales) :
Méthode HTTP : GET
Chemin : Configured external validation path as defined in the External Validation global connection
Exemple de chemin : /api/rest/externalValidation
Note:
Le corps de la demande et la réponse ne sont pas requis pour tester la connexion globale.
Authentification
Les demandes HTTP adressées au système externe doivent fournir les informations d'identification d'authentification de base HTTP via l'en-tête Authorization.
Demande d'API
Types de support pris en charge : application/json
Le tableau suivant récapitule la demande client.
Table 20-6 Paramètres
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
requestId |
Identificateur de la demande EDM. | Oui | Aucun |
applicationId |
Identificateur de l'application EDM. | Oui | Aucun |
validationId |
Identificateur de la validation personnalisée EDM. | Oui | Aucun |
validationKey |
Nom du programme de validation externe. | Oui | Aucun |
data (reportez-vous au Table 20-7) |
Ensemble de données de validation regroupées par dimension. | Oui | Aucun |
Table 20-7 Paramètres pour data
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
dimensionId |
Identificateur de la dimension EDM. | Oui | Aucun |
dimensionName |
Nom de la dimension externe provenant de la dimension d'application. | Oui | Aucun |
nodeTypeId |
Identificateur du type de noeud EDM. | Oui | Aucun |
dataSetKey |
Nom de l'ensemble de données externe. | Oui | Aucun |
nodes (reportez-vous au Table 20-8) |
Ensemble de noeuds en cours de validation. | Oui | Aucun |
Table 20-8 Paramètres pour nodes
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
nodeName |
Nom du noeud EDM. | Oui | Aucun |
actions (reportez-vous au Table 20-9) |
Ensemble d'actions associées au noeud. | Oui | Aucun |
Table 20-9 Paramètres pour actions
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
actionId |
Identificateur de l'action EDM. | Oui | Aucun |
actionType |
Type d'action en cours de validation. Les valeurs valides sont add, delete, insert, remove, move, reorder, rename et update. |
Oui | Aucun |
parentName |
Nom du noeud parent. | Requis lorsque l'action se trouve dans une vue de hiérarchie. | Aucun |
oldParentName |
Nom du noeud parent précédent pour une action move. |
Requis pour les actions move. |
Aucun |
previousSibling |
Nom du noeud semblable précédent pour une action reorder. Utilisez null si le noeud est en cours de déplacement vers la première position. |
Requis pour les actions reorder. |
Aucun |
newName |
Nouveau nom de noeud pour une action rename. |
Requis pour les actions rename. |
Aucun |
propertyName |
Nom de propriété pour une action update. |
Requis pour les actions update. |
Aucun |
propertyFromValue |
Valeur de propriété en cours pour une action update. |
Requis pour les actions update. |
Aucun |
propertyToValue |
Valeur de propriété mise à jour pour une action update. |
Requis pour les actions update. |
Aucun |
Exemples de demande
{
"requestId": "edm_request_id",
"applicationId": "edm_application_id",
"validationId": "edm_custom_validation_id",
"validationKey": "external_program_name",
"data": [
{
"dimensionId": "edm_dimension_id",
"dimensionName": "dimension_name",
"nodeTypeId": "edm_node_type_id",
"dataSetKey": "external_data_set_name",
"nodes": [
{
"nodeName": "edm_node_name",
"actions": [
{
"actionId": "edm_action_id",
"actionType": "add",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "delete",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "insert",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "remove",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "move",
"parentName": "edm_parent_name",
"oldParentName": "edm_old_parent_name"
},
{
"actionId": "edm_action_id",
"actionType": "reorder",
"parentName": "edm_parent_node_name",
"previousSibling": "edm_previous_sibling"
},
{
"actionId": "edm_action_id",
"actionType": "rename",
"parentName": "edm_parent_node_name",
"newName": "edm_new_name"
},
{
"actionId": "edm_action_id",
"actionType": "update",
"propertyName": "edm_property_name",
"propertyFromValue": "edm_property_from_value",
"propertyToValue": "edm_property_to_value",
"parentName": "edm_parent_node_name"
}
]
}
]
}
]
}Réponse d'API
Type de support pris en charge : application/json
Table 20-10 Paramètres
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
requestId |
Identificateur de la demande EDM. | Oui | Aucun |
applicationId |
Identificateur de l'application EDM. | Oui | Aucun |
validationId |
Identificateur de la validation personnalisée EDM. | Oui | Aucun |
validationKey |
Nom du programme de validation externe. | Oui | Aucun |
data (reportez-vous au Table 20-11) |
Ensemble de résultats de validation regroupés par dimension. | Oui | Aucun |
Table 20-11 Paramètres pour data
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
dimensionId |
Identificateur de la dimension EDM. | Oui | Aucun |
nodeTypeId |
Identificateur du type de noeud EDM. | Oui | Aucun |
dataSetKey |
Nom de l'ensemble de données externe. | Oui | Aucun |
nodes (reportez-vous au Table 20-12) |
Ensemble de noeuds avec des résultats de validation. | Oui | Aucun |
Table 20-12 Paramètres pour nodes
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
nodeName |
Nom du noeud EDM. | Oui | Aucun |
message |
Message de validation au niveau du noeud renvoyé par le système externe. | Non | Aucun |
severity |
Gravité du message de validation au niveau du noeud. | Non | Aucun |
validationMessages (reportez-vous au Table 20-13) |
Ensemble de messages de validation au niveau de l'action. | Oui | Aucun |
Table 20-13 Paramètres pour validationMessages
| Nom | Description | Requis | Valeur par défaut |
|---|---|---|---|
actionID |
Identificateur de l'action EDM. | Oui | Aucun |
actionType |
Type d'action dont la validation a échoué. | Oui | Aucun |
message |
Message de validation renvoyé par le système externe. | Oui | Aucun |
severity |
Gravité du message de validation au niveau de l'action. | Non | Error |
Exemple de réponse
{
"requestId": "edm_request_id",
"applicationId": "edm_application_id",
"validationId": "edm_custom_validation_id",
"validationKey": "external_program_name",
"data": [
{
"dimensionId": "edm_dimension_id",
"nodeTypeId": "edm_node_type_id",
"dataSetKey": "external_data_set_name",
"nodes": [
{
"nodeName": "edm_node_name",
"message": "external_validation_message",
"severity": "warning",
"validationMessages": [
{
"actionId": "edm_action_id",
"actionType": "delete",
"message": "external_validation_message",
"severity": "error"
}
]
}
]
}
]
}Exemple
L'exemple suivant montre comment exécuter une validation externe en soumettant une requête POST sur la ressource REST à l'aide de cURL.
Commande cURL
curl --user external_user -X POST -H "Content-Type: application/json" -d @example_request_payload.json https://externalhostname.example.com/api/rest/externalValidation