pdfToolbox in the cloud- POST an operation and GET the result
These operations require your personal api-key which can be requested via 'Request the key'.
For a POST request, two things are needed:
- Your personal api-key
- The POST request body containing the json data to be submitted. A POST request body can look like this
{
"finput": "https://s3.eu-central-1.amazonaws.com/ccapi-sample/sample.pdf",
"imgformat": "PNG"
}
Request
For brevity the POST request body has been stored in a file named saveasimg_data.json.
Your personal api-key needs to be specified in an HTTP x-api-key header field.
curl -X POST https://api.callassoftware.io/v1/pdfToolbox/saveasimg \
-H 'x-api-key: your-api-key-here'
-d '{ "finput": "https://s3.eu-central-1.amazonaws.com/ccapi-sample/sample.pdf" }'
This responds with an HTTP/202 message that contains a path component in the body. There are other components such as state and progress that can be used for progress information.
{
"path": "/v1/result/4qwrfluvo5_a809270b-6cad-4afa-b7bc-1c90f830618a",
"message": "operation pending",
"ms_retry_after": 400,
"progress": 0,
"state": "INITIAL"
}
Fields:
-
path
is to be used in subsequent HTTP GET requests -
ms_retry_after
should be used to delay the next HTTP GET request by the specified amount of milliseconds (it is only present in newer API versions). Note: the API throttles on its own if you ommit the delay specified in ms_retry_after. It is however recommended that you make use of this field because otherwise an error HTTP/427 too many requests can occur -
state
be used to for progress indication (see below for progress) -
progress
can be used to indicate the percentual progress of the remote operation (informational only)
Subsequent HTTP GET request
The same personal api-key needs to be specified in an HTTP x-api-key header field.
curl https://api.callassoftware.io/v1/result/4qwrfluvo5_a809270b-6cad-4afa-b7bc-1c90f830618a \
-H 'x-api-key: your-api-key-here'
You should repeat this subsequent GET requests as long as the HTTP return code is a 202, and stop as soon a final response code is received (either HTTP/200 or HTTP/4xx or HTTP/5xx)
Response
On success
The API responds with an HTTP Status of 202 (Accepted). The json response body could look like this:
{
"message": "operation enqueued for asynchronous processing (keep going using a GET on the belonging path ...)",
"ms_retry_after": 200,
"operation": "saveasimg",
"path": "/v1/result/4qwrfluvo5_5a56290d-8422-4bfb-a95f-792656ddefc4",
"progress": 0,
"state": "INITIAL"
}
On Error
{
"message": "failed to download: https://s3.eu-central-1.amazonaws.com/ccapi-sample/sample.pdf"
}