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
Allow user to get their invoice with Query params
Table of Contents
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Changelogs
Version | Date | Changes by | Description of change |
V1.0 |
|
Tam Tran |
|
|
API Definition
Get all invoice items.
Resource information
Response format(s)
JSON
Order Resource
InvoiceNumber string Invoice unique number |
Quantity decimal Quantity |
Status object
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 | ||
---|---|---|
| ||
{
"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 | ||||
---|---|---|---|---|
|
/public/v2/invoices
Request
Headers
Content-Type |
|
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 | ||||
---|---|---|---|---|
|
/public/v2/invoices
Parameter
Code Block |
---|
?Statuses=Paid&Statuses=Sending&Types=Trading&TransactionType=AccountsPayable |
Response
Authorization |
|
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 http状态码,如200,201,400, 422 |
Message text Response message: Success or error message. 返回成功或错误的信息。 |
Info |
---|
200 Success |
Code Block | ||
---|---|---|
| ||
{ "Data": [ { "InvoiceNumber": "INV-REAPREAR-20232024-0709-1327-0000100006", "Quantity": 9020.000000, "Total": 124040.2900, "IssuedDate": "20232024-0709-13T0327T00:4900:4600.16564850000000Z", "DueDate": "20232024-0710-22T2301T15:59:59.99999999999999Z", "PaidDate": null, "Type": "Trading", "TypeDescription": "Trading" "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, "PayerTaxPercentage": 0.0000, "PayerTaxAmount": 0.00, "PayeeTaxPercentage": 0.0000, "PayeeTaxAmount": 0.00 }, { "InvoiceNumber": "INV-REAR-2024-09-26-00002", "Quantity": 6.000000, "SubTotal "Total": 117639.350, "TotalFeeIssuedDate": 27.8865,"2024-09-26T00:00:00.0000000Z", "TotalReceivableDueDate": 1240.2835"2024-09-30T15:59:59.9999999Z", "PaidDate": null, "Status": { "Value": "Unpaid", "Description": "Unpaid" }, "CreatedTime": "20232024-0709-13T0326T08:4921:4600.43527", "UpdatedTime": "20232024-0709-13T0326T08:5021:22.88",00.527", "WhiteLabelName": "REDEX", "CurrencyCode": "USD", "FeeCodeNumber": null, "PayerTaxPercentage": 0.0000, "CurrencySymbolic "PayerTaxAmount": "$",0.00, "PayeeTaxPercentage": 0.0000, "TaxPercentPayeeTaxAmount": 0.08,.00 }, { "InvoiceNumber": "INV-REAR-2024-09-23-00019", "Quantity": 3.000000, "Total": 55.95, "IssuedDate": "2024-09-23T00:00:00.0000000Z", "TaxAmountDueDate": 91.87"2024-09-25T15:59:59.9999999Z", "FeeCodeNumber "PaidDate": null, "Status": { "Value": "Unpaid", "StatusDescription "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 } ], "Meta": { "CurrentPage": 1, "TotalPage": 1, "ItemsPerPageTotalItems": 103, "TotalItemsItemsPerPage": 1100 }, "Errors": null, "StatusCode": 200, "Message": "Success" } |
Warning |
---|
400 Bad Request |
Code Block | ||
---|---|---|
| ||
{ "Data": null "StatusCode": 400, "Errors": null, "Meta": null, "Message": "Bad Request" } |
Warning |
---|
422 Unprocessable Entity |
Code Block | ||
---|---|---|
| ||
{ "Data": null "StatusCode": |
402, "Errors": null, "Meta": null, "Message": " |
Unprocessable |
Entity" } |
Warning |
---|
401 Unauthorized |
Code Block | ||
---|---|---|
| ||
{
"Data": null,
" |
StatusCode": |
401, " |
Errors": null, " |
Meta": |
null, "Message": "Unauthorized" } |
Warning |
---|
403 Forbidden |
Code Block | ||
---|---|---|
| ||
{ "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
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 10 requests per 10 seconds.
Reset Interval: The limit resets every 10 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: 10 Content-Type: application/json { "Data": null, "Errors": null, "StatusCode": |
429, "Message": "Rate limit exceeded", " |
Meta": null } |