Passer au contenu principal
GET
/
v3
/
gift-cards
/
catalog
Obtenir le Catalogue de Produits
curl --request GET \
  --url https://api.oneclickdz.com/v3/gift-cards/catalog \
  --header 'X-Access-Token: <api-key>'
{
  "success": true,
  "totalCategories": 123,
  "totalProducts": 123,
  "data": {
    "categories": [
      {
        "title": "<string>",
        "products": [
          {
            "id": "<string>",
            "title": "<string>",
            "enabled": true,
            "region": "<string>"
          }
        ]
      }
    ]
  },
  "meta": {
    "timestamp": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

Vue d’ensemble

Retourne le catalogue complet des cartes cadeaux et produits numériques organisés par catégories (Jeux, Streaming, etc.).
Mettez en cache ces données pendant au moins 24 heures. Le catalogue change peu fréquemment.

Réponse

success
boolean
requis
Statut de la requête
totalCategories
integer
Nombre total de catégories dans le catalogue
totalProducts
integer
Nombre total de produits dans toutes les catégories
data
object
requis
meta
object

Exemples

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

Exemple de réponse

{
  "success": true,
  "totalCategories": 14,
  "totalProducts": 62,
  "data": {
    "categories": [
      {
        "title": "PSN",
        "products": [
          {
            "id": "6126393c6f57860f925a1983",
            "title": "PSN Germany",
            "enabled": true,
            "region": "germany"
          },
          {
            "id": "612619816f57860f9259eee3",
            "title": "PSN UK",
            "enabled": true,
            "region": "united-kingdom"
          },
          {
            "id": "60111eba751a26110ab5b209",
            "title": "PSN US",
            "enabled": true,
            "region": "united-states-america"
          }
        ]
      },
      {
        "title": "Game Stores",
        "products": [
          {
            "id": "6037a862b8d036107c61d312",
            "title": "Steam USD",
            "enabled": true,
            "region": "united-states-america"
          },
          {
            "id": "6038ffd52a60b8107c134e39",
            "title": "Steam EUR",
            "enabled": true,
            "region": "european-union"
          },
          {
            "id": "60b6f304ad371a16a4347e11",
            "title": "Roblox",
            "enabled": true
          }
        ]
      }
    ]
  },
  "meta": {
    "timestamp": "2025-10-29T00:36:52.615Z"
  }
}

Construction de l’interface produit

// Example: Building a category-based UI
function renderCatalog(catalog) {
  return catalog.categories.map((category) => ({
    categoryName: category.name,
    products: category.products
      .filter((p) => p.enabled)
      .map((p) => ({
        id: p.id,
        name: p.title,
        imageUrl: `/images/products/${p.id}.png`,
      })),
  }));
}

Stratégie de mise en cache

// Cache for 24 hours
const cache = {
  data: null,
  timestamp: 0,
  ttl: 24 * 60 * 60 * 1000,
};

async function getCatalog() {
  const now = Date.now();

  if (cache.data && now - cache.timestamp < cache.ttl) {
    return cache.data;
  }

  const response = await fetch(
    "https://api.oneclickdz.com/v3/gift-cards/catalog",
    { headers: { "X-Access-Token": process.env.API_KEY } }
  );

  cache.data = await response.json();
  cache.timestamp = now;

  return cache.data;
}

Bonnes pratiques

Mettre en cache le catalogue

Mettre en cache pendant 10+ minutes pour réduire les appels API

Filtrer les activés

Afficher uniquement les produits avec enabled: true

Vérifier la région

Filtrer par région si vous ciblez des marchés spécifiques

Organiser par catégorie

Utiliser les catégories pour une meilleure UX

Étapes suivantes

Après avoir obtenu le catalogue :
1

Afficher les produits

Montrer les produits aux utilisateurs organisés par catégorie
2

Vérifier les détails du produit

Utiliser /checkProduct/:id pour obtenir les prix et le stock
3

Passer la commande

Utiliser /placeOrder pour acheter le produit sélectionné

Connexes

Vérifier le produit

Obtenir les prix et le stock

Passer une commande

Acheter un produit