Specifica API REST convalida customizzata esterna

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