Versions Compared

Key

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

Get all invoice items.

Resource information

Response format(s)

JSON

Requires authentication?

Yes using token

Request Header

Name

Value

Content-Type

application/json

Authorization

{{token}}

Parameters

Statuses

  • array[string]

  • query

Filter the items by statuses

  • Unpaid

  • Paid

  • Expired

  • Cancelled

  • Sending

  • Refunded

  • PaidFail

Types

  • array[string]

  • query

Filter the items by types

  • Trading

  • Retirement

  • DeListing

TransactionType

  • string

  • query

Filter the items by transaction type

  • AccountsPayable

  • AccountsReceivable

Search

  • string

  • query

Enter search data that can be used to search on each items. You can search by:

  • Invoice Number

CurrentPage

  • numeric

  • query

Request field for pagination. The Page that you wish to view

ItemsPerPage

  • numeric

  • query

The total items that return in the response

OrderBy

  • string

  • query

Sorting field, Default sorting is get all items sort by CreatedDate Desc

Values:

  • CreatedDate

  • To Be Updated

IsDecending

  • boolean

  • query

Used in OrderBy

default: false

Returns

Returns all invoice items

Response Header

Content-Type

application/json

Response Body

Field

Type

Description

InvoiceNumber

string

Invoice Number

Quantity

decimal(18,6)

Total

decimal(18,6)

IssuedDate

DateTime

Date time utc format

DueDate

DateTime

Date time utc format

PaidDate

DateTime

Date time utc format

Type

string

Type Of Invoice

TypeDescription

string

SubTotal

decimal(18,6)

Sub Total

TotalFee

decimal(18,6)

Total Fee

TotalReceivable

decimal(18,6)

Total Receivable

CurrenyCode

string

Currency code of Sell Order

CurrencySymbolic

string

TaxPercent

decimal(18,6)

TaxAmount

decimal(18,6)

FeeCodeNumber

string

Status

string

StatusDescription

string

CreatedTime

DateTime

Date time utc format

UpdatedTime

DateTime

Date time utc format

CurrentPage

int

TotalPage

int

TotalRow

int

PageSize

int

Request

Status
colourGreen
titleGET
/public/v2/invoices

Request

Code Block
?Statuses=Paid&Statuses=Sending&Types=Trading&TransactionType=AccountsPayable
Response

Allow user to get their invoice with Query params

Table of Contents

Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printabletrue

Changelogs

Version

Date

Changes by

Description of change

V1.0

Tam Tran

  • Added Table of Contents.

  • Added Changelogs.

Order Resource

InvoiceNumber string

Invoice unique number

Quantity decimal

Quantity

Status object

  • Value: Value of Enum

  • Description: Description of Enum

Client Invoice Status (Unpaid, WaitingForConfirm, Paid, Expired, Cancelled, Refunded, PartialPayment, PartialPaid, PaymentFollowUp, OfflineManual)

Total decimal

Total

IssuedDate DateTime

Isssued Date

DueDate DateTime

Due Date

PaidDate DateTime

Paid Date

CreatedTime DateTime

Invoices created time

UpdatedTime DateTime

Invoices updated time

WhiteLabelName text

White label name (REDEX | Sinamas | Xinyao)

CurrencyCode text

Current Code (USD, ..)

FeeCodeNumber text

Fee Code Number

PayerTaxPercentage decimal

Payer tax percentage

PayerTaxAmount decimal

Payer tax amount

PayeeTaxPercentage decimal

Payee tax percentage

PayeeTaxAmount decimal

Payee tax amount

Code Block
languagejson
{
    "InvoiceNumber": "INV-REAR-2024-09-23-00019",
    "Quantity": 3.000000,
    "Total": 55.95,
    "IssuedDate": "2024-09-23T00:00:00.0000000Z",
    "DueDate": "2024-09-25T15:59:59.9999999Z",
    "PaidDate": null,
    "Status": {
        "Value": "Unpaid",
        "Description": "Unpaid"
    },
    "CreatedTime": "2024-09-23T08:39:11.993",
    "UpdatedTime": "2024-09-23T08:39:11.993",
    "WhiteLabelName": "REDEX",
    "CurrencyCode": "USD",
    "FeeCodeNumber": null,
    "PayerTaxPercentage": 0.0000,
    "PayerTaxAmount": 0.00,
    "PayeeTaxPercentage": 0.0000,
    "PayeeTaxAmount": 0.00
}

API Definition

Status
colourGreen
titleGET
/public/v2/invoices

Request

Headers

Content-Type

application/json

Authorization

Bearer {{access_token}}

Query Parameters

Statuses (optional) array - enum

(Unpaid, WaitingForConfirm, Paid, Expired, Cancelled, Refunded, PartialPayment, PartialPaid, PaymentFollowUp, OfflineManual)

Status (optional) enum

(Unpaid, WaitingForConfirm, Paid, Expired, Cancelled, Refunded, PartialPayment, PartialPaid, PaymentFollowUp, OfflineManual)

TransactionType (optional) enum

(AccountsPayable | AccountsReceivable)

OrderBy (optional) text (InvoiceNumber, IssuedDate, DueDate, PaidDate, Quantity, Total, PayerTaxAmount, PayerTaxPercentage, PayeeTaxAmount, PayeeTaxPercentage, FeeCodeNumber)

Order By (Default will be CreatedTime)

IsDescending (optional) boolean (true/false)

Search (optional) text (InvoiceNumber)

