REST API · v1

DayZ 物品 API

完整的物品数据库以 JSON 提供 – 用个人 API 密钥即可免费使用。适合 Discord 机器人、服务器工具、游戏内叠加界面和你自己的项目。

访问与合理使用

所有 /api/v1 接口都需要一个免费的 API 密钥 – 它既能防止滥用,也能实现公平的频率限制。无需订阅。

  1. 用 Discord 登录 – 账号本身是免费的。
  2. 在设置里创建一个免费的 API 密钥。
  3. 创建 API 密钥,并在每个请求中带上它。
# 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"

请妥善保管密钥:只从你的服务器、机器人或后端调用 API – 任何拿到密钥的人都会消耗你的配额。你可以随时在设置里吊销密钥并新建一个,旧密钥会立即失效。

需要更高吞吐?可选的支持者订阅

花 3.99 欧元/月 你就能分担服务器的运行成本,频率限制也会从每分钟 60 次请求提升到 300 次。可在客户门户按月取消。

游戏数据本身对所有人免费开放,今后也会一直如此 – 支持者订阅买的只是服务器容量(更高的频率限制),从来不是数据本身。DayZ 及其游戏数据归 Bohemia Interactive a.s. 所有。

管理订阅与密钥

需要 API 密钥

每个请求都要通过 "Authorization: Bearer" 或 "X-Api-Key" 请求头发送密钥。

60 → 300 次请求/分钟

免费:每个密钥每分钟 60 次请求。使用可选的支持者订阅:每分钟 300 次。每个响应都会带上 X-RateLimit 系列响应头,包括 X-RateLimit-Tier。

真实游戏数据

直接从 DayZ 的配置文件中提取,游戏更新后同步更新。

GET/api/v1/items

搜索并筛选物品(分页)

参数说明
q在名称和类名中搜索(模糊匹配)
cat分类,例如 Weapon、Food / Drink、Ammo
tier物资等级(tier):Tier1 – Tier4 或 Unique
sortname(默认)、damage、rpm 或 weight
page页码,从 1 开始
limit每页结果数,1–100(默认 48)
icons1 = 只返回有图标的物品
langname 字段的语言:en, de, fr, es, it, ru, pl, cs, pt, zh(默认 en)
curl -H "Authorization: Bearer dzp_YOUR_KEY" \
  "https://dzpage.com/api/v1/items?q=akm&limit=5&lang=zh"
{
  "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/zh/items/akm"
    }
  ]
}

GET/api/v1/items/{class_name}

单个物品的全部详情

接受类名(不区分大小写)或 slug。返回全部字段:武器数据、弹药、弹匣、配件、物资数据、刷新建筑、制作配方、所有语言的名称以及完整的原始配置数据。

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/items/AKM?lang=zh"
// 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.zh, item.weapon_stats.rpm_full_auto);

GET/api/v1/categories

全部分类及物品数量

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

GET/api/v1/meta

数据集信息:导入日期、物品数量、游戏版本号

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

错误、限制与稳定性

错误始终以 JSON 返回,包含稳定的错误码、便于阅读的说明和文档链接:

{
  "error": "invalid_api_key",
  "message": "Invalid or revoked API key. …",
  "docs": "https://dzpage.com/api"
}
状态码 · code含义
401 · missing_api_key未发送 API 密钥。请加上 "Authorization: Bearer" 或 "X-Api-Key" 请求头。
401 · invalid_api_key该密钥不存在或已被吊销。
404 · not_found没有匹配该类名或 slug 的物品。
429 · rate_limited频率限制已用尽 – 请等待 Retry-After 指定的秒数后重试。
5xx服务器错误 – 可以放心重试。如果一直出现,请到我们的 Discord 反馈。

每个成功的响应都会带上频率限制响应头,方便你的客户端自行控制节奏:

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

基本规则

  • 一份订阅可用于你自己的项目、机器人和服务器工具 – 在频率限制内合理使用即可。
  • 如果你在自己的项目里用到它,欢迎附上指向 dzpage.com 的链接。
  • 物品图标(icon / icon_thumb 的 URL)依然可以随意外链 – 它们有长期缓存,也不需要密钥。
  • 本 API 为 v1:可能会新增字段,但已有字段不会被删除或改名。