Description
Receive a list of all Brands and denominations. Each item includes a product_type of either EGV (e-gift voucher, priced by denomination_value) or PHYSICAL (priced by price, with stock_qty indicating available inventory). Each item also includes a sku_code — this is the exact value to pass as SKU in a line_items entry when creating an order.
The catalogue can grow large, so results are paginated using a cursor rather than returned all at once. Fetch the first page with no cursor, then keep following next_cursor until has_more is false. For steady-state use, do a one-time full paginated sync and rely on the Catalogue Update Webhook for changes afterward, rather than re-fetching the whole catalogue repeatedly.
Headers
token generated from v1/company/auth.
Parameters
Filter the catalogue by type: egv returns only e-gift vouchers (product_type: EGV); physical returns only physical products (product_type: PHYSICAL). Omit to return all items.
Maximum number of items to return per page. Default 50, max 200.
Opaque pagination cursor taken from a previous response's next_cursor. Omit to fetch the first page.
Example Request (first page)
GET v1/bigcity/rewards?limit=2
Example Response (first page)
{
"items": [
{
"id": 1,
"product_type": "EGV",
"sku_code": "SKU1",
"denomination_value": "100",
"status": 1,
"qty_trigger_limit": "0",
"qty": "0",
"skus": "Bigcity Rewards 100"
},
{
"id": 2,
"product_type": "EGV",
"sku_code": "SKU2",
"denomination_value": "200",
"status": 1,
"qty_trigger_limit": "0",
"qty": "0",
"skus": "Bigcity Rewards 200"
}
],
"next_cursor": "eyJpZCI6Mn0=",
"has_more": true
}
Example Request (next page, filtered by type)
GET v1/bigcity/rewards?type=physical&limit=2&cursor=eyJpZCI6Mn0=
Example Response (last page)
{
"items": [
{
"id": 4,
"product_type": "PHYSICAL",
"sku_code": "BC-MUG-BLUE-01",
"price": "999",
"status": 1,
"stock_qty": "25",
"skus": "BC-MUG-BLUE-01"
}
],
"next_cursor": null,
"has_more": false
}
Example of Failure Response (invalid type)
{
"name": "Bad Request",
"message": "Invalid type filter value",
"code": 50,
"status": 400,
"type": "yii\\web\\HttpException"
}
Example of Failure Response (invalid cursor)
{
"name": "Bad Request",
"message": "Invalid or expired cursor",
"code": 51,
"status": 400,
"type": "yii\\web\\HttpException"
}