Utilizzare questa specifica API per fornire un endpoint API REST che consenta a Oracle Fusion Cloud Enterprise Data Management di convalidare gli elementi richiesta utilizzando la logica e i dati che risiedono in un sistema esterno.
Cloud EDM chiama questa API quando gli elementi richiesta vengono convalidati utilizzando una convalida customizzata esterna. Il sistema esterno convalida i dati della richiesta e restituisce i messaggi di convalida per eventuali elementi o azioni della richiesta che non superano la convalida. La risposta viene quindi utilizzata da Cloud EDM per visualizzare i problemi di convalida con la severità specificata nella convalida customizzata.
Risorsa REST
Per eseguire convalide customizzate esterne, procedere come segue.
Metodo HTTP: POST
Percorso: percorso di convalida esterna configurato così come è stato definito nella connessione globale di convalida esterna
Esempio di percorso: /api/rest/externalValidation
Note:
Il corpo della richiesta e la risposta sono obbligatori per eseguire convalide customizzate esterne.
Per testare la connessione globale di convalida esterna, procedere come segue (fare riferimento a Creazione di connessioni globali).
Metodo HTTP: GET
Percorso: percorso di convalida esterna configurato così come è stato definito nella connessione globale di convalida esterna
Esempio di percorso: /api/rest/externalValidation
Note:
Il corpo della richiesta e la risposta non sono necessari per testare la connessione globale.
Autenticazione
Le richieste HTTP al sistema esterno devono fornire le credenziali di autenticazione di base HTTP tramite l'intestazione Autorizzazione.
Richiesta API
Tipi di supporti disponibili: application/json
Nella seguente tabella è riepilogata la richiesta client.
Table 20-6 Parametri
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
requestId |
Identificativo della richiesta EDM | Sì | Nessuno |
applicationId |
Identificativo dell'applicazione EDM | Sì | Nessuno |
validationId |
Identificativo di convalida customizzato EDM. | Sì | Nessuno |
validationKey |
Nome del programma di convalida esterno | Sì | Nessuno |
data (fare riferimento a Table 20-7) |
Raccolta di dati di convalida raggruppati per dimensione | Sì | Nessuno |
Table 20-7 Parametri per dati
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
dimensionId |
Identificatore della dimensione EDM | Sì | Nessuno |
dimensionName |
Nome della dimensione esterna dalla dimensione applicazione. | Sì | Nessuno |
nodeTypeId |
Identificativo del tipo di nodo EDM. | Sì | Nessuno |
dataSetKey |
Nome del set di dati esterno | Sì | Nessuno |
nodes (fare riferimento a Table 20-8) |
Raccolta di nodi in fase di convalida | Sì | Nessuno |
Table 20-8 Parametri per nodi
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
nodeName |
Nome del nodo EDM | Sì | Nessuno |
actions (fare riferimento a Table 20-9) |
Raccolta di azioni associate al nodo. | Sì | Nessuno |
Table 20-9 Parametri per azioni
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
actionId |
Identificatore dell'azione EDM | Sì | Nessuno |
actionType |
Tipo di azione in fase di convalida. I valori validi sono add, delete, insert, remove, move, reorder, rename e update. |
Sì | Nessuno |
parentName |
Nome del nodo padre | Obbligatorio quando l'azione si trova in una vista gerarchia. | Nessuno |
oldParentName |
Nome del nodo padre precedente per un'azione move. |
Obbligatorio per le azioni move. |
Nessuno |
previousSibling |
Nome del nodo di pari livello precedente per un'azione reorder. Utilizzare null se il nodo viene spostato nella prima posizione. |
Obbligatorio per le azioni reorder. |
Nessuno |
newName |
Nuovo nome del nodo per un'azione rename. |
Obbligatorio per le azioni rename. |
Nessuno |
propertyName |
Il nome della proprietà per un'azione update. |
Obbligatorio per le azioni update. |
Nessuno |
propertyFromValue |
Valore corrente della proprietà per un'azione update. |
Obbligatorio per le azioni update. |
Nessuno |
propertyToValue |
Valore aggiornato della proprietà per un'azione update. |
Obbligatorio per le azioni update. |
Nessuno |
Richiesta di esempio
{
"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"
}
]
}
]
}
]
}Risposta API
Tipo di supporto supportato: application/json
Table 20-10 Parametri
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
requestId |
Identificativo della richiesta EDM | Sì | Nessuno |
applicationId |
Identificativo dell'applicazione EDM | Sì | Nessuno |
validationId |
Identificativo di convalida customizzato EDM. | Sì | Nessuno |
validationKey |
Nome del programma di convalida esterno | Sì | Nessuno |
data (fare riferimento a Table 20-11) |
Raccolta di risultati di convalida raggruppati per dimensione | Sì | Nessuno |
Table 20-11 Parametri per dati
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
dimensionId |
Identificatore della dimensione EDM | Sì | Nessuno |
nodeTypeId |
Identificativo del tipo di nodo EDM. | Sì | Nessuno |
dataSetKey |
Nome del set di dati esterno | Sì | Nessuno |
nodes (fare riferimento a Table 20-12) |
Raccolta di nodi con risultati di convalida | Sì | Nessuno |
Table 20-12 Parametri per nodi
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
nodeName |
Nome del nodo EDM | Sì | Nessuno |
message |
Messaggio di convalida a livello di nodo restituito dal sistema esterno. | No | Nessuno |
severity |
La severità del messaggio di convalida a livello di nodo. | No | Nessuno |
validationMessages (fare riferimento a Table 20-13) |
Raccolta di messaggi di convalida a livello di azione. | Sì | Nessuno |
Table 20-13 Parametri per validationMessages
| Nome | Descrizione | Obbligatorio | Predefinito |
|---|---|---|---|
actionID |
Identificatore dell'azione EDM | Sì | Nessuno |
actionType |
Tipo dell'azione che non ha superato la convalida. | Sì | Nessuno |
message |
Messaggio di convalida restituito dal sistema esterno. | Sì | Nessuno |
severity |
Severità del messaggio di convalida a livello di azione. | No | Errore |
Risposta di esempio
{
"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"
}
]
}
]
}
]
}Esempio
L'esempio seguente mostra come eseguire una convalida esterna sottomettendo una richiesta di invio per la risorsa REST utilizzando cURL.
Comando cURL
curl --user external_user -X POST -H "Content-Type: application/json" -d @example_request_payload.json https://externalhostname.example.com/api/rest/externalValidation