9 File Transfer Services

This chapter covers the following topics:

Overview

Oracle Cloud Infrastructure Object Storage is an internet-scale, high-performance storage platform that offers reliable and cost-efficient data durability.

File Transfer Service (FTS) for the Store Inventory Cloud Services is available as JSON REST services. These APIs allows you to manage uploading and downloading files to Object Storage.

Access to files is through a Pre-Authenticated Request (PAR), which is a URL that requires no further authentication to upload or download to the application's object storage. To retrieve a PAR, you must use the appropriate FTS services.

The FTS APIs enables external application to import files to and export files from Object Storage used by the solutions.

These APIs provides following services:

  • Ping to check FTS Service health

  • List storage prefixes

  • List files in object storage

  • Move files from object storage

  • Delete Files from object storage

  • Request Upload PAR

  • Request Download PAR

The general process flow below describes how the external solution application interacts with FTS service for transferring files to cloud solution service:

  1. The external application gets an Oauth2 token from IDCS.

  2. The external application makes an FTS request with the Oauth2 token to request Pre-Authentication.

  3. Once the PAR is received, the external application uploads a file to object storage using the URL included within the response.

  4. The file uploads to application object storage and will be processed by the application batch jobs.

Figure 9-1 File Transfer Service Process Flow

File Transfer Service Process Flow

In addition to public FTS endpoints, SIOCS also provides a File Transfer Service User Interface to view files in cloud solution object storage, to upload and download file interactively once logged into the SIOCS web client. Refer to File Transfer Service UI section for details.

How to Call FTS APIs

To interact with FTS, you must use the REST APIs provided. The endpoints URLs are relative to cloud solution integration base URL, and endpoints also include the object storage bucket name which is allocated for your environment for file services.

Service Base URL

The Cloud service base URL follows the format:

https://rex.retail.<Region Name>.ocs.oraclecloud.com/<Customer Subnamespace>/siocs-int-services/api/

Note:

The <Region Name> and <Customer Subnamespace> part of the URL should be replaced with the one specific to your environment. This will be the same as your cloud service Application URL provided in the Welcome email.

FTS Bucket Name

For each customer environment, logical containers (buckets) are created in Object Storage for storing objects used by the cloud application. The file transfer bucket name is created and set when the environment is provisioned. The bucket name is required to move files between Oracle Cloud and your local system using file transfer services.

rgbu_rex_cnprod_<cust_env>

Example:

rgbu_rex_cnprod_rgbu-rex-custA-stg1-siocs

The ' File Transfer Service Bucket Name' is a restricted system configuration parameter on the EICS System Configuration screen. A customer Admin user (with the IDCS application role sim_admin_users) can perform the following steps to view the bucket name.

  1. Log in to EICS web client as customer Admin user.

  2. Go to Configuration System.

  3. Check the values setting for name File Transfer Service Bucket Name.

FTS Endpoints

Open API documents can be viewed via the following URL:

https://{external_load_balancer}/{cust_env}/siocs-int-services/public/api/Fts.json

The table below lists the API end points for different file operations. See FTS API Specifications for details.

Table 9-1 FTS Endpoints

Service Method FTS Endpoint URLs

Ping

GET

{Service Base URL}/fts/ping

List Prefixes

GET

{Service Base URL}/fts/{FTS Bucket Name}/listprefixes

List Files

GET

{Service Base URL}/fts/{FTS Bucket Name}/listfiles

Move Files

POST

{Service Base URL}/fts/{FTS Bucket Name}/movefiles

Delete Files

POST

{Service Base URL}/fts/{FTS Bucket Name}/delete

Request Upload PAR

POST

{Service Base URL}/fts/{FTS Bucket Name}/upload

Request Download PAR

POST

{Service Base URL}/fts/{FTS Bucket Name}/download

Note:

The example in this section uses curl command line tools. You may also use Postman to test the FTS REST APIs for testing purpose. Refer to Test FTS API using Postman.

Preparing for Authorization

FTS Client Id and Client Secret

FTS APIs use OAuth2.0 for authorization. SIOCS provisioning process creates FTS client credential application in IDCS. Customer's IDCS administrator can retrieve the client ID and Client Secret from Oracle Identity Cloud Service (IDCS).

