-20 %

20 % de réduction sur Windows et Office

BuyCheapKeys

API d'importation vendeur

Gérez vos offres et votre stock depuis votre propre système. Toutes les requêtes utilisent HTTPS et JSON, les montants sont en EUR.

https://buycheapkeys.com/partner-api/v1/seller

Authentification

Créez une clé dans Espace vendeur → API et transmettez-la dans l'en-tête Authorization. Gardez-la secrète : elle donne un accès complet à vos offres et à votre stock.

Authorization: Bearer bcks_xxxxxxxxxxxx_…

Points de terminaison

MéthodeCheminDescription
GET/meVotre boutique et vos conditions actuelles de commission.
GET/products?search=&page=&limit=Rechercher dans le catalogue. Renvoie productId, le prix boutique et le meilleur prix vendeur ; comprend les abréviations (gta, win10) et les fautes de frappe, hasMore indique s'il y a une page suivante.
GET/offers?status=&page=&limit=Vos offres avec le stock, le prix client et l'indication si vous êtes le moins cher.
POST/offersCréer ou mettre à jour votre offre pour un produit : { productId, price, status? }.
GET/offers/{id}Une offre spécifique.
PATCH/offers/{id}Modifier le prix et/ou le statut (active | paused).
DELETE/offers/{id}Supprimer une offre sans stock (les offres ayant déjà des ventes sont passées en pause).
POST/offers/{id}/keysImporter des clés : { keys: ["…"] } (max. 1 000 par requête).
POST/offers/{id}/withdrawRécupérer les clés invendues : { count? }. Les renvoie en texte brut.
GET/sales?page=&limit=Vos ventes, vos gains et les dates de fin de retenue.
GET/balanceSolde en attente, solde disponible et prochains déblocages.
GET/manual-ordersOffres à livraison manuelle : commandes à livrer (avec leur délai) et les dernières clôturées.
POST/sales/{id}/deliverLivre une commande manuelle : {"items":["…"]}, exactement un élément par unité, avant son délai.
GET/disputes?status=&page=&limit=Litiges clients sur vos ventes (open | escalated | resolved).
GET/disputes/{id}Un litige avec ses messages.
POST/disputes/{id}/messagesRépondre au client : { body }.
POST/disputes/{id}/replaceEnvoyer un remplacement : { key } ou { fromStock: true }.
POST/disputes/{id}/refundRembourser le client (la vente est annulée).

Tarifs

price correspond à ce que vous recevez par unité. Le client paie votre prix augmenté de la commission du type de produit (clés, comptes et cadeaux, abonnements spéciaux), indiquée dans /me et dans chaque offre. Votre offre est vendue dès que son prix client est le plus bas disponible.

Exemple : publier un produit et importer des clés

# 1. Find the product
curl "https://buycheapkeys.com/partner-api/v1/seller/products?search=elden%20ring" \
  -H "Authorization: Bearer $BCK_SELLER_KEY"

# 2. Create (or update) your offer — price = what you receive per unit, EUR
curl -X POST "https://buycheapkeys.com/partner-api/v1/seller/offers" \
  -H "Authorization: Bearer $BCK_SELLER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"productId":"<productId>","price":24.90}'
# → { "created": true, "offer": { "id": "off_…", "customerPrice": 27.15, "stock": 0, … } }

# 3. Upload keys (max 1,000 per request; duplicates are skipped)
curl -X POST "https://buycheapkeys.com/partner-api/v1/seller/offers/off_…/keys" \
  -H "Authorization: Bearer $BCK_SELLER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keys":["XXXXX-XXXXX-XXXXX","YYYYY-YYYYY-YYYYY"]}'
# → { "added": 2, "duplicates": 0, "stock": 2 }

# 4. Follow your sales and balance
curl "https://buycheapkeys.com/partner-api/v1/seller/sales" -H "Authorization: Bearer $BCK_SELLER_KEY"
curl "https://buycheapkeys.com/partner-api/v1/seller/balance" -H "Authorization: Bearer $BCK_SELLER_KEY"

Erreurs et limites

Les erreurs renvoient { error: { code, message, requestId } } avec un statut 4xx/5xx. Limites : 20 requêtes par seconde et 600 par minute par clé ; 300 imports de clés par minute.