Drawspell

Drawspell API 互联网电影数据库(IMDb)

连接您的应用程序到 Drawspell.

基础 URLhttps://drawspell.space/api/v1

认证

签名到开发者门户 并在您的仪表盘中创建 API 键。

发送到Authorization头 与每个API请求。

Authorization: Bearer YOUR_API_KEY

在 您的仪表板中管理最多5个活动密钥.

缺少、 无效或吊销的密钥返回 401 未经批准。关闭账户或返回权限不足 403 禁止入境.

创建房间

创建可选预装甲板和个人邀请的房间.

POST/api/v1/rooms

页眉

Authorization所需经费
Bearer API 密钥,请参看认证.
Content-Type所需经费
application/json
Idempotency-Key所需经费
每个创建都独一无二; 1–128 可见的 ASCII 字符.

体质

发送{}作为默认房间。 最大为 160 KiB; 没有未知的字段 。

displaySpectatorLinkboolean · 选项
默认为真。 设置错误以隐藏玩家的旁观者链接。 API 仍然返回链接 。
playersobject[] · 选项
最多四次个人邀请。
externalIdstring · 所需经费
您的玩家标识符 。 1–128 字符; 在此请求中独一无二 。
deckobject · 选项
指定给此玩家的个人链接的标记 。
deckliststring · 所需经费
底板文本要预装,最多32 KiB.
bracketinteger · 选项
1–5. 无显示存储.
curl https://drawspell.space/api/v1/rooms \
  -H "Authorization: Bearer $DRAWSPELL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: match-123" \
  --data '{
  "displaySpectatorLink": false,
  "players": [
    {
      "externalId": "player-1",
      "deck": {
        "decklist": "1 Sol Ring\n1 Command Tower",
        "bracket": 3
      }
    }
  ]
}'

回应

playerInviteUrl共享
任何有链接的人都可以加入一个可用的座位.
players[].joinUrl个人
发送到匹配中 externalId。装入指定的甲板;没有座位预定或身份检查。
spectatorLinkstring
总是返回 API 调用器, 任何有此链接的人都可以观看。 当displaySpectatorLink为虚假时, 玩家无法从应用程序中获取链接 。
activationExpiresAtISO 日期
第一玩家必须在24小时内加入,活跃的游戏继续超过这个期限.
201 房间已创建
{
  "roomId": "abc123",
  "displaySpectatorLink": false,
  "spectatorLink": "https://drawspell.space/rooms/abc123?st=…",
  "activationExpiresAt": "2026-10-10T18:00:00.000Z",
  "playerInviteUrl": "https://drawspell.space/rooms/abc123?gt=…",
  "players": [
    {
      "externalId": "player-1",
      "joinUrl": "https://drawspell.space/rooms/abc123?invite=…"
    }
  ]
}

安全重试

重用相同的密钥和内容最多24小时。 replays return 200 与 Idempotency-Replayed: true。不同的内容返回 409; 一个已经消失的房间返回 410.

10项请求/分钟

共享您账户的密钥, 包括回覆和拒绝请求。 429, 等待Retry-After 秒 。

引用错误 状态、代码和JSON实例
API 错误代码
状态代码/ 动作
400invalid_request

检查JSON,字段,和所需的信头.

401unauthorized

使用活动的 API 密钥 。

403forbidden

账户已禁用或房间: 创建权限缺失 。

409idempotency_conflict

对不同内容使用新密钥 。

410room_gone

房间过期或被删除。 创建一个新的房间 。

413body_too_large

将请求减少到160个基B或更少.

415unsupported_media_type

发送 Content-Type: application/json.

429rate_limited

等着 Retry-After 秒数。

503service_unavailable

重试相同 Idempotency-Key.

409 错误反应
{
  "error": {
    "code": "idempotency_conflict",
    "message": "This Idempotency-Key was already used with different content."
  }
}