Steps to retrieve the FTS Client ID and Client Secret from IDCS:

  1. Customer's IDCS Administrator log into Oracle Identity Cloud Service (IDCS) console.

  2. In the left navigation panel, select Oracle Cloud Service.

  3. On the search field, type in "FTS".

  4. From the search result, find your FTS client application for cloud environment.

    FTS Client ID is like: RGBU_SIOCS_<ENV>_EICS_FTS_INT_APPID

    (Example <ENV>: DEV1, STG1, PROD1 ..)

    Figure 9-2 FTS Client Application

    FTS Client Application
  5. Click the client application, which will take you to the Application Detail Panel.

    Figure 9-3 Application Detail Panel

    Application Detail Panel
  6. Select the Configuration tab to view client Id.

    Figure 9-4 Configuration Tab

    Configuration Tab
  7. Click Show Secret to see the password.

OAuth Scopes for FTS

Custom environment specific scope.

The scope pattern that is used in the FTS IDCS application creation template is rgbu:siocs:integration-{env}

For example:

rgbu:siocs:integration-STG1

IDCS OAuth2 Token URL

IDCS token URL to obtain Oauth2 token.

Example IDCS_TOKENT_URL:

https://idcs-XXXXXXXX.identity.oraclecloud.com/

Using the above URL,

IDCS_TOKENT_URL = {IDCL_BASE_URL}/oauth2/v1/token

Retrieving Access Client Token

The following is required in headers for making OAuth2.0 enabled REST Services.

  • Please contact customer's IDCS administrator for FTS Client ID and Client Secret.

  • An access token using the Client ID and secret from IDCS.

Example: get access Token Use Curl

export ACCESS_TOKEN="$(curl -u <Client ID>:<Secret> -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<IDCS_BASE_URL>/oauth2/v1/token -d 'grant_type=client_credentials&scope=<Scope>' | jq -r '.access_token')"

In above example, substitute the variables with proper values for your environment. See FTS Client Id and Client Secret section for obtaining Credential Client ID and Client Secret.

Note:

You need to have curl and jq client tool installed on your client machine for using curl for testing.

For example:

export ACCESS_TOKEN="$(curl -u RGBU_SIOCS_ZZZZ_EICS_FTS_INT_APPID:<secret> -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://idcs-ZZZZ/oauth2/v1/token -d 'grant_type=client_credentials&scope=rgbu:siocs:integration-X' | jq -r '.access_token')"

FTS API Call Common Headers

Each call to FTS Endpoint should contain the following Request headers:

  • Content-Type: application/json

  • Accept: application/json

  • Accept: Language: en

  • Authorization: Bearer {ACCESS_TOKEN}

Before calling FTS API, you need to get the ACCESS_TOKEN use step Retrieving Access Client Token.

How to Use FTS API to find Object Storage Prefixes

First you need to get the ACCESS_TOKEN use step Retrieving Access Client Token, then you may call the endpoint List Prefixes as below:

Sample Request:

curl --request GET https://rex.retail.<Region Name>.ocs.oraclecloud.com/<Customer Subnamespace>/ /siocs-int-services/api/fts/vvvvv-siocs/listprefixes -H 'content-type: application/json' -H 'Accept: application/json' -H 'Accept-Language: en' -H "Authorization: Bearer ${ACCESS_TOKEN}"

Sample Response:

{"values":["archives","rejects","imports","exports"]}

How to Use FTS APIs to Upload Files to Object Storage

Step1: Request upload PAR

First get the ACCESS_TOKEN use step Retrieving Access Client Token, then call the endpoint Request Upload PAR as below:

Sample Request:

curl --request POST https://rex.retail.<Region Name>.ocs.oraclecloud.com/<Customer Subnamespace>/ /siocs-int-services/api/fts/{bucketname}/upload -H 'content-type: application/json' -H 'Accept: application/json' -H 'Accept-Language: en' -H "Authorization: Bearer ${ACCESS_TOKEN}" -d "{\"listOfFiles\": [{\"storagePrefix\": \"imports\",\"fileName\": \"EXTPC_1.dat\"},{\"storagePrefix\": \"imports\",\"fileName\": \"RFID_1.dat\"}]}"

Sample Response:

{"par-List":[{"id":"zzzzzzz/:imports/EXTPC_1.dat","name":"EXTPC_1.dat","accessUri":"https://objectstorage.us-ZZZ-siocs/o/imports/EXTPC_1.dat","accessType":"ObjectWrite","timeExpires":"2022-02-13T21:39:40.265Z","timeCreated":"2022-02-13T21:34:40.329Z","objectName":"imports/EXTPC_1.dat"},{"id":"ZZZZ:imports/RFID_1.dat","name":"RFID_1.dat","accessUri":"https://zzzz-siocs/o/imports/RFID_1.dat","accessType":"ObjectWrite","timeExpires":"2022-02-13T21:39:40.411Z","timeCreated":"2022-02-13T21:34:40.472Z","objectName":"imports/RFID_1.dat"}]}

