Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Table of Contents
stylenone

Changelogs

Version

Date

Changes by

Description of change

V1.0

Mar 29, 2024

Que Nguyen

Add
  • Added Table of Contents.

Add
  • Added Changelogs.

V1.0.1

April 10, 2024

Que Nguyen

Add
  • Added Release Status table.

V1.0.2

May 30, 2024

Que Nguyen

  • Changed Maximum uploaded document to 5MB

  • Added Rate Limit description

Release status

Environment

Status

Released Date

Version

DEV

Status
colourGreen
titleReleased

Mar 25, 2024

V1.0

UAT

Status
colourGreen
titleRELEASED

Mar 25, 2024

V1.0

PROD

Status
colourGreen
titleRELEASED

Mar 25, 2024

V1.0

API Definition

Upload Document

Status
colourGreen
titlePOST
/public/v2/documents/devices

Request

Request Header

Name

Value

Content-Type

multipart/form-data

Authorization

Bearer {{access_token}}

Request Payload

Field

Type

Description

File

form

File (required) form

Form File content

Allowed Mime types:

  • image/*

  • application/pdf

  • application/msword

  • application/vnd.openxmlformats-officedocument.wordprocessingml.document

  • application/vnd.ms-excel

  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

  • text/plain

Max size:

40MB

5MB

multipart/form

Response Header

Content-Type

application/json

Response Body

Field

Type

Description

Id

uuid

File unique identifier

Return file Id

Request

Status
colourGreen
titlePOST
/public/v2/documents/devices

Request with cURL

Code Block
languagec
curl --location '{url}/public/v2/documents/devices' \
--header 'Authorization: Bearer {access_token}' \
--form 'File=@"/C:/Users/Document.docx"'

Response

Response Header

Content-Type

application/json

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 200, 201, 404.

http状态码,如200,201,404

Message text

Response message: Success or error message.

返回成功或错误的信息。

Info

201 SuccessCreated

Code Block
languagejson
{
    "Errors": [],
    "Meta": null,
    "StatusCode": 201,
    "Data": {
        "Id": "5428c55f-db08-400b-959f-08747d140a19"
    },
    "Message": "Create new document successfully"
}

Warning

404 Not Found

Code Block
languagejson
{
  "Data": null,
  "Errors": [],
  "Meta": null,
  "StatusCode": 404,
  "Message": "Not Found"
}

Warning

422 Unprocessable Entity

Code Block
languagejson
{
  "Data": null,
  "StatusCode": 422,
  "Errors": [],
  "Meta": null,
  "Message": "Unprocessable Entity"
}

Warning

401 Unauthorized

Code Block
languagejson
{
  "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

  1. Rate Limit by Key:

    1. Key: This ensures that rate limits are applied uniquely for each business account id.

    2. Request Limit: Each key is allowed to make up to 50 requests per minute.

    3. Reset Interval: The limit resets every 60 seconds.

  2. Response Headers:

    1. 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
languagejson
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
}