API de importación para vendedores
Gestiona tus ofertas y tu stock desde tu propio sistema. Todas las peticiones usan HTTPS y JSON; los importes van en EUR.
https://buycheapkeys.com/partner-api/v1/seller
Autenticación
Crea una clave en Panel de vendedor → API y envíala en la cabecera Authorization. Guárdala en secreto: da acceso completo a tus ofertas y stock.
Authorization: Bearer bcks_xxxxxxxxxxxx_…Endpoints
| Método | Ruta | Descripción |
|---|---|---|
| GET | /me | Tu tienda y tus condiciones de comisión actuales. |
| GET | /products?search=&page=&limit= | Busca en el catálogo. Devuelve productId, precio de la tienda y mejor precio de vendedor. |
| GET | /offers?status=&page=&limit= | Tus ofertas con stock, precio al cliente y si eres el más barato. |
| POST | /offers | Crea o actualiza tu oferta de un producto: { productId, price, status? }. |
| GET | /offers/{id} | Una oferta. |
| PATCH | /offers/{id} | Cambia el precio y/o el estado (active | paused). |
| DELETE | /offers/{id} | Elimina una oferta sin stock (las que tienen ventas se pausan). |
| POST | /offers/{id}/keys | Sube claves: { keys: ["…"] } (máx. 1.000 por petición). |
| POST | /offers/{id}/withdraw | Recupera claves no vendidas: { count? }. Las devuelve en texto. |
| GET | /sales?page=&limit= | Tus ventas, ganancias y fechas de retención. |
| GET | /balance | Saldo pendiente y disponible y próximas liberaciones. |
| GET | /disputes?status=&page=&limit= | Reclamaciones de clientes sobre tus ventas (open | escalated | resolved). |
| GET | /disputes/{id} | Una reclamación con sus mensajes. |
| POST | /disputes/{id}/messages | Responder al cliente: { body }. |
| POST | /disputes/{id}/replace | Enviar una sustitución: { key } o { fromStock: true }. |
| POST | /disputes/{id}/refund | Reembolsar al cliente (la venta se anula). |
Precios
price es lo que recibes por unidad. El cliente paga tu precio más la comisión del tipo de producto (claves, cuentas y regalos, suscripciones especiales), que indican /me y cada oferta. Tu oferta se vende cuando su precio al cliente es el más bajo disponible.
Ejemplo: publicar un producto y subir claves
# 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"Errores y límites
Los errores devuelven { error: { code, message, requestId } } con un estado 4xx/5xx. Límites: 20 peticiones por segundo y 600 por minuto por clave; 300 subidas de claves por minuto.