Step2: Use PAR to upload data files to Object Storage

Use the accessUri returned in the get PAR response to upload the data file.

Sample Request:

curl https://ZZZZZ-siocs/o/imports/RFID_1.dat --upload-file C:\\temp\\RFID_1.dat

How to Use FTS API to List Files in Object Storage

First get the ACCESS_TOKEN using step Retrieving Access Client Token, then call the endpoint List Files as below:

Sample Request:

curl --request GET https://<external_load_balancer>/<cust_ env>/siocs-int-services/api/fts//<bucketname>/listfiles?contains=RFID -H 'content-type: application/json' -H 'Accept: application/json' -H 'Accept-Language: en' -H "Authorization: Bearer ${ACCESS_TOKEN}"

Sample Response:

{"lim-it":999,"count":1,"offset":0,"hasMore":false,"resultSet":[{"name":"imports/RFID_1.dat","createdDate":"2022-02-13T21:35:26Z","modifiedDate":"2022-02-13T21:35:26Z","scanStatus":"Passed","scanDate":"2022-02-13T21:35:56.187Z","md5":"xxxx==","version":"xxxxx","etag":"zzzzzzz","size":75}]}

How to Use FTS APIs to Download Files from Object Storage

Step1: Find what files are available for downloads

First get the ACCESS_TOKEN using step Retrieving Access Client Token, then call the endpoint List Files as below:

Sample Request:

curl --request GET https://<external_load_balancer>/<cust_ env>//siocs-int-services/api/fts/<bucketname>/listfiles?contains=RFID -H 'content-type: application/json' -H 'Accept: application/json' -H 'Accept-Language: en' -H "Authorization: Bearer ${ACCESS_TOKEN}"

Sample Response:

{"lim-it":999,"count":1,"offset":0,"hasMore":false,"resultSet":[{"name":"imports/RFID_1.dat","createdDate":"2022-02-13T21:35:26Z","modifiedDate":"2022-02-13T21:35:26Z","scanStatus":"Passed","scanDate":"2022-02-13T21:35:56.187Z","md5":"xxxxx==","version":"xxxxx","etag":"ZZZZZ","size":75}]}

Step2: Request Download PAR for downloading data files from Object Storage

First get the ACCESS_TOKEN using step Retrieving Access Client Token, then call the endpoint Request Download PAR as below:

Sample Request:

curl --request POST https://ZZZZZZ-siocs/siocs-int-services/internal/fts/rgbu_rex_cndevcorp_rgbu-rex-rgbu-dev125-siocs/download -H 'content-type: application/json' -H 'Accept: application/json' -H 'Accept-Language: en' -H "Authorization: Bearer ${ACCESS_TOKEN}" -d "{\"listOfFiles\": [{\"storagePrefix\": \"imports\",\"fileName\": \"RFID_1.dat\"}]}"

Sample Response:

{"par-List":[{"id":"i91P0nFIIsgj05qrUH2ibTZ2npmbTdq1TKsGtWOerAYaE6/MYZE7840lR/QEhaFk:imports/RFID_1.dat","name":"RFID_1.dat","accessUri":"https://objectstorage.us-phoenix-1.oraclecloud.com/p/ZG89KsLS_5SY7D2p7nVQt8KfJ6rLJ40FSmI97zASLRK2VrsICbvoRP0bgoQGxk3S/n/ZZZZZ-siocs/o/imports/RFID_1.dat","accessType":"ObjectRead","timeEx-pires":"2022-02-13T23:07:00.962Z","timeCreated":"2022-02-13T23:02:01.105Z","objectName":"imports/RFID_1.dat"}]}

Step3: Download the file using the par returned from step2

curl -o <destinationFileName> -X GET <PAR>

For example:

curl -o RFID_1_download.dat -X GET https://ZZZZZ-siocs/o/imports/RFID_1.dat

Handling Import Data Files

This section describes the general steps for an external solution application to transfer batch data files from external system to cloud application object storage.

The data to be processed can be provided as a single data file, or a zip file contains multiple data files.