Search on Invoice Number

CurrentPage (optional) integer

The page number to retrieve the next set of inverters. The number has to be greater than 1, and will default to 1.

ItemsPerPage (optional) integer

The maximum number of inverter brands to return per page. This number can range from 10 to 100 and defaults to 100.

Code Block
curl --location 'https://uat-api.redex.eco/public/v2/invoices?CurrentPage=1&ItemsPerPage=1' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{access_token}}'

Response

Response Body

Data object collection - Order Resource

A collection of objects - Order Resource

Errors list of error objects

Please see "Getting Started - #Error Object" for more details

请查看Getting Started - #Error Object以获得更多信息。

Meta pagination resource

Return Pagination Resource

返回分页信息

StatusCode integer

Http Status codes standard. Example 200, 201, 400, 422.

http状态码,如200,201,400, 422

Message text

Response message: Success or error message.

返回成功或错误的信息。

Info

200 Success

Code Block
languagejson
{
    "Data": [
        {
            "InvoiceNumber": "INV-REAR-2024-09-27-00006",
            "Quantity": 20.000000,
            "Total": 40.00,
            "IssuedDate": "2024-09-27T00:00:00.0000000Z",
         "CurrentPage": 1   "DueDate": "2024-10-01T15:59:59.9999999Z",
            "PaidDate": null,
            "Status": {
                "Value": "Unpaid",
                "Description": "Unpaid"
            },
            "CreatedTime": "2024-09-27T16:30:14.693",
            "UpdatedTime": "2024-09-27T16:30:14.693",
            "WhiteLabelName": "REDEX",
            "CurrencyCode": "USD",
            "FeeCodeNumber": null,
    "TotalPage        "PayerTaxPercentage": 2,0.0000,
            "PageSizePayerTaxAmount": 50,0.00,
            "TotalRowPayeeTaxPercentage": 100,0.0000,
            "ResultsPayeeTaxAmount": [ 0.00
        },
        {
            "InvoiceNumber": "INV-REAPREAR-20232024-0709-1326-0000100002",
            "Quantity": 906.000000,
            "Total": 124039.2950,
            "IssuedDate": "20232024-0709-13T0326T00:4900:4600.16564850000000Z",
            "DueDate": "20232024-0709-22T2330T15:59:59.99999999999999Z",
            "PaidDate": null,
            "Status": {
                "Value": "Unpaid",
                "Description": "Unpaid"
            },
            "CreatedTime": "2024-09-26T08:21:00.527",
            "UpdatedTime": "2024-09-26T08:21:00.527",
           "Type": "Trading" "WhiteLabelName": "REDEX",
            "CurrencyCode": "USD",
            "FeeCodeNumber": null,
            "PayerTaxPercentage": 0.0000,
      "TypeDescription": "Trading",      "PayerTaxAmount": 0.00,
            "PayeeTaxPercentage": 0.0000,
            "SubTotalPayeeTaxAmount": 1176.30.00
        },
        {
            "InvoiceNumber": "INV-REAR-2024-09-23-00019",
            "Quantity": 3.000000,
      "TotalFee": 27.8865,      "Total": 55.95,
            "IssuedDate": "2024-09-23T00:00:00.0000000Z",
            "TotalReceivableDueDate": 1240.2835"2024-09-25T15:59:59.9999999Z",
            "PaidDate": null,
            "Status": {
                "Value": "Unpaid",
                "Description": "Unpaid"
            },
            "CreatedTime": "20232024-0709-13T0323T08:4939:4611.43993",
            "UpdatedTime": "20232024-0709-13T0323T08:5039:22.8811.993",
            "WhiteLabelName": "REDEX",
            "CurrencyCode": "USD",
            "CurrencySymbolicFeeCodeNumber": null,
     "$",       "PayerTaxPercentage": 0.0000,
            "TaxPercentPayerTaxAmount": 0.0800,
      "TaxAmount      "PayeeTaxPercentage": 910.87,0000,
            "FeeCodeNumberPayeeTaxAmount": null,
  0.00
        }
    ],
    "StatusMeta": {
 "Unpaid",       "CurrentPage": 1,
        "StatusDescriptionTotalPage": 1,
        "UnpaidTotalItems": 3,
      }  "ItemsPerPage": 100
 ]   },
    "Errors": null,
    "StatusCode": 200,
    "Message": "Success"
}

 

Warning

400 Bad Request

Code Block
languagejson
{
  "Data": null
,

  "StatusCode": 400,
  "Errors": null,
  "Meta": null,
  "Message": "Bad
request
 Request"
}

 

Warning

422 Unprocessable Entity

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

 

Warning

401 Unauthorized

Code Block
languagejson
{
  "Data": null,
  "StatusCode": 401,
  "Errors": null,
  "Meta": null,
  "Message": "Unauthorized"
}

 

Warning

403 Forbidden

Code Block
languagejson
{
  "Data": null,
  "StatusCode": 403,
  "Errors": null,
  "Meta": null,
  "Message": "Forbidden"
}

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: 10 requests per 10 seconds(s)

  • Renewal Period: 10 second(s)

  • Key: accound-id business account Id.

  • Increment Condition: Any 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 10 requests per 10 seconds.

    3. Reset Interval: The limit resets every 10 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: 10
Content-Type: application/json
{
    "Data": null,
    "Errors": null,
    "StatusCode": 429,
    "Message": "Rate limit exceeded",
    "Meta": null
}