diff --git a/_sidebar.md b/_sidebar.md index b431d91..bf5eae3 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -1,6 +1,4 @@ * [Overview](/) * Getting Started * [Try out CFT Sandbox](getting-started/try-out-sandbox) - * [Quick Start Guide](getting-started/sandbox-quick-start-guide) - * [Glossary](getting-started/glossary) - * [FAQs](getting-started/faqs) \ No newline at end of file + * [Glossary](getting-started/glossary) \ No newline at end of file diff --git a/getting-started/faqs.md b/getting-started/faqs.md deleted file mode 100644 index 2831c40..0000000 --- a/getting-started/faqs.md +++ /dev/null @@ -1,101 +0,0 @@ -# Frequently Asked Questions - -## Business Users - -Design questions to influence purchasing decision - -### About CFT - -1. What is Cloud File Transfer? -**Cloud File Transfer \(CFT\)** is a centralized, light-weight, fully managed, API-driven service that allows agencies or businesses to transfer files easily, securely and efficiently at scale. - - -2. What are the benefits of using CFT? - -- Plug and play - -Start transferring files in minutes without the operational cost and overheads of building and maintaining a similar service. Developed by the same team that built the cross zones bridging in APEX, CFT lets you focus your project resources on user centric functionalities that matter most to citizens and businesses. - -- Built-in scalability with no lock-in on your side - -Eliminates the need to manage your own infrastructure or worry about over or under provisioning. CFT runs on planet-scale infrastructure. Whether it is zero to N transfers, or seasonal spikes, CFT scales automatically for you. - -- Application Infrastructure Architecture Standard Compliant - -Compliance is hard. Staying compliant is harder. CFT complies to IM8's AIAS policy and will ensure compliance with future policy updates. - -- Customized file transfers - -Policy templates allow you to define policies and customize your file transfers. - -- Data integrity -Consistent and accessible data in real-time across multiple touchpoints. Secure file transfer mechanisms make sure that your files arrive intact from source to destination. - -3. How does it work? - - -4. Where is it hosted? - - -5. Is it compatible with web-based applications or mobile app? - -6. When will it be available? - - -### Subscription/Billing - - -1. Pricing Information? - -2. What are the package options you offer? - -Customizable workflows. - -3. Can I add-on or scale down my package options? - -Yes you can add-on or scale down your package options at any time. - -4. Can I monitor the resource utilization of my projects? - -Yes we have a self-service admin portal that allows you to view and manage the resource utilization of your projects. - -5. Can I download billing reports? - -6. How do I terminate my subscription? - -7. I am interested in trying out CFT service, do you offer a trial? - - Yes we do. We offer a sandbox environment for you to try out our APIs and get a feel of the file transfer process. - - Please follow the steps below to sign up: - -- Fill up the [onboarding form.](https://form.gov.sg/#!/60a4cca76179d60012cdacac/preview) -- We will send you an email with the sandbox credentials. -- Start testing with [OpenAPI specifications](https://docs.developer.gov.sg/docs/cft-rest-api-documentation/) or call the APIs from applications. - -8. Can't find what you are looking for? Email us at: - - -## Customer Support - -Design questions to reduce support efforts for the CFT Support team - -### Admin Portal - -1. I am unable to login to admin portal - -A TechPass account is required to access admin portal. - -If you do not have a TechPass account, click [here.]\[insert link \] - -If you are a TechPass user, your account may have been disabled due to inactivity. You will need to enable it. - -2. My TechPass account is disabled, how do I enable it? - -Your Agency Manager will need to raise a Service Request in TechPass portal to enable your account. - -### General - -1. I am not able to send files - -2. I am not able to receive files diff --git a/getting-started/glossary.md b/getting-started/glossary.md index c9d00ad..84bf44b 100644 --- a/getting-started/glossary.md +++ b/getting-started/glossary.md @@ -1,36 +1,66 @@ -# GLOSSARY +# GLOSSARY -## API -Application Programming Interface. A software intermediary that allows two applications to talk to each other. +This page provides a brief explanation of the key terms used in Cloud File Transfer. +## API +Application Programming Interface. Refers to a set of functions and procedures that allows two applications to interact with each other programmatically in order to access the features or data of an operating system, application or other service. ## API Endpoint -The place that APIs send requests to and where the resource resides. +Refers to a URL of a server or service, that is, the location from which APIs can access the API resources that they need to carry out the function. ## API Gateway -An API management tool that sits between a client and a collection of backend services. - -## API Gateway Id - +An API management tool that sits between a client and a collection of backend services. It accepts all API calls, aggregates the various services required to fulfil them, and returns the appropriate result. ## API Key -A unique identifier used by CFT to authenticate a calling program, this is used for rate limiting. It is assigned to an individual project. +A unique identifier used by CFT to authenticate a calling program. It is assigned to an individual project and used for rate limiting. ## API Request -A call to a server using an API. +A call to a server using an API. It allows you to retrieve data from a data source, or to send data. APIs run on web servers, and expose endpoints to support the operations client applications use to provide their functionality. Each API request uses an HTTP method. The most common methods are GET , POST , PATCH , PUT , and DELETE. + +- GET method retrieves data from an API +- POST method sends new data to an API +- PATCH and PUT methods update existing data +- DELETE removes existing data ## API Response -Response sent by the server according to the input header of the API request. +A response is defined by its HTTP status code and the data returned in the response body and/or headers. +For example: +200 OK - (When the request completes successfully and returns the response body.) + +## AIAS +Application Infrastructure Architecture Standard. + +## AWS +Amazon Web Services. It is the world’s most comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally. ## Client Id and Secret +Refers to the API credentials, required to generate an authorization token to make API calls. + +## CFT +Cloud File Transfer. A centralised, fully managed file transfer service for the whole-of-government (WOG). CFT is a part of the Singapore Government Tech Stack (SGTS) and is hosted on the Government Commercial Cloud (GCC). + +## CDR +Content Disarm and Reconstruct also known as Threat Extraction, proactively protects against known and unknown threats contained in documents by removing executable content. -A public identifier for applications. Required to generate an authorization token to make API calls. +## GCC +The Government Commercial Cloud Service brings the modern innovations and capabilities of commercial cloud computing platforms to less sensitive Government systems. These leading ICT capabilities are augmented by robust cybersecurity measures and systems to protect the data that resides on commercial cloud platforms. + + +## HTTPS +Hypertext Transfer Protocol Secure is an extension of the Hypertext Transfer Protocol. It is used for secure communication over a computer network, and is widely used on the Internet. + +## IM8 +Instruction Manual 8. A management tool used in the Government to safeguard ICT & SS (Infocomm Technology and Smart Systems) assets and guides all Government agencies in adopting ICT & SS to enable their digital transformation. -## Cloud File Transfer \(CFT\) -A lightweight, fully managed, API-driven service that allows agencies or businesses to transfer files easily, securely and efficiently at scale. ## JWT -JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. +JSON Web Token is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. + +## KMS +Key Management Service by AWS helps you create and manage cryptographic keys and control their use across a wide range of AWS services and in your applications. + +## Malware Scanning +The process of detecting malware in a file. ## OpenAPI Specifications The OpenAPI Specification (OAS) defines a standard, language-agnostic interface to RESTful APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. @@ -38,11 +68,26 @@ The OpenAPI Specification (OAS) defines a standard, language-agnostic interface ## Payload The body of an API request or response message. -## Project Id +## PGP +Pretty Good Privacy is an encryption program that provides cryptographic privacy and authentication for data communication. ## REST API A REST API is an API that conforms to the design principles of the REST, or representational state transfer architectural style. ## Sandbox -CFT sandbox environment is a secure environment to try out CFT APIs. The sandbox supports file transfers in the internet zone between systems. +The CFT sandbox is a secure test environment for you to try out CFT APIs for file transfers between systems in the internet zone. + +## Singapore Government Tech Stack (SGTS) +SGTS consists of a series of common applications and platforms built by the Government that helps agencies build compliant applications easily. + +## Amazon S3 +Amazon Simple Storage Service is an object storage service that offers industry-leading scalability, data availability, security, and performance. + +## SSE +Streaming SIMD Extensions is a processor technology that enables single instruction multiple data. It enables the instructions to handle multiple data elements. + +## TechPass +A Single Sign-On, Identity & Access Management solution for developer services in SGTS, enabling users to transition seamlessly between services, while providing downstream services for a seamless onboarding and consumption experience. +## Webhook +A way for an application to provide other applications with real-time information. \ No newline at end of file diff --git a/getting-started/images/Sandbox_API_usage.png b/getting-started/images/Sandbox_API_usage.png deleted file mode 100644 index ef3e487..0000000 Binary files a/getting-started/images/Sandbox_API_usage.png and /dev/null differ diff --git a/getting-started/images/Sandbox_Auth.png b/getting-started/images/Sandbox_Auth.png deleted file mode 100644 index 66845d8..0000000 Binary files a/getting-started/images/Sandbox_Auth.png and /dev/null differ diff --git a/getting-started/images/Sandbox_CreateTran1.png b/getting-started/images/Sandbox_CreateTran1.png deleted file mode 100644 index 6cc7d44..0000000 Binary files a/getting-started/images/Sandbox_CreateTran1.png and /dev/null differ diff --git a/getting-started/images/Sandbox_acktran.jpg b/getting-started/images/Sandbox_acktran.jpg deleted file mode 100644 index 2bf0f2e..0000000 Binary files a/getting-started/images/Sandbox_acktran.jpg and /dev/null differ diff --git a/getting-started/images/Sandbox_download.jpg b/getting-started/images/Sandbox_download.jpg deleted file mode 100644 index b475df3..0000000 Binary files a/getting-started/images/Sandbox_download.jpg and /dev/null differ diff --git a/getting-started/images/Sandbox_filescan.jpg b/getting-started/images/Sandbox_filescan.jpg deleted file mode 100644 index 2047042..0000000 Binary files a/getting-started/images/Sandbox_filescan.jpg and /dev/null differ diff --git a/getting-started/images/Sandbox_fileupload.jpg b/getting-started/images/Sandbox_fileupload.jpg deleted file mode 100644 index d19c345..0000000 Binary files a/getting-started/images/Sandbox_fileupload.jpg and /dev/null differ diff --git a/getting-started/images/Sandbox_transtatus.jpg b/getting-started/images/Sandbox_transtatus.jpg deleted file mode 100644 index a85f26c..0000000 Binary files a/getting-started/images/Sandbox_transtatus.jpg and /dev/null differ diff --git a/getting-started/images/how-it-works.png b/getting-started/images/how-it-works.png deleted file mode 100644 index b1a8db0..0000000 Binary files a/getting-started/images/how-it-works.png and /dev/null differ diff --git a/getting-started/sandbox-quick-start-guide.md b/getting-started/sandbox-quick-start-guide.md deleted file mode 100644 index fb612c4..0000000 --- a/getting-started/sandbox-quick-start-guide.md +++ /dev/null @@ -1,439 +0,0 @@ -# INTRODUCTION - -**Cloud File Transfer (CFT)** [sandbox][glossary.md] is a test environment that is almost identical to our production environment except that it supports only internet to internet transfers. - -In the following sections you will learn how to use APIs in the sandbox to send and receive files. \(Includes resource information on each of the API endpoints, request headers, response schema, sample request and response payloads!\) - -Try out our APIs and start transferring files in minutes! - - -If you haven't yet signed up, fill up the [onboarding form.](https://form.gov.sg/#!/60a4cca76179d60012cdacac/preview) - -We will send you an email with your API credentials and account information. - - -# Getting Started - -## Sandbox Credentials -Refer to your welcome email for the following information: - -- [API Key][glossary.md] -- [Client Id and Secret][glossary.md] -- [API Gateway Id][glossary.md] -- Sandbox (Internet).postman_environment.json* -- CFT API v1.postman_collection.json* -* Requires Postman application to be installed. - -## Setup Test Environment -We recommend Postman for its user-friendly, simple interface. It supports most HTTP methods and several status codes for you to verify your response. - -### 1. Install Postman Application -Download and install [Postman.][www.postman.com] - -### 2. Import CFT API v1 Collection and Sandbox Environment -- Click **Collections -> Import -> Folder -> \"CFT API v1.postman_collection.json\"** -- Click **Environment -> Import -> Folder -> \"Sandbox (Internet).postman_environment.json\"** -Refer Sandbox Credentials. - -## REST APIs -The REST APIs are implemented using HTTP Protocol. - -See image below to understand API usage during the file transfer process. - -![Display API](./images/Sandbox_API_usage.png) - -## Start File Transfers - -### 1. Authentication -Before you can start using APIs to send and receive files, you will need to authenticate yourself. You can do this by invoking the **(GET JWT(KeyCloak)) API** and providing your sandbox credentials. This API supports OAuth protocol.  - -![Display Step1](./images/Sandbox_Auth.png) - -You will receive an authorization token valid for 30 mins. - -This token is required to: - -- Upload files -- Scan and transfer files -- Download files - -#### 1.1 Resource Information -|Method |POST -|------------|--------------------------- -|URL |https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/auth -|What it does|Provides a short-lived authorization token to call CFT APIs - -#### 1.2 Request -##### 1.2.1 Headers* -|Name |Type |Purpose -|------------ |---------|------------ -|x-api-key |String |API Key assigned to an individual project -|Authorization |String |Basic Auth of Client Id and Secret -|x-apigw-api-id |String |API Gateway Id** - -**\*Unless mentioned otherwise, all headers are required.** - -****API Gateway Id needs to be physically entered if not hardcoded by Postman.** - - -##### 1.2.2 Sample Request -You can direcly invoke the APIs in the collection or use cURL commands as shown below: - -``` -curl --location --request POST 'https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/auth' \ ---header 'x-api-key: [API Key]' \ ---header 'x-apigw-api-id: [API Gateway Id]' \ ---header 'Authorization: Basic [Client Id and Secret]' -``` - -#### 1.3 Response -##### 1.3.1 JSON schema -|Name |Type -|------------ |--------- -|authorization_token |String -|expires_in |Integer -|token_type |String - - -##### 1.3.2 Sample Response Payload -|Code |Response -|-----------------|----------------------------- -|200 | -``` -{ - "authorization_token": “authorizationtoken”, - "expires_in": 1800, - "token_type": "Bearer" - } -``` - -### 2. Send Files -#### 2.1 Authenticate -Obtain authorization token. - -#### 2.2 Create Transaction -Use this API to receive a secure URL to upload your files. Provide the authorization token (obtained earlier), name of the files to be uploaded (required), and their md5Checksum (optional)*. - -You will receive a "transaction_id" and a secure URL valid for 30 minutes. - -*!>To get md5Checksum hash the file, use the following command: -openssl md5 -binary \[fileName\] | base64 - - -![Display Step2](./images/Sandbox_CreateTran1.png) - -##### 2.2.1 Resource Information -|Method |POST -|------------|---------------------------------------------------------------------- -|URL |https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/transactions -|What it does|Creates a transaction and returns secured URLs to upload files - -##### 2.2.2 Request -###### 2.2.2.1 Headers -|Name |Type |Purpose -|------------ |---------|------------ -|x-api-key |String |API Key assigned to an individual project -|authorization_token |String |Authorization token -|x-apigw-api-id |String |API Gateway Id - -###### 2.2.2.2 JSON schema -|Name |Type |Purpose -|------------ |--------- |--------- -|fileDetails |JSON array |fileDetails JSON schema -|fileName |String |file names to be uploaded with extension -|md5Checksum |String |md5checksum of the file - -###### 2.2.2.3 Sample Request Payload -``` -curl --location --request POST 'https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/transactions' \ ---header 'Authorization: [authorization_token]' \ ---header 'Content-Type: application/json' \ ---header 'x-api-key: [API Key]' \ ---header 'x-apigw-api-id: [API Gateway Id]' \ ---data-raw '{ - "fileDetails": [ - { - "fileName": "[fileName]", - "md5Checksum": "[md5Checksum]" - } - ] -}' -``` - -##### 2.2.3 Response -###### 2.2.3.1 JSON schema -|Name |Type -|------------ |--------- -|projectId |String -|transactionId |Integer -|filesCount |Integer -|uploadUrls |uploadUrls JSON schema - -###### 2.2.3.2 uploadUrls JSON schema -|Name |Type -|------------ |--------- -|fileName |String -|uploadUrl |String -|validFor |String - -###### 2.2.3.3 Sample Response Payload - -|Code |Response -|-----------------|----------------------------- -|200 | -``` -{ - "projectId": "projectId", - "transactionId": "transactionId", - "filesCount": 1, - "uploadUrls": [ - { - "fileName": "fileName", - "uploadUrl": "uploadUrl", - "validFor": "30 Minutes" - } - ] - } -``` - - -#### 2.3 Upload File -Upload your file to the URL obtained in the previous step. (Step 2.2) -``` -curl --location --request PUT '[uploadUrl]' \ ---header 'Content-MD5: [md5Checksum]' \ ---header 'Content-Type: text/plain' \ ---data-binary '/path/[fileName]' -``` -![Display Step3](./images/Sandbox_fileupload.jpg) - -#### 2.4. View Transaction Status -To know if the file has been successfully uploaded, invoke the **\(Transaction Status API\).** Provide your authorization_token in the request body. - -\(Important: If there is more than one file, all files need to be uploaded before you call the Transaction Status API.\) - -You will receive a status of the transaction including the uploaded files. - -![Display Step4](./images/Sandbox_transtatus.jpg) - -##### 2.4.1 Resource Information -|Method |GET -|------------|----------------------------------------- -|URL |https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/transactions/{transactionid}/status -|What it does|Returns the status of all files uploaded in a transaction - -##### 2.4.2 Request -###### 2.4.2.1 Headers -|Name |Type |Purpose -|------------ |---------|------------ -|x-api-key |String |API Key assigned to an individual project -|authorization_token |String |Authorization token -|x-apigw-api-id |String |API Gateway Id - -###### 2.4.2.2 Sample Request Payload -``` -curl --location --request POST 'https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/transactions/{{session_id}}/status' \ ---header 'x-api-key: [API Key]' \ ---header 'x-apigw-api-id: [API Gateway Id]' \ ---header 'Authorization: [authorization_token]' - -``` -##### 2.4.3 Response -###### 2.4.3.1 JSON schema -|Name |Type -|------------ |--------- -|projectId |String -|transactionId |String -|filesCount |Integer -|fileDetails |JSON array of fileDetails schema - -###### 2.4.3.2 fileDetails JSON schema -|Name |Type -|------------ |--------- -|fileName |String -|fileStatus |String -|transactionTimestamp |String -|fileTimestamp\* |String - -**\* fileTimestamp is optional. - -###### 2.4.3.3 Sample Response -|Code |Response -|-----------------|----------------------------- -|200 | -``` -{ -    "projectId": "abcd", -    "transactionid": "3cfcb009-954d-4cbc-b941-855f04e87db6", -    "filesCount": 2, -    "fileDetails": [ -        { -            "fileName": "test1.txt", -            "fileStatus": "FileDownloaded", -            "transactionTimestamp": "2021-02-02 10:45:02", -            "fileTimestamp": "2021-02-02 17:42:24" -        }, -        { -            "fileName": "test2.pdf", -            "fileStatus": "FileDownloaded", -            "transactionTimestamp": "2021-02-02 10:45:02", -            "fileTimestamp": "2021-02-02 17:42:24" -        } -    ] -} -``` -|4xx |{"message":"error message"} - -#### 2.5 Commit Transaction -After checking that the file has uploaded successfully, use the **\(Scan Transaction API\)** to commit the file for scan and transfer. - -![Display Step5](./images/Sandbox_filescan.jpg) - -##### 2.5.1 Resource Information -|Method |POST -|------------|-------------------------------------------------------------------- -|URL |https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/transactions/{{sessionid}}/scan -|What it does|Commits the transaction for scan and transfer - -##### 2.5.2 Request -###### 2.5.2.1 Headers -|Name |Type |Purpose -|------------ |---------|------------ -|x-api-key |String |API Key assigned to an individual project -|authorization_token |String |Authorization token -|x-apigw-api-id |String |API Gateway Id - - -##### 2.5.3 Response -###### 2.5.3.1 JSON schema -|Name |Type -|------------ |--------- -|projectId |String -|transactionId |String -|filesCount |Integer -|fileDetails |JSON array of fileDetails schema - -###### 2.5.3.2 fileDetails JSON schema -|Name |Type -|------------ |--------- -|fileName |String -|fileStatus |String - -###### 2.5.3.3 Sample Response -|Code |Response -|-----------------|----------------------------- -|200 | -``` -{ -    "projectId": "abcd", -    "transactionid": "47e1da94-6c26-432f-9585-9f8927a71892", -    "filesCount": 2, -    "fileDetails": [ -        { -            "fileName": "test1.txt", -            "fileStatus": "FileSubmittedForScan" -        }, -        { -            "fileName": "test2.pdf", -            "fileStatus": "FileSubmittedForScan" -        } -    ] -} -``` -|4xx | - - -### 3. Notification -After the scan and transfer is complete, files will be available for download. CFT system will send a notification to the receiver via Webhook.* - -*(Webhook needs to be configured by receiver) - - - -### 4. Receive Files - -#### 4.1 Authentication -Obtain authorization token. - -#### 4.2 Download File -You need to obtain secure URLs to download the file, use the **Download Transaction API.** - -![Display Step5](./images/Sandbox_download.jpg) - -##### 4.2.1 Resource Information -|Method |GET -|------------|------------------------------------------ -|URL |https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/transactions/{transactionid}/download -|What it does|Provides secured URLs to download files in a transaction - -##### 4.2.2 Request -###### 4.2.2.1 Headers -|Name |Type |Purpose -|------------ |---------|------------ -|x-api-key |String |API Key assigned to an individual project -|authorization_token |String |Authorization token -|x-apigw-api-id |String |API Gateway Id - -##### 4.2.3 Response -###### 4.2.3.1 JSON schema -|Name |Type -|------------ |--------- -|projectId |String -|transactionId |String -|filesCount |Integer -|downloadUrls |JSON array of downloadUrls schema - -###### 4.2.3.2 downloadUrls JSON schema -|Name |Type -|------------ |--------- -|fileName |String -|fileStatus |String -|downloadUrl\* |String -|validFor\* |String - -**\* Only available when file is copied to clean bucket** - -###### 4.2.3.3 Sample Response Payload -|Code |Response -|-----------------|----------------------------- -|200 | "projectId": "gt-enp", - "transactionId": "2a94862a-2a5e-4e85-bf38-98a587c08da1", - "filesCount": 1, - "downloadUrls": [ - { - "fileName": "abcd.txt", - "fileStatus": "FileCopiedToCleanBucket", - "downloadUrl": "https://gt-enp-clean-sandbox-internet.s3-sandbox.gdscft.govtechstack.sg/2a94862a-2a5e-4e85-bf38-98a587c08da1/abcd.txt?AWSAccessKeyId=ASIAUDIC7Y3DCGCP26R7&Expires=1629276790&Signature=zC7ncFeVSZ4iFHOuF5K%2FQhSpc%2Bw%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEGEaDmFwLXNvdXRoZWFzdC0xIkcwRQIhAJGXKuck2d343bnUF8MyGS0jPNywYSCzh8sK%2B8bSimq3AiAe6fyFwJ22ewxKJSmR4xbdSN1nRUL0wfrvlA8%2BUVs%2FFCq2AgiK%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAEaDDI4MTg2MzUwNTYwNiIM5CJHSuHnYhjVFNBVKooCvmokdCGCJJHcy5q7TYt8OPv%2FHD642SvzHSemeW7hV2%2F643sJniww4EcWAGInH9Udtxm3q9Ch7J8aEjvqL7jcFXNLePFoRaOa5nh6AeCo2tSQhPgXsKsvnAJesXVH8TmxQlv41YOo7%2BO%2BEgWTDbrCuBIgDxiCmCQHXluPy9MD2w9k3wTLlY%2FYPOXcuttVf88kO83zZ3alQD63jmlDMdbe63eW0n0bZwVUWiNwEr12N%2Bp6PoDWs1%2F%2F5k%2Bmt7O2LYCAjQxIYjggh8iIN4QRhjfA6oBZGQD99Xy%2FhmOFXyvtFLQDC%2BSXmvU9BNoFwLZClmMEqxyUOdXxvZbQT8QFdhxdzRZwWRMo%2FUysg90w7YbziAY6mgHOYRAbpM3vPjXcqDPi9%2BsQaP6YUm%2FOeanciG6hj3PahNL8cbML48MVAdr2jaVEeX4s9IffgY55jIxrz9vLqudBWrFUaVAntOh49j%2FOaPr%2Fwss8etDrekssJqp3MBp7VAJ01UKheq3dGbgNlbevMxuHpU9sIZCvaqHV0yQ06YBIZoHOpCowZaSmCL30Fo4hHYMjlxf5wJjULxxd", - "validFor": "30 Minutes" - } - ] -} -|4xx | - - -#### 4.3 Send Acknowledgement -Use the acknowledgment API to notify CFT about the files downloaded. This is optional. - -![Display Step5](./images/Sandbox_acktran -'.jpg) - -##### 4.3.1 Resource Information -|Method |PUT -|------------|------------------------- -|URL |https://api-sandbox.gdscft.govtechstack.sg/sandbox/v1/cft/transactions/{transactionid}/ack -|What it does|Notifies Sender about the files downloaded in a transaction - -##### 4.3.2 Request -###### 4.3.2.1 Headers -Refer 2.2.1 \(of Sender\) - -##### 4.3.3 Response -###### 4.3.3.1 Sample Response -|Code |Response -|-----------------|----------------------------- -|200 | -|4xx | - - -## Support -Support is delivered over telegram channel and during office hours. \ No newline at end of file