The application batch imports the inbound data files from Object Storage, after the files have passed an anti-virus and malware scan. Once the files are downloaded from Object Storage, the batch process deletes the files from Object Storage to ensure it is not re-processed in next batch run. Rejected records are placed in the rejects file when applicable.

Supported Import Data Files

Table 9-2 Supported Import Data Files

File Name Description File Layout

Clearance File Import

The file is processed by Clearance File Import Batch.

For additional details, see Batches.

Filename Format:

Clearance_Tx_<YYYYMMddHHMMss>.csv

See Appendix: Batch File Layout Specifications for details.

Initial Inventory Import File

The file is processed by Initial Inventory Import Batch.

For additional details, see Batches.

File name prefix: EXTSTK_*

See Appendix: Batch File Layout Specifications for details.

Price Change File Import

The file is processed by Price Change File Import Batch.

For additional details, see Batches.

Filename Format:

PriceChange_Tx_<YYYYMMddHHMMss>.csv

See Appendix: Batch File Layout Specifications for details.

ReSA Import File

The file is processed by Retail Sale Audit Import Batch.

For additional details, see Batches.

Zip Filename Format

SIMT_< YYYYMMDDHH24MISS>.zip

See Appendix: Batch File Layout Specifications for details.

RFID Import File

The file is processed by Third Party RFID Import Batch.

For additional details, see Batches.

Zip Filename Format

RFID_<YYYYMMDDHH24MISS>.zip

See Appendix: Batch File Layout Specifications for details.

Store Sequence Import

The file is processed by Store Sequence Import Batch.

For additional details, see Batches.

Filename Format:

SSEQ date in YYYYMMDDHH24MISS format>_<loc id>.dat

See Appendix: Batch File Layout Specifications for details.

Third Party Price Import File

The file is processed by Third Party Price File Import Batch.

For additional details, see Batches.

Zip Filename Format

EXTPC_<YYYYMMDDHH24MISS>.zip

See Appendix: Batch File Layout Specifications for details.

Third Party Stock Count Import File

The file is processed by Third Party Stock Count Import Batch.

For additional details, see Batches.

Zip Filename Format

STK_<YYYYMMDDHH24MISS>.zip

See Appendix: Batch File Layout Specifications for details.

Upload Import Data Files to Object Storage

To upload data files to object storage, the external solution application needs to perform following steps:

  1. The external application gets the Oauth2 token from IDCS.

  2. The external application makes an FTS request with the Oauth2 token to requesting Pre-Authentication.

  3. Once the PAR is received, the external application uploads the file to object storage using the URL included within the response.

  4. Files uploaded to application object storage will be processed by cloud application batches.

Handling Export Data Files

The following describes the supported export data files which are supported by cloud application. These export data files are available for external solution applications to download.

Supported Export Data Files

Table 9-3 Supported Export Data Files

Export File Name Description File Name Format

Inventory Extract File

The file is generated by via Inventory export batch.

For additional details, see Batches.

Filename Format:

PRODUCT_LOCATION_INV_*

See Appendix: Batch File Layout Specifications for details.

Stock Count Export File

The stock count export file is generated when a unit and amount stock count authorization is completed.

Zip Filename Format

STK_*

See Appendix: Batch File Layout Specifications for details.

Steps to Download Export Data Files from Object Storage

For retailer to download the export data files from application object storage, perform the following steps:

  1. The external solution application gets the Oauth2 token from IDCS.

  2. The external solution application calls the FTS service with the Oauth2 token to list the available export files in Object Storage which are generated by cloud app.

  3. The external solution application calls the FTS service with the Oauth2 token, requesting Pre-Authentication to download files from object storage used by cloud app.

  4. Once the PAR is received, the file is downloaded using the URL included within its response. A PAR is valid for 10 minutes. A download can take longer than 10 minutes, but it must be started within 10 minutes of the PAR being received.

File Transfer Service UI

SIOCS provides an UI which is used to upload or download a file or view a list of files in object storage.

To access this screen, the application user needs to be assigned the Access File Transfer Service security permission.

The IDCS or OCI IAM application role admin_users is required for the user to perform the upload/download operations.

Figure 9-5 File Transfer Service UI

File Transfer Service UI

The main form lists the recently uploaded files.

Actions:

  • To filter the files by store prefix, select a file storage prefix.

  • To filter by file name by choosing the Actions choice selector on the screen.

  • To upload new files, click Upload New File button:

    Figure 9-6 Upload New File

    Upload New File

