Versions Compared

Key

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

Registry:Value

string

Query REC Inventory

Table of Contents

Table of Contents
stylenone

Changelogs

Version

Date

Changes by

Description of change

V1.0

29,

Que Nguyen

Add
  • Added Table of Contents.

Add
  • Added Changelogs.

V1.0.1

Apr 11,

Que Nguyen

Add
  • Added Release Status

  • Modified the document format

  • Added Rate Limit

Release status

Environment

Status

Released Date

Version

DEV

Status
colour

Blue

Green
title

NOT

RELEASED

N/A

N/A

V1.0.1

UAT

Status
colour

Blue

Green
title

NOT

RELEASED

N/A

N/A

V1.0.1

PROD

Status
colour

Blue

Green
title

NOT

RELEASED

N/A

N/A

API Definition

Query REC Inventory

Resource information

Response format(s)

JSON

Requires authentication?

Yes using API key

Request Header

Name

Value

Content-Type

application/json

Authorization

Bearer {{token}}

Parameters

ItemsPerPage

  • numeric

  • query

The total items that return in the response

Page

  • numeric

  • query

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

Registries

  • array[string]

  • query

Filter the items by Registry

  • IREC

  • TIGR

Returns

Get REC Inventory

Response Header

Content-Type

application/json

Response Body

Field

Type

Description

Id

uuid

REC Unique Identifier

AssetId

uuid

Device Unique Identifier

AssetName

string

Name Of Device

V1.0.1

The Inventory’s REC Resource

Id uuid

REC Unique Identifier

绿证唯一标识符

DeviceId uuid

Device Unique Identifier

设备唯一标识符

DeviceName text

Name on Registry Of Registered Device

设备名称

DeviceUniqueId text

Human readable device Unique Id

设备前端 id

RegistryId text

Registry Device Unique ID - the ID managed by Registry

注册处的设备 id - 此 Id 由注册处维护管理

Registry: Value text

Value of Registry (IREC, TIGR)

注册处(IREC 或 TIGR)

Registry:Description

stringstring

text

Description of Registry (I-REC, TIGR)

注册处描述

SerialNumber

text

REC Serial Number

Serial number is combination of RecPrefix

From

decimal(18,6)

From REC Index

To

绿证序列号

Total number - decimal(18,6)

To

REC

Index

Total

decimal(18,6)

REC Quantity

Retired

Quantity

绿证总数量

Retired number - decimal(18,6)

Retired REC Quantity: number of RECs retired

已核销的绿证数量

OnSale

number - decimal(18,6)

On Sale: number of RECs on sale

挂单出售的绿证数量

OnRetirement

number - decimal(18,6)

On Retirement: number of RECs on retirement

OnDelisting

处于核销阶段的绿证数量

OnExporting number - decimal(18,6)

On

Delisting

Exporting: number of RECs on

delisting

exporting

Delisted

正在导出到 evident 的绿证数目

Exported number - decimal(18,6)

Delisted

Exported: number of RECs

delisted

Exported

已导出到 evident 的绿证数目

OnAuction

- number - decimal(18,6)

On Auction: number of RECs on auction

处于拍卖中的绿证数目

Available

number - decimal(18,6)

Available RECs: number of available RECs

Formular: Available numbers = Total - OnSale - OnRetirement - OnExporting -

On

OnAuction - Retired -

OnDelist - Delisted - OnAuction

Balance

Exported;

可用的绿证数目

可用数目= 总量-出售中-核销中-导出中-拍卖中-已核销-已导出

Balance number - decimal(18,6)

Balance of REC items:

Formular: Balance = Available

+ On Sale + On Retirement + On Exporting + On Auction

VintageFrom

Datetime

+ OnSale + OnRetirement + OnExporting + OnAuction;

绿证余额

绿证余额 = 可用的+出售中 +核销中 +导出中 +拍卖中

VintageFrom datetime

Date Time UTC

发行开始时间

VintageTo datetime

Datetime

string

Date Time UTC

发行结束时间

CountryCode

text

2-character country alpha code. ISO-3166. Supported list below:

Country Code i.

Ex: SG

FuelType

stringstring

e. SG, CN, VN, MY, TH, ID

国家代码

FuelType text

Fuel Type

燃料类型

EnergyValue

text

Energy Type

VintageYear

int

Value: Solar, Wind…

能源类型

VintageYear text

Vintage Year

绿证签发的年

TradingCount

int

Trading Count

RecItemType

Fuel Name (Marine Wave…)

Energy

Energy Value (Marine Wave…)

CommissionDate

Date Time UTC

Request

Status
colourGreen
titleGET
/public/v2/inventories/recs

Parameter

Code Block
languagejson
?Page=5&ItemsPerPage=10&RegistryName=IREC

Response

Info

200 Success

Code Block
languagejson

text

Trading’s total count number. Default = 0.

交易中数量

RecItemType enum text

REC Item’s origination type (Issued, Imported)

绿证类型(Issued 已发行,Imported 已导入)

