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 Changelogs.

  • API Definition

    Upload Document

    Request Header

    Name

    Value

    Authorization

    Bearer {access_token}

    Request Payload

    Field

    Type

    Description

    File

    form

    • Added Changelogs.

    V1.0.1

    April 10, 2024

    Que Nguyen

    • 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

    Status
    colourGreen
    titlePOST
    /public/v2/documents/devices

    Request

    Request Header

    Content-Type

    multipart/form-data

    Authorization

    Bearer {{access_token}}

    Request Payload

    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:

    40MBmultipart/form

    5MB

    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/grouped-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

    Info

    200 Success

    Code Block

    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 Created

    Code Block
    languagejson
    {
        "DataErrors": {[],
        "IdMeta": "3fa85f64-5717-4562-b3fc-2c963f66afa6"null,
      },   "ErrorsStatusCode": []201,
        "MetaData": null, {
            "StatusCodeId": 200,"5428c55f-db08-400b-959f-08747d140a19"
        },
        "Message": "SuccessCreate 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
    }