In the Upload New File popup dialog, choose storage prefix Imports and click Add File button.

Figure 9-7 Upload New File Dialog

Upload New File Dialog

Next, choose files from your client machine, then click Upload:

Figure 9-8 File Added

File Added

Once the uploaded file has passed a virus scan, the file is ready for a cloud application batch to import the file from object storage into the application.

Figure 9-9 Recent Uploads

Recent Uploads

Note:

The uploaded import data files will be processed by scheduled batch import job. You may run adhoc import batch job for testing purpose, if choose so, make sure to run the adhoc job outside of job schedule window for the select batch (or disable the job schedule for the selected batch. Once the adhoc job is completed, you will need to re-enable the batch schedule for the batch).

FTS API Specifications

This section describes FTS API specifications.

Ping

Returns the status of the service and provides an external health-check.

Method GET

Endpoint

{Service Base URL}/fts/ping

HTTP Header

See Common Request Headers in making FTS API Call Common Headers.

Parameters

[ { "name": "pingMessage", "description": "Optional value to be included in the ping response.", "in": "query", "required": false, "schema": { "type": "string" } } ],

Request Body

None

Response

"200": {

"description": "OK - The service operation produced a successful response."

},

"400": {

"description": "Bad Request - The path params or query params or body was not valid for this operation."

}

List Prefixes

Returns a list of the known storage prefixes. These are analogous to directories and are restricted to predefined choices per service. SIOCS has list of pre-defined storage prefixes: import, exports, rejects and archives.

Method GET

Endpoint

{Service Base URL}/fts/{FTS Bucket Name}/listprefixes

HTTP Header

See Common Request Headers in making FTS API Call Common Headers.

Parameters

[

{

"name": "bucketName",

"description": "Bucket identifier.",

"in": "path",

"required": true,

"schema": {

"type": "string"

}

}

],

Request Body

None

Response

A JSON array of strings containing the known prefixes.

{

"200": {

"description": "OK - The service operation produced a successful response."

},

"400": {

"description": "Bad Request - The path params or query params or body was not valid for this operation."

}

}

List Files

Returns a list of the files within a given storage prefix.

Method GET

Endpoint

{Service Base URL}/fts/{FTS Bucket Name}/listfiles

HTTP Header

See Common Request Headers in making FTS API Call Common Headers.

Parameters

{

"name": "bucketName",

"description": "Bucket identifier.",

"in": "path",

"required": true,

"schema": {

"type": "string"

}

},

{

"name": "prefix",

"description": "The object filter in object storage.",

"in": "query",

"required": false,

"schema": {

"type": "string"

}

},

{

"name": "contains",

"description": "The object filter in object storage.",

"in": "query",

"required": false,

"schema": {

"type": "string"

}

},

{

"name": "scanStatus",

"description": "The object filter in object storage.",

"in": "query",

"required": false,

"schema": {

"type": "string"

}

},

{

"name": "offset",

"description": "The object filter in object storage.",

"in": "query",

"required": false,

"schema": {

"type": "integer"

}

},

{

"name": "limit",

"description": "The object filter in object storage.",

"in": "query",

"required": false,

"schema": {

"type": "integer"

}

},

{

"name": "sort",

"description": "The object filter in object storage.",

"in": "query",

"required": false,

"schema": {

"type": "string"

}

}

],

Request Body

None

Response

A JSON resultSet containing array of files. For each file, there is metadata including: name, size, created and modified dates, scan status and date, scan output message.

{

"200": {

"description": "OK - The service operation produced a successful response."

},

"400": {

"description": "Bad Request - The path params or query params or body was not valid for this operation."

}

Move Files

Moves one or more files between storage prefixes, while additionally allowing the name to be modified.

Method POST

Endpoint

{Service Base URL}/fts/{FTS Bucket Name}/movefiles

HTTP Header

See Common Request Headers in making FTS API Call Common Headers.

Parameters

[

{

"name": "bucketName",

"description": "Bucket identifier.",

"in": "path",

"required": true,

"schema": {

"type": "string"

}

}

]

Request Body

{"listOfFiles": [ {"currentPath": { "storagePrefix": "string", "fileName": "string"}, "newPath": { "storagePrefix": "string", "fileName": "string" } } }}

Delete Files

Deletes one or more files.

Method POST

Endpoint

{Service Base URL}/fts/{FTS Bucket Name}/delete

HTTP Header

See Common Request Headers in making FTS API Call Common Headers.

Parameters

[

{

"name": "bucketName",

"description": "Bucket identifier.",

"in": "path",

"required": true,

"schema": {

"type": "string"

}

}

]

Request Body

A JSON array of files to be deleted. One or more pairs of storagePrefix and filename elements can be specified within the array. Required: true{ " {"listOfFiles": [ [ { " {"storagePrefix": "string", "fileName": "string" } ]}

