API importu dla sprzedawców
Zarządzaj ofertami i stanem magazynowym z poziomu własnego systemu. Wszystkie żądania wykorzystują HTTPS oraz JSON, kwoty podawane są w EUR.
https://buycheapkeys.com/partner-api/v1/seller
Uwierzytelnianie
Utwórz klucz w Panel sprzedawcy → API i przesyłaj go w nagłówku Authorization. Zachowaj go w tajemnicy: daje pełny dostęp do Twoich ofert i kluczy.
Authorization: Bearer bcks_xxxxxxxxxxxx_…Punkty końcowe
| Metoda | Ścieżka | Opis |
|---|---|---|
| GET | /me | Twój sklep i aktualne warunki prowizji. |
| GET | /products?search=&page=&limit= | Przeszukiwanie katalogu. Zwraca productId, cenę w sklepie i najlepszą cenę sprzedawcy. |
| GET | /offers?status=&page=&limit= | Twoje oferty ze stanem magazynowym, ceną dla klienta i informacją, czy jesteś najtańszy. |
| POST | /offers | Tworzenie lub aktualizacja oferty dla produktu: { productId, price, status? }. |
| GET | /offers/{id} | Pojedyncza oferta. |
| PATCH | /offers/{id} | Zmiana ceny i/lub statusu (active | paused). |
| DELETE | /offers/{id} | Usunięcie oferty bez stanu magazynowego (oferty ze sprzedażą są zamiast tego wstrzymywane). |
| POST | /offers/{id}/keys | Wgrywanie kluczy: { keys: ["…"] } (maks. 1 000 w żądaniu). |
| POST | /offers/{id}/withdraw | Wycofanie niesprzedanych kluczy: { count? }. Zwraca je w postaci zwykłego tekstu. |
| GET | /sales?page=&limit= | Twoja sprzedaż, zarobki i daty zwolnienia środków. |
| GET | /balance | Saldo oczekujące i dostępne oraz nadchodzące zwolnienia środków. |
| GET | /disputes?status=&page=&limit= | Spory klientów dotyczące Twojej sprzedaży (open | escalated | resolved). |
| GET | /disputes/{id} | Jeden spór wraz z wiadomościami. |
| POST | /disputes/{id}/messages | Odpowiedź dla klienta: { body }. |
| POST | /disputes/{id}/replace | Wysłanie zamiennika: { key } lub { fromStock: true }. |
| POST | /disputes/{id}/refund | Zwrot środków klientowi (sprzedaż zostaje anulowana). |
Ceny
price to kwota, którą otrzymujesz za sztukę. Klient płaci Twoją cenę powiększoną o prowizję dla danego typu produktu (klucze, konta i prezenty, specjalne subskrypcje), podaną w /me i w każdej ofercie. Twoja oferta sprzedaje się wtedy, gdy jej cena dla klienta jest najniższa dostępna.
Przykład: wystawienie produktu i wgranie kluczy
# 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"Błędy i limity
Błędy zwracają { error: { code, message, requestId } } ze statusem 4xx/5xx. Limity: 20 żądań na sekundę i 600 na minutę na klucz; 300 wgrań kluczy na minutę.