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