Response

A JSON array of each file deletion attempted and the result.

{

"200": {

"description": "OK - The service operation produced a successful response."

},

"400": {

"description": "Bad Request - The path params or query params or body was not valid for this operation."

Request Upload PAR

Request PAR for uploading one or more files.

Method POST

Endpoint

{Service Base URL}/fts/{FTS Bucket Name}/upload

HTTP Header

See Common Request Headers in making FTS API Call Common Headers.

Parameters

[

{

"name": "bucketName",

"description": "Bucket identifier.",

"in": "path",

"required": true,

"schema": {

"type": "string"

}

} ]

Request Body

A JSON array of files to be uploaded. One or more pairs of storagePrefix

and filename elements can be specified within the array.

Required: true

{ "listOfFiles":

[

{

"storagePrefix": "string",

"fileName": "string"

}

]

}

Response

A parList containing an array containing elements corresponding to the request

including the PAR accessUri and name of file.

{

"parList": [

{

"id": "string",

"name": "string",

"accessUri": "string",

"objectName": "string",

"accessType": "string",

"timeExpires": "2021-09-07T16:35:27.390Z",

"timeCreated": "2021-09-07T16:35:27.390Z"

}

]

}

Response Status:

{

"200": {

"description": "OK - The service operation produced a successful response."

},

"400": {

"description": "Bad Request - The path params or query params or body was not valid for this operation."

}

Request Download PAR

Request PAR for downloading one or more files.

Method

POST

Endpoint

{Service Base URL}/fts/{Bucket Name}/download

HTTP Header

See Common Request Headers in making FTS API Call Common Headers.

Parameters

[

{

"name": "bucketName",

"description": "Bucket identifier.",

"in": "path",

"required": true,

"schema": {

"type": "string"

}

}

]

Request Body

A JSON array of files to be downloaded. One or more pairs of storagePrefix and filenames can be specified within the array. Required: true

{

"listOfFiles": [

{

"storagePrefix": "string",

"fileName": "string"

}

]

}

Response

A parList containing an array containing elements corresponding

to the request including the PAR accessUri and name of file.

"parList": [

{

"id": "string",

"name": "string",

"accessUri": "string",

"objectName": "string",

"accessType": "string",

"timeExpires": "2021-09-07T16:35:27.390Z",

"timeCreated": "2021-09-07T16:35:27.390Z"

}

]

}

Response Status:

{

"200": {

"description": "OK - The service operation produced a successful response.

"

File Transfer Service Troubleshooting

These troubleshooting topics covers common file transfer service issues and possible solutions.

Troubleshooting File Transfer Service Internal Server Error

  1. Try to connect to File Transfer Ping endpoint. If you can connect ping endpoints, continue to step2.

  2. Try to invoke List Files endpoint, if get response status 200, continue to step3.

  3. Verify the bucket name. The bucket name should have value like rgbu_rex_cnprod_<cust_env>

  4. Make sure the bucket name in service request matches the configuration value set for 'File Transfer Service Bucket Name' in the system configuration screen.

    If the above steps does not resolve the internal server error, you may raise a Service Request on My Oracle Support.

Test FTS API using Postman

Step 1: Get Client Access Token

OAuth tokens can also be obtained by REST client tools like postman for testing purposes.

When using Postman testing, fill in the required details:

  • Authorization: OAuth 2.0

  • Access Token URL: https://{IDCS_BASE_URL}/oauth2/v1/token

  • Client ID: Client if of the OAuth

  • Client Secret: Client secret of OAuth Client app

  • Grant Type: client_credentials

  • Scope: The scope pattern that is used in the FTS IDCS app creation template is rgbu:siocs:integration-{env}{env index}

Figure 9-10 Get Client Access Token

Get Client Access Token

Step 2: Call FTS Endpoints

Change Authorization Type to Bearer Token, use the access token returned from step1 as the Token Value as below:

Figure 9-11 Call FTS Endpoints

Call FTS Endpoints