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:
-
The external application gets an Oauth2 token from IDCS.
-
The external application makes an FTS request with the Oauth2 token to request Pre-Authentication.
-
Once the PAR is received, the external application uploads a file to object storage using the URL included within the response.
-
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 File Transfer Service Process Flow](img/fts.png)
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.
-
Log in to EICS web client as customer Admin user.
-
Go to Configuration System.
-
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 |
---|---|---|
GET |
{Service Base URL}/fts/ping |
|
GET |
{Service Base URL}/fts/{FTS Bucket Name}/listprefixes |
|
GET |
{Service Base URL}/fts/{FTS Bucket Name}/listfiles |
|
POST |
{Service Base URL}/fts/{FTS Bucket Name}/movefiles |
|
POST |
{Service Base URL}/fts/{FTS Bucket Name}/delete |
|
POST |
{Service Base URL}/fts/{FTS Bucket Name}/upload |
|
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
Obtaining a Token
FTS APIs use OAuth2.0 for authorization.
To generate a token from IDCS, an IDCS application client will need to be created for you to use.
The Customer Administration users must create their own client credential IDCS application using the Oracle Retail Home Cloud Service. For additional details, refer to Oracle® Retail Home Administration Guide- Chapter: Oauth Application Configuration chapter – Section: Creating OAuth Client Applications.
The App name and scope that should be used for the FTS IDCS application creation should be environment specific using the format :
App Name- RGBU_SIOCS_<ENV>_EICS_FTS_INT
Scope- rgbu:siocs:integration-<ENV>
Example:
App Name- RGBU_SIOCS_STG1_ EICS_FTS_INT
Scope- rgbu:siocs:integration-STG1
Steps to retrieve the FTS Client ID and Client Secret from IDCS:
-
Customer's IDCS Administrator log into Oracle Identity Cloud Service (IDCS) console.
-
In the left navigation panel, select Oracle Cloud Service.
-
On the search field, type in "FTS".
-
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
-
Click the client application, which will take you to the Application Detail Panel.
Figure 9-3 Application Detail Panel
-
Select the Configuration tab to view client Id.
Figure 9-4 Configuration Tab
-
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"}]}
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"}]}
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:
-
The external application gets the Oauth2 token from IDCS.
-
The external application makes an FTS request with the Oauth2 token to requesting Pre-Authentication.
-
Once the PAR is received, the external application uploads the file to object storage using the URL included within the response.
-
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:
-
The external solution application gets the Oauth2 token from IDCS.
-
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.
-
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.
-
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 File Transfer Service UI](img/ftsui.png)
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
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 Upload New File Dialog](img/fts_uploadnewfile.png)
Next, choose files from your client machine, then click Upload:
Figure 9-8 File Added
![File Added File Added](img/fts_addfile.png)
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 Recent Uploads](img/fts_recentuploads.png)
Note:
The uploaded import data files will be processed by scheduled batch import job. You may run an 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
-
Try to connect to File Transfer Ping endpoint. If you can connect ping endpoints, continue to step2.
-
Try to invoke List Files endpoint, if get response status 200, continue to step3.
-
Verify the bucket name. The bucket name should have value like rgbu_rex_cnprod_<cust_env>
-
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 do 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 Get Client Access Token](img/ftsget.png)