Skip to main content
GET
/
v3
/
gift-cards
/
checkProduct
/
{productId}
Check Product Details
curl --request GET \
  --url https://api.oneclickdz.com/v3/gift-cards/checkProduct/{productId} \
  --header 'X-Access-Token: <api-key>'
{
  "data": {
    "types": [
      {
        "id": "<string>",
        "name": "<string>",
        "price": 123,
        "quantity": 123
      }
    ]
  }
}

Overview

Returns product types/denominations with real-time pricing and stock availability.
Prices are personalized to your account. Remove cost before showing to users.

Path Parameters

productId
string
required
Product ID from /catalog endpoint

Response

data
object

Examples

curl https://api.oneclickdz.com/v3/gift-cards/checkProduct/507f1f77bcf86cd799439011 \
  -H "X-Access-Token: YOUR_API_KEY"

Response Example

{
  "success": true,
  "data": {
    "productId": "507f1f77bcf86cd799439011",
    "productTitle": "PlayStation Network",
    "types": [
      {
        "id": "type_001",
        "name": "PSN 500 DA",
        "price": 490,
        "quantity": 150
      },
      {
        "id": "type_002",
        "name": "PSN 1000 DA",
        "price": 980,
        "quantity": 87
      },
      {
        "id": "type_003",
        "name": "PSN 2000 DA",
        "price": 1960,
        "quantity": 0
      }
    ]
  },
  "meta": {
    "timestamp": "2025-10-29T01:00:00.000Z"
  },
  "requestId": "req_1730163600_xyz789"
}

Apply Your Markup

function applyMarkup(types, markupPercent = 5) {
  return types
    .filter((t) => t.quantity > 0)
    .map((t) => ({
      id: t.id,
      name: t.name,
      price: Math.ceil(t.price * (1 + markupPercent / 100)),
      available: true,
    }));
}

// Usage
const customerPrices = applyMarkup(data.types, 5); // 5% markup

Best Practices

Check Stock

Verify quantity > 0 before displaying

Apply Markup

Add your profit margin to price

Hide Price

Never show wholesale price to customers

Update Regularly

Refresh stock periodically

Get Catalog

Browse all products

Place Order

Purchase product