Table of Contents
Table of Contents | ||
---|---|---|
|
Changelogs
Version | Date | Changes by | Description of change |
V1.0 | Mar 29, 2024 | Que Nguyen |
|
| ||
V1.0.1 | April 10, 2024 | Que Nguyen |
| |||
V1.0.2 | May 30, 2024 | Que Nguyen |
|
Release status
Environment | Status | Released Date | Version | ||||||
DEV |
| Mar 25, 2024 | V1.0 | ||||||
UAT |
| Mar 25, 2024 | V1.0 | ||||||
PROD |
| Mar 25, 2024 | V1.0 |
API Definition
Status | ||||
---|---|---|---|---|
|
/public/v2/documents/devices
Request
Request Header
Name
Content-Type |
|
Authorization |
|
Request Payload
Field
Type
Description
File
form
File (required) form Form File content Allowed Mime types:
Max size: |
5MB |
multipart/form
Response Header | ||
---|---|---|
|
| |
Response Body | ||
Field | Type | Description |
|
| File unique identifier |
Return file Id |
Request
Status | ||||
---|---|---|---|---|
|
/public/v2/documents/devices
Request with cURL
Code Block | ||
---|---|---|
| ||
curl --location '{url}/public/v2/documents/devices' \ --header 'Authorization: Bearer {access_token}' \ --form 'File=@"/C:/Users/Document.docx"' |
Response
Response Header
Content-Type |
|
Response Body
Response Body |
---|
Data.Id uuid File unique identifier |
Errors list of error objects Please see "Getting Started - #Error Object" for more details 请查看Getting Started - #Error Object以获得更多信息。 |
Meta null object Return null object |
StatusCode integer Http Status codes standard. Example http状态码,如200,201,404 |
Message text Response message: Success or error message. 返回成功或错误的信息。 |
Info |
---|
201 SuccessCreated |
Code Block | ||
---|---|---|
| ||
{ "Errors": [], "Meta": null, "StatusCode": 201, "Data": { "Id": "5428c55f-db08-400b-959f-08747d140a19" }, "Message": "Create new document successfully" } |
Warning |
---|
404 Not Found |
Code Block | ||
---|---|---|
| ||
{ "Data": null, "Errors": [], "Meta": null, "StatusCode": 404, "Message": "Not Found" } |
Warning |
---|
422 Unprocessable Entity |
Code Block | ||
---|---|---|
| ||
{ "Data": null, "StatusCode": 422, "Errors": [], "Meta": null, "Message": "Unprocessable Entity" } |
Warning |
---|
401 Unauthorized |
Code Block | ||
---|---|---|
| ||
{
"Data": null,
"StatusCode": 401,
"Errors": [],
"Meta": null,
"Message": "Unauthorized"
} |
Rate limit
Rate Limit Algorithm: Fixed Window
In fixed window rate limiting, a fixed time window (e.g., one minute, one hour) is used to track the number of requests or actions allowed within that window. Requests exceeding the limit are either rejected or throttled until the window resets.
Rate Limiting Overview
Our API employs rate limiting to ensure fair usage and protect the performance and availability of the service. Combination of Global Policy and Operation Policy
Global Policy
Rate Limit: 3000 requests per 5 minute(s)
Renewal Period: 300 second(s)
Key: IP Address
Increment Condition: Any Request
Operation Policy
Rate Limit: 50 requests per 1 minute(s)
Renewal Period: 60 second(s)
Key:
accound-id
business account Id.Increment Condition: Success Request
Rate Limit Details
Rate Limit by Key:
Key: This ensures that rate limits are applied uniquely for each business account id.
Request Limit: Each key is allowed to make up to 50 requests per minute.
Reset Interval: The limit resets every 60 seconds.
Response Headers:
Retry-After: Sent when the rate limit is exceeded, indicating how long to wait before making another request.
Exceeding the Rate Limit
When the rate limit is exceeded, the API will return a 429 Too Many Requests
status code. The response will include a Retry-After
header specifying the number of seconds to wait before making a new request.
Example Response When Rate Limit is Exceeded
Code Block | ||
---|---|---|
| ||
HTTP/1.1 429 Too Many Requests Retry-After: 60 Content-Type: application/json { "Data": null, "Errors": null, "StatusCode": 429, "Message": "Rate limit exceeded", "Meta": null } |