REST API · v1

API przedmiotów DayZ

Cała baza przedmiotów w formacie JSON – do darmowego użytku z osobistym kluczem API. Do botów na Discorda, narzędzi serwerowych, nakładek i własnych projektów.

Dostęp i fair use

Wszystkie endpointy /api/v1 wymagają darmowego klucza API – chroni on przed nadużyciami i pozwala ustawić uczciwe limity zapytań. Subskrypcja nie jest potrzebna.

  1. Zaloguj się przez Discord – samo konto jest darmowe.
  2. Utwórz darmowy klucz API w ustawieniach.
  3. Utwórz klucz API i wysyłaj go z każdym zapytaniem.
# Empfohlen / recommended
curl -H "Authorization: Bearer dzp_YOUR_KEY" \
  "https://dzpage.com/api/v1/items?q=akm"

# Alternative
curl -H "X-Api-Key: dzp_YOUR_KEY" "https://dzpage.com/api/v1/meta"

Trzymaj klucz w tajemnicy: wywołuj API ze swojego serwera, bota albo backendu – kto ma klucz, ten zużywa twój limit. Klucz możesz w każdej chwili unieważnić w ustawieniach i utworzyć nowy; stary od razu przestaje działać.

Potrzebujesz większej przepustowości? Opcjonalna subskrypcja dla wspierających

Za 3,99 €/miesiąc pomagasz pokryć bieżące koszty serwera, a twój limit rośnie z 60 do 300 zapytań na minutę. Możesz anulować co miesiąc w portalu klienta.

Same dane gry są i pozostają swobodnie dostępne dla wszystkich – subskrypcja dla wspierających opłaca wyłącznie moc serwera (wyższy limit zapytań), nigdy dane. DayZ i jego dane gry należą do Bohemia Interactive a.s.

Zarządzaj subskrypcją i kluczami

Wymagany klucz API

Wysyłaj klucz w nagłówku "Authorization: Bearer" albo "X-Api-Key" przy każdym zapytaniu.

60 → 300 zapytań/min

Za darmo: 60 zapytań na minutę na klucz. Z opcjonalną subskrypcją dla wspierających: 300/min. Każda odpowiedź zawiera nagłówki X-RateLimit, w tym X-RateLimit-Tier.

Prawdziwe dane gry

Wyciągane prosto z configów DayZ, aktualizowane po patchach gry.

GET/api/v1/items

Wyszukiwanie i filtrowanie przedmiotów (ze stronicowaniem)

ParametrOpis
qSzukanie w nazwie i nazwie klasy (rozmyte)
catKategoria, np. Weapon, Food / Drink, Ammo
tierTier lootu: Tier1 – Tier4 albo Unique
sortname (domyślnie), damage, rpm albo weight
pageStrona, od 1
limitWyników na stronę, 1–100 (domyślnie 48)
icons1 = tylko przedmioty z ikoną
langJęzyk pola name: en, de, fr, es, it, ru, pl, cs, pt, zh (domyślnie en)
curl -H "Authorization: Bearer dzp_YOUR_KEY" \
  "https://dzpage.com/api/v1/items?q=akm&limit=5&lang=pl"
{
  "meta": { "total": 12, "page": 1, "pages": 3, "limit": 5 },
  "items": [
    {
      "class_name": "AKM",
      "slug": "akm",
      "name": "KA-M",
      "category": "Weapon",
      "has_icon": true,
      "weight": 2140,
      "size_w": 8, "size_h": 3,
      "loot_tiers": ["Tier4"],
      "damage": 9.5,
      "icon": "https://dzpage.com/icons/full/AKM.png",
      "icon_thumb": "https://dzpage.com/icons/thumb/AKM.webp",
      "url": "https://dzpage.com/pl/items/akm"
    }
  ]
}

GET/api/v1/items/{class_name}

Pojedynczy przedmiot ze wszystkimi szczegółami

Przyjmuje nazwy klas (wielkość liter bez znaczenia) albo slugi. Zwraca wszystkie pola: statystyki broni, amunicję, magazynki, akcesoria, dane lootu, budynki ze spawnem, receptury, wszystkie przetłumaczone nazwy i kompletne surowe dane z configu.

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/items/AKM?lang=pl"
// JavaScript (Node.js, Discord-Bot, …)
const res = await fetch("https://dzpage.com/api/v1/items/AKM", {
  headers: { Authorization: "Bearer " + process.env.DZPAGE_API_KEY },
});
const { item } = await res.json();
console.log(item.names.pl, item.weapon_stats.rpm_full_auto);

GET/api/v1/categories

Wszystkie kategorie z liczbą przedmiotów

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/categories"

GET/api/v1/meta

Informacje o zbiorze danych: data importu, liczba przedmiotów, build gry

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/meta"

Błędy, limity i stabilność

Błędy zawsze przychodzą jako JSON ze stabilnym kodem błędu, zrozumiałym komunikatem i linkiem do dokumentacji:

{
  "error": "invalid_api_key",
  "message": "Invalid or revoked API key. …",
  "docs": "https://dzpage.com/api"
}
Status · kodZnaczenie
401 · missing_api_keyNie wysłano klucza API. Dodaj nagłówek "Authorization: Bearer" albo "X-Api-Key".
401 · invalid_api_keyKlucz nie istnieje albo został unieważniony.
404 · not_foundBrak przedmiotu o tej nazwie klasy albo slugu.
429 · rate_limitedLimit zapytań wyczerpany – odczekaj tyle sekund, ile podaje Retry-After, i spróbuj ponownie.
5xxBłąd serwera – spokojnie spróbuj ponownie. Jeśli się powtarza, zgłoś to na naszym Discordzie.

Każda udana odpowiedź zawiera nagłówki limitu zapytań, żeby twój klient mógł sam się przyhamować:

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 118
X-RateLimit-Reset: 1789000000
Retry-After: 31   (nur bei 429 / only on 429)

Podstawowe zasady

  • Jedna subskrypcja obejmuje twoje własne projekty, boty i narzędzia serwerowe – fair use w ramach limitu zapytań.
  • Jeśli używasz tego we własnych projektach, ucieszy nas link do dzpage.com.
  • Ikony przedmiotów (adresy icon / icon_thumb) można swobodnie podlinkować – są cache'owane długoterminowo i nie wymagają klucza.
  • To API jest w wersji v1: mogą dochodzić nowe pola, ale istniejące nie zostaną usunięte ani przemianowane.