Mit dieser API-Spezifikation können Sie einen REST-API-Endpunkt bereitstellen, mit dem Oracle Fusion Cloud Enterprise Data Management Anforderungselemente mit Logik und Daten in einem externen System validieren kann.
Cloud EDM ruft diese API auf, wenn Anforderungselemente mit einer externen benutzerdefinierten Validierung validiert werden. Das externe System validiert die Anforderungsdaten und gibt Validierungsmeldungen für alle Anforderungselemente oder Aktionen zurück, für die die Validierung nicht erfolgreich war. Die Antwort wird dann von Cloud EDM verwendet, um die Validierungsprobleme mit dem in der benutzerdefinierten Validierung angegebenen Schweregrad anzuzeigen.
REST-Ressource
So führen Sie externe benutzerdefinierte Validierungen aus:
HTTP-Methode: POST
Pfad: Configured external validation path as defined in the External Validation global connection
Pfadbeispiel: /api/rest/externalValidation
Note:
Anforderungstext und -antwort sind erforderlich, um externe benutzerdefinierte Validierungen auszuführen.
So testen Sie die globale Verbindung für die externe Validierung (siehe Globale Verbindungen erstellen):
HTTP-Methode: GET
Pfad: Configured external validation path as defined in the External Validation global connection
Pfadbeispiel: /api/rest/externalValidation
Note:
Für das Testen der globalen Verbindung sind kein Anforderungsbody und keine Antwort erforderlich.
Authentifizierung
HTTP-Anforderungen an das externe System müssen Zugangsdaten zur HTTP-Basisauthentifizierung über den Authorization-Header bereitstellen.
API-Anforderung
Unterstützte Medientypen: application/json
Die folgende Tabelle enthält eine Übersicht der Clientanforderung.
Table 20-6 Parameter
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
requestId |
Die EDM-Anforderungs-ID | Ja | Keine |
applicationId |
Die EDM-Anwendungs-ID | Ja | Keine |
validationId |
Die benutzerdefinierte EDM-Validierungs-ID | Ja | Keine |
validationKey |
Name des externen Validierungsprogramms | Ja | Keine |
data (siehe Table 20-7) |
Collection von Validierungsdaten nach Dimension gruppiert | Ja | Keine |
Table 20-7 Parameter für data
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
dimensionId |
Die EDM-Dimensions-ID | Ja | Keine |
dimensionName |
Der Name der externen Dimension aus der Anwendungsdimension | Ja | Keine |
nodeTypeId |
Die EDM-Knotentyp-ID | Ja | Keine |
dataSetKey |
Der Name des externen Datasets | Ja | Keine |
nodes (siehe Table 20-8) |
Collection der zu validierenden Knoten | Ja | Keine |
Table 20-8 Parameter für nodes
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
nodeName |
Der Name des EDM-Knotens | Ja | Keine |
actions (siehe Table 20-9) |
Collection von Aktionen, die dem Knoten zugeordnet sind | Ja | Keine |
Table 20-9 Parameter für actions
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
actionId |
Die EDM-Aktions-ID | Ja | Keine |
actionType |
Der Aktionstyp, der validiert wird. Gültige Werte sind add, delete, insert, remove, move, reorder, rename und update. |
Ja | Keine |
parentName |
Der Name des übergeordneten Knotens. | Erforderlich, wenn sich die Aktion in einer Hierarchieansicht befindet | Keine |
oldParentName |
Der Name des vorherigen übergeordneten Knotens für eine move-Aktion. |
Für move-Aktionen erforderlich |
Keine |
previousSibling |
Der Name des vorherigen gleichgeordneten Knotens für eine reorder-Aktion. Verwenden Sie null, wenn der Knoten an die erste Position verschoben wird. |
Für reorder-Aktionen erforderlich |
Keine |
newName |
Der neue Knotenname für eine rename-Aktion. |
Für rename-Aktionen erforderlich |
Keine |
propertyName |
Der Eigenschaftsname für eine update-Aktion. |
Für update-Aktionen erforderlich |
Keine |
propertyFromValue |
Der aktuelle Eigenschaftswert für eine update-Aktion. |
Für update-Aktionen erforderlich |
Keine |
propertyToValue |
Der aktualisierte Eigenschaftswert für eine update-Aktion. |
Für update-Aktionen erforderlich |
Keine |
Beispielanforderung
{
"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"
}
]
}
]
}
]
}API-Antwort
Unterstützter Medientyp: application/json
Table 20-10 Parameter
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
requestId |
Die EDM-Anforderungs-ID | Ja | Keine |
applicationId |
Die EDM-Anwendungs-ID | Ja | Keine |
validationId |
Die benutzerdefinierte EDM-Validierungs-ID | Ja | Keine |
validationKey |
Name des externen Validierungsprogramms | Ja | Keine |
data (siehe Table 20-11) |
Collection von Validierungsergebnissen nach Dimension gruppiert | Ja | Keine |
Table 20-11 Parameter für data
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
dimensionId |
Die EDM-Dimensions-ID | Ja | Keine |
nodeTypeId |
Die EDM-Knotentyp-ID | Ja | Keine |
dataSetKey |
Der Name des externen Datasets | Ja | Keine |
nodes (siehe Table 20-12) |
Collection von Knoten mit Validierungsergebnissen | Ja | Keine |
Table 20-12 Parameter für nodes
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
nodeName |
Der Name des EDM-Knotens | Ja | Keine |
message |
Eine Validierungsmeldung auf Knotenebene, die vom externen System zurückgegeben wird | Nein | Keine |
severity |
Der Schweregrad der Validierungsmeldung auf Knotenebene | Nein | Keine |
validationMessages (siehe Table 20-13) |
Collection von Validierungsmeldungen auf Aktionsebene | Ja | Keine |
Table 20-13 Parameter für validationMessages
| Name | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
actionID |
Die EDM-Aktions-ID | Ja | Keine |
actionType |
Der Aktionstyp, für den die Validierung nicht erfolgreich war | Ja | Keine |
message |
Die vom externen System zurückgegebene Validierungsmeldung | Ja | Keine |
severity |
Der Schweregrad der Validierungsmeldung auf Aktionsebene | Nein | Error |
Beispielantwort
{
"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"
}
]
}
]
}
]
}Beispiel
Das folgende Beispiel zeigt, wie Sie eine externe Validierung ausführen, indem Sie eine POST-Anforderung für die REST-Ressource mit cURL weiterleiten.
cURL-Befehl
curl --user external_user -X POST -H "Content-Type: application/json" -d @example_request_payload.json https://externalhostname.example.com/api/rest/externalValidation