API de importação do vendedor
Faça a gestão de ofertas e stock a partir do seu próprio sistema. Todos os pedidos utilizam HTTPS e JSON, montantes em EUR.
https://buycheapkeys.com/partner-api/v1/seller
Autenticação
Crie uma chave em Painel do vendedor → API e envie-a no cabeçalho Authorization. Mantenha-a em segurança: fornece acesso total às suas ofertas e stock.
Authorization: Bearer bcks_xxxxxxxxxxxx_…Pontos de terminação
| Método | Caminho | Descrição |
|---|---|---|
| GET | /me | A sua loja e condições atuais de comissão. |
| GET | /products?search=&page=&limit= | Pesquisar no catálogo. Devolve productId, preço da loja e melhor preço de vendedor. |
| GET | /offers?status=&page=&limit= | As suas ofertas com stock, preço ao cliente e informação se é o mais barato. |
| POST | /offers | Criar ou atualizar a sua oferta para um produto: { productId, price, status? }. |
| GET | /offers/{id} | Uma oferta específica. |
| PATCH | /offers/{id} | Alterar preço e/ou estado (active | paused). |
| DELETE | /offers/{id} | Eliminar oferta sem stock (ofertas com vendas são colocadas em pausa). |
| POST | /offers/{id}/keys | Carregar chaves: { keys: ["…"] } (máx. 1.000 por pedido). |
| POST | /offers/{id}/withdraw | Recuperar chaves não vendidas: { count? }. Devolve-as em texto simples. |
| GET | /sales?page=&limit= | As suas vendas, ganhos e datas de retenção. |
| GET | /balance | Saldo pendente, disponível e próximas libertações. |
| GET | /disputes?status=&page=&limit= | Disputas de clientes sobre as suas vendas (open | escalated | resolved). |
| GET | /disputes/{id} | Uma disputa com as suas mensagens. |
| POST | /disputes/{id}/messages | Responder ao cliente: { body }. |
| POST | /disputes/{id}/replace | Enviar uma substituição: { key } ou { fromStock: true }. |
| POST | /disputes/{id}/refund | Reembolsar o cliente (a venda é anulada). |
Preços
price é o valor que recebe por unidade. O cliente paga o seu preço mais a comissão do tipo de produto (chaves, contas e presentes, subscrições especiais), apresentada em /me e em cada oferta. A sua oferta é vendida quando o respetivo preço ao cliente for o mais baixo disponível.
Exemplo: listar um produto e carregar chaves
# 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"Erros e limites
Os erros devolvem { error: { code, message, requestId } } com código de estado 4xx/5xx. Limites: 20 pedidos por segundo e 600 por minuto por chave; 300 carregamentos de chaves por minuto.