Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Current »

Allow user to get their invoice by invoice number

Table of Contents

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)

IssuedDate DateTime

Isssued Date

DueDate DateTime

Due Date

PaidDate DateTime

Paid Date

CreatedTime DateTime

Invoices created time

UpdatedTime DateTime

Invoices updated time

CurrencyCode text

Current Code (USD, ..)

FeeCodeNumber text

Fee Code Number

PayerTaxPercentage decimal

Payer tax percentage

PayeeTaxPercentage decimal

Payee tax percentage

Payer:CompanyName text

Payer’s company name

Payer:RegistrationNumber text

Payer’s registration number

Payer:Address text

Payer’s address

Payer:Country text

Payer’s country

Payee:CompanyName text

Payer’s company name

Payee:RegistrationNumber text

Payer’s registration number

Payee:Address text

Payer’s address

Payee:Country text

Payer’s country

MainInvoice:Total decimal

Total price in invoice

MainInvoice:SubTotal decimal

Sub Total price in invoice

MainInvoice:PayeeTaxAmount decimal

Payee Tax Amount in primary invoice

MainInvoice:PayerTaxAmount decimal

Payer Tax Amount in primary invoice

MainInvoice:Items[n]:Quantity decimal

Quantity of rec

MainInvoice:Items[n]:UnitPrice decimal

Price

MainInvoice:Items[n]:TotalPrice decimal

Quantity x UnitPrice

MainInvoice:Items[n]:Description text

Description

MainInvoice:Items[n]:TransactionDate datetime

Transaction Date

MainInvoice:Items[n]:TransactionId text

Transaction Id

MainInvoice:PayerSubtotal text

Payer sub total in primary invoice

MainInvoice:PayeeSubtotal text

Payee sub total in primary invoice

MainInvoice:PayerSubtotalWithTax text

Payer sub total include tax in primary invoice

MainInvoice:PayeeSubtotalWithTax text

Payer sub total include tax in primary invoice

SplitInvoices array

Secondary invoice (have same attribute with MainInvoice)

{
        "InvoiceNumber": "INV-REAR-2024-09-27-00006",
        "Quantity": 20.000000,
        "IssuedDate": "2024-09-27T00:00:00.0000000Z",
        "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",
        "CurrencyCode": "USD",
        "FeeCodeNumber": null,
        "PayerTaxPercentage": 0.0000,
        "PayeeTaxPercentage": 0.0000,
        "Payer": {
            "CompanyName": "1234",
            "RegistrationNumber": "1234",
            "Address": "zxcvb",
            "Country": "Åland Islands"
        },
        "Payee": {
            "CompanyName": "REDEX Pte. Ltd.",
            "RegistrationNumber": "201834016K",
            "Address": "Blk 71 Ayer Rajah Crescent",
            "Country": "Singapore"
        },
        "MainInvoice": {
            "Total": 40.00,
            "SubTotal": 40.00,
            "PayeeTaxAmount": 0.00,
            "PayerTaxAmount": 0.00,
            "Items": [
                {
                    "Quantity": 20.000000,
                    "UnitPrice": 1.50,
                    "TotalPrice": 30.00,
                    "Description": "Singapore v2024 Solar I-REC (Bid 20 Qty @ USD 1.5000)",
                    "TransactionDate": "2024-09-27T08:15:35.4800000Z",
                    "TransactionId": "EX2024092708153565670626"
                },
                {
                    "Quantity": 1.000000,
                    "UnitPrice": 10.00,
                    "TotalPrice": 10.00,
                    "Description": "Buyer Processing Fee (Min USD 10.00)",
                    "TransactionDate": "2024-09-27T16:30:14.7000000Z",
                    "TransactionId": null
                }
            ],
            "PayerSubtotal": 0,
            "PayeeSubtotal": 40.00,
            "PayerSubtotalWithTax": 0.00,
            "PayeeSubtotalWithTax": 40.00
        },
        "SplitInvoices": null
    }

API Definition

GET /public/v2/invoices/{invoiceNumber}

Request

Headers

Content-Type

application/json

Authorization

Bearer {{access_token}}

Query Parameters

InvoiceNumber - text

The Invoice Number of Invoice

curl --location 'https://uat-api.redex.eco/public/v2/invoices/INV-REAR-2024-09-27-00006' \
--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.

返回成功或错误的信息。

200 Success

{
    "Data": {
        "InvoiceNumber": "INV-REAR-2024-09-27-00006",
        "Quantity": 20.000000,
        "IssuedDate": "2024-09-27T00:00:00.0000000Z",
        "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",
        "CurrencyCode": "USD",
        "FeeCodeNumber": null,
        "PayerTaxPercentage": 0.0000,
        "PayeeTaxPercentage": 0.0000,
        "Payer": {
            "CompanyName": "1234",
            "RegistrationNumber": "1234",
            "Address": "zxcvb",
            "Country": "Åland Islands"
        },
        "Payee": {
            "CompanyName": "REDEX Pte. Ltd.",
            "RegistrationNumber": "201834016K",
            "Address": "Blk 71 Ayer Rajah Crescent",
            "Country": "Singapore"
        },
        "MainInvoice": {
            "Total": 40.00,
            "SubTotal": 40.00,
            "PayeeTaxAmount": 0.00,
            "PayerTaxAmount": 0.00,
            "Items": [
                {
                    "Quantity": 20.000000,
                    "UnitPrice": 1.50,
                    "TotalPrice": 30.00,
                    "Description": "Singapore v2024 Solar I-REC (Bid 20 Qty @ USD 1.5000)",
                    "TransactionDate": "2024-09-27T08:15:35.4800000Z",
                    "TransactionId": "EX2024092708153565670626"
                },
                {
                    "Quantity": 1.000000,
                    "UnitPrice": 10.00,
                    "TotalPrice": 10.00,
                    "Description": "Buyer Processing Fee (Min USD 10.00)",
                    "TransactionDate": "2024-09-27T16:30:14.7000000Z",
                    "TransactionId": null
                }
            ],
            "PayerSubtotal": 0,
            "PayeeSubtotal": 40.00,
            "PayerSubtotalWithTax": 0.00,
            "PayeeSubtotalWithTax": 40.00
        },
        "SplitInvoices": null
    },
    "Meta": null,
    "Errors": null,
    "StatusCode": 200,
    "Message": "Success"
}

 

400 Bad Request

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

 

422 Unprocessable Entity

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

 

401 Unauthorized

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

 

403 Forbidden

{
  "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

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
}
  • No labels