Code Block
languagejson
{
  "DataId": ["326be15c-795e-4c33-26f0-08dbf7dca95f",
  "DeviceId":  {
  "f26be15c-795e-4c33-26f0-08dbf7dca95f",
  "DeviceName": "Sentosa Fun Pass Singapore",
  "DeviceUniqueId": "SG-SOLAR-11012021-2540515487",
  "RegistryId": "GFNIES10001",
  "SerialNumber": "IREC-GFNIES10001-SG-2021-1106-1110-1767.250000 to 1768.249999",
  "RetiredTotal": 01,
  "Balance": 1,
  "IdAvailable": 1,
  "326be15c-795e-4c33-26f0-08dbf7dca95f"OnSale": 0,
  "OnRetirement": 0,
  "AssetIdOnExporting": "f26be15c-795e-4c33-26f0-08dbf7dca95f"0,
  "OnAuction": 0,
  "AssetNameRetired": "Sentosa0,
Fun Pass Singapore"Exported": 0,
  "VintageFrom": "2021-11-06T00:00:00",
  "SerialNumberVintageTo": "IREC-GFNIES10001-SG-2021-1106-1110-1767.250000 to 1768.24999911-10T00:00:00",
  "CountryCode": "SG",
  "FromFuelType": 1767.25"Solar",
  "EnergyValue": "Solar",
  "ToVintageYear": 1768.2499992021,
  "TradingCount": 1,
  "TotalRecItemType": 1"Issued",
  "Registry": {
    "OnSaleValue": 0"IREC",
     "Description": "Available": 1,
      "OnRetirement": 0,I-REC"
  }
}

API Definition

Status
colourGreen
titleGET
/public/v2/inventories/recs

Request

Headers

Content-Type

application/json

Authorization

Bearer {{access_token}}

Parameters

Parameters

ItemsPerPage - integer

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

每页最多返回数在 10 - 100 之间,默认为 100。

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.

检索下一组逆变器的页码。该数字必须大于 1,并且默认为 1。

Registries (optional) - array[string]

Filter the items by Registry Value

  • IREC

  • TIGR

DeviceIds (optional) - array[uuid]

Array uuid of Device unique identifier

Example request

Code Block
curl -X GET https://uat-api.redex.eco/public/v2/inventories/recs?Registries=IREC&CurrentPage=1&ItemsPerPage=10&DeviceIds=8948180e-b531-4442-b1b1-d303f20ec8bd \
     -H 'Authorization: Bearer <access_token>'

Response

Response Body

Data array[object] - objects of Inventory REC Resource

A collection of Inventory REC 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, 404.

http状态码,如 200,201,404

Message text

Response message: Success or error message.

返回成功或错误的信息。

Info

200 Success

Code Block
languagejson
{
  "Data": [
    {
      "OnDelistingId": 0"326be15c-795e-4c33-26f0-08dbf7dca95f",
      "DelistedDeviceId": 0"f26be15c-795e-4c33-26f0-08dbf7dca95f",
      "OnAuctionDeviceName": 0 "Sentosa Fun Pass Singapore",
      "CountryCodeDeviceUniqueId": "SG-SOLAR-11012021-2540515487",
      "FuelTypeRegistryId": "SolarGFNIES10001",
      "EnergyValueSerialNumber": "SolarIREC-GFNIES10001-SG-2021-1106-1110-1767.250000 to 1768.249999",
      "VintageYearTotal": 20211,
      "Balance": 1,
      "TradingCountAvailable": 1,
      "RecItemTypeOnSale": "Issued"0,
      "DeviceUniqueIdOnRetirement": "SG-SOLAR-11012021-2540515487"0,
      "IsOwnerAssetOnExporting": false0,
      "ProvinceCodeOnAuction": null0,
      "ProvinceNameRetired": null0,
      "TickerIdExported": "N/A"0,
      "VintageFrom": "2021-11-06T00:00:00",
      "VintageTo": "2021-11-10T00:00:00",
      "CountryCode": "SG",
      "FuelType": "Solar",
      "EnergyValue": "Solar",
      "VintageYear": 2021,
      "TradingCount": 1,
      "RecItemType": "Issued",
      "Registry": {
        "Value": "IREC",
        "Description": "I-REC"
      }
    }
  ],
  "Meta": {
    "CurrentPage": 5,
    "TotalPage": 7,
    "ItemsPerPage": 1,
    "TotalItems": 64,
  },
  "Errors": null,
  "StatusCode": 200,
  "Message": "Success"
}
Warning

404 Not Found

Code Block
{
  "Data": null,
  "Errors": null,
  "Meta": null,
  "StatusCode": 404,
  "Message": "Not found"
}

Warning

401 Unauthorized

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

Warning

403 Forbidden

Code Block
languagejson
{
  "Data": null,
  "Errors": null,
  "Meta": null,
  "StatusCode": 403,
  "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: 60 requests per 1 minute(s)

  • Renewal Period: 60 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 60 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
}