Data Transfer Integration Point
Introduction
The Data Transfer integration point processes a JSON input payload, similar to Operational Reporting Integration Point along with two additional attributes to capture the data transfer format and description. This IP logs any access to PHI data.
This IP accepts request to query base views (including PHI data) or reporting views.
Request
Operations
This IP supports the following operation:
POST https://<context:root>/api/datatransfer
If the request is sent by JET UI, access to base views are restricted. |
Payload
The dataTransferFormat
supports the following formats.
-
CSV
-
JSON
-
XML (available only for cloud customers)
-
PARQUET (available only for cloud customers)
{ "columns": [ {"expr": "a.col1"}, {"expr": "b.col2"}, {"expr": "sum(c.col3)"}, {"expr": "substr(a.col2,1,1)", "alias": "initial"} ], "from": "view a", "joins": [ {"type": "inner", "object": "view2 b", "condition": "a.fk1_id=b.id"}, {"type": "left outer", "object": "view3 c", "condition": "a.fk2_id=c.id"}, {"type": "right outer", "object": "view4 d", "condition": "a.fk3_id=d.id"}, {"type": "full outer", "object": "view5 e", "condition": "a.fk4_id=e.id"} ], "where": "a.col2 > 'abc' and datecol > DATE '2024-02-15'", "groupBy": "c.col3", "orderBy": "a.col1 desc, b.col2 asc", "offset": 20, "fetchNext": 10, "dataTransferFormat": "JSON", "description": "Policies in progress for brand ABC" }
Response
The response contains the HTTP 201 status code with a link to the data transfer in the location header to monitor the progress.
For example: https://<context:root>/api/datatransfer/1234
If you do not have access to one or more views included in the request, then HTTP 204 response is returned.
Payload in On-Premise Deployment
{ "status": "", "extraInfo": "", "links": [ { "rel": "file", "href": "http://[hostName]:[portNumber]/api/datatransfer/1234/file/1" }, { "rel": "file", "href": "http://[hostName]:[portNumber]/api/datatransfer/1234/file/2" } ] }
Payload in On-Premise Deployment For JET UI
{ "status": "", "extraInfo": "", "links": [ { "rel": "file", "href": "http://[hostName]:[portNumber]/api/datatransfer/1234/file" } ] }
Payload in SaaS Deployment
{ "status": "", "extraInfo": "", "links": [ { "rel": "file", "href": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/mynamespace/b/my_bucket/o/file1.json?PAR=f12345abcd67890efg123hijklm456no" }, { "rel": "file", "href": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/mynamespace/b/my_bucket/o/file2.json?PAR=f12345abcd67890efg123hijklm456no" } ] }
Payload in SaaS Deployment If the Request Header LINK-TYPE is set to BUCKET_FILE_PATH
{ "status": "", "extraInfo": "", "storageDetails": { "format": "JSON", "files": [ { "path": "POLICIES/export_data_files/2025/2025-02/2025-02-01/124/file1.json" }, { "path": "POLICIES/export_data_files/2025/2025-02/2025-02-01/124/file2.json" } ] } }
Attribute Details
-
status
: This field contains any one of the values -In Process
,Success
orFailure
. -
extraInfo
: Shows the error details, if the data transfer fails (for example, when the connectivity to Object Storage fails). This attribute is present in the response only when the status isFailure
. -
links
: One or more links to download the data transfer files. The links appear only when the status isSuccess
.-
On-Prem deployment
: The links contain the URL to download the files through data transfer integration point. -
SaaS deployment
: The links contain the PAR URL to download the files directly from Object Storage. The PAR URLs are valid for a limited duration. The expiry time of PAR URL is 30 minutes. Attempting to access a PAR URL after the TTL expires results in an error. -
SaaS deployment for OIG
: Exact paths of the files created in the Object Storage are provided in the response. OIG directly accesses the Object Storage bucket and retrieves the files.
-
Response File Format
The data is exported using DBMS_CLOUD
package, so the response file format depends on its implementation. As a result, the response files must be parsed according to the specific format used.
JSON
The response is not a valid JSON file. Instead, each row from the table is serialized as an individual JSON object, separated by a newline character.
{"name":"John Williams", "email":"John.Williams@someserver.com", "country":"US"} {"name":"Jane Doe", "email":"Jane.Doe@someserver.com", "country":"AU"}
XML
The response is not a complete XML file. Each row is returned as a standalone XML fragment, separated by a newline character.
<RECORD><COUNTRY>US</COUNTRY><EMAIL>John.Williams@someserver.com</EMAIL><NAME>John Williams</NAME></RECORD> <RECORD><COUNTRY>AU</COUNTRY><EMAIL>Jane.Doe@someserver.com</EMAIL><NAME>Jane Doe</NAME></RECORD>
Monitoring the Progress
A monitor link helps to monitor the data transfer process.
Request Message
A GET
request on: https://<context:root>/api/datatransfer/{id}
returns the status of the data transfer.