Domande frequenti KB0401952
Posta elettronica
OpenAPI: recupero dell'ID documento dalla soluzione alternativa dell'API Analytical Reporting (rapporti analitici) per gli allegati dell'API External Approval (approvazione esterna)
Per comodità dell'utente, questo articolo della Knowledge Base è stato tradotto automaticamente. SAP non fornisce alcuna garanzia in merito alla correttezza o alla completezza della traduzione automatica. È possibile visualizzare il contenuto originale passando all'inglese nel selettore della lingua.
Sintomo

Il tentativo di recuperare gli ID documento dalla chiamata dell'API Get Entity Details (/{entity_type}/{entity_id}) non restituisce l'ID documento dell'allegato.


Causa

L'API External Approval (approvazione esterna) consente all'applicazione client di richiedere i dettagli di un documento identificato utilizzando l'endpoint GET /{entity_type}/{entity_id} specifico del tipo di documento di interesse. Le attività (ossia la classe DocumentTask) sono collegate direttamente a un tipo specifico di dati che può essere un documento (come ContractAgreement o regolare Document), una cartella (classe WorkSpaceFolder) o un’area di lavoro (classe ContractWorkspace).

La progettazione corrente di questa API fornisce solo i dettagli dei dati direttamente collegati all'attività. Pertanto, se è direttamente collegato a un documento, si otterrebbero i dettagli del documento (come DocumentID) e, se è collegato a un'area di lavoro, si otterrebbero i dettagli dell'area di lavoro (campi di intestazione). Le aree di lavoro contengono documenti ma, poiché l'attività è collegata all'area di lavoro e non al documento (a causa della nidificazione degli oggetti), non si otterrà l'ID documento per le attività collegate all'area di lavoro. La documentazione è corretta in quanto l'API supporta le attività collegate alle aree di lavoro, ma fornisce solo i campi di intestazione dell'area di lavoro e non tutti i documenti annidati all'interno di un'area di lavoro.

Dal punto di vista della progettazione, se l'attività è stata collegata direttamente all'area di lavoro, significa che non è necessario che l'utente riveda alcun documento specifico e che debba solo rivedere il contratto a livello di intestazione. Se è necessario che un utente riveda documenti specifici, è possibile creare attività specificamente collegate a tali documenti.


Soluzione

La soluzione alternativa possibile per recuperare gli ID documento è utilizzare un viewTemplate personalizzato nell'API Analytical Reporting by ProjectIds, quindi utilizzare l'endpoint del documento dell'API External Approval (approvazione esterna) per recuperare il documento.

Ottenere l'ID documento dall'API Analytical Reporting (rapporti analitici):

  1. Nell'API Analytical Reporting (rapporti analitici) creare un modello personalizzato per recuperare InternalId in base a ProjectId, il tipo di documento è DocumentFact
    curl --location --request POST '{{runtime_url}}/viewTemplates/<nome_modello>?realm=<nome_realm>' \
    --header 'apiKey: <your_api_key>' \
    --data-raw '{
    "stato": "pubblicato",
    "documentType": "DocumentFact",
    "selectAttributes": [
    "LoadCreateTime",
    "LoadUpdateTime",
    "InternalId",
    "ProjectInfo",
    "Titolo",
    "Descrizione",
    "DocumentType",
    "Stato",
    "CreateDate",
    "LastModified",
    "AclId"
    ],
    "filterExpressions": [
    {
    "name": "ProjectId",
    "campo": "ProjectInfo.ProjectId",
    "op": "=",
    "defaultValue": null
    }
    ]
    }'
  2. Una volta creato il modello personalizzato, API sincrona di reporting di Analysis per recuperare i dati
    curl --location --request GET '{{runtime_url}}/views/<nome_modello>?realm=<nome_realm>&filter={"ID progetto":"<ID_progetto>"}' \
  3. Il campo InternalId è l' ID documento. Salvalo

Ottenere i dati del documento dall'API External Approval (approvazione esterna):

  1. Utilizzando l'endpoint Get/Document specificare l'ID documento
    https://openapi.ariba.com/api/sourcing-approval/v1/prod/Document/<InternalId>?realm=<nome_realm>
  2. Si riceverà un risultato JSON del documento con fileContent, extension
  3. Decodifica fileContent da codifica Base64 e salvataggio del flusso in base al campo ampliamento (pdf, docx, xlsx, ecc.)

Vedi anche


Si applica a

Strategic Sourcing > Strategic Sourcing - API REST
Supplier Lifecycle and Performance > Supplier Lifecycle & Performance - Open API

Condizioni di utilizzo  |  Copyright  |  Informazioni sulla sicurezza  |  Privacy