本文へ移動
Bounty Developer

POST/api/events/{slug}/manage/tickets/{familyId}/org-ticket

「イベント」の分類の、新しく作る、または操作を実行するために内容を送る API。ログインした本人として呼ぶ。

要約

団体専用のチケットを作る(基本の段から、札 = 団体の名前・配る団体 = その団体のリンクだけのバリアント)

呼び方と印

ログイン

URL に付ける値(パラメータ)

経路の中の波かっこの部分と、URL の ? の後ろに付ける値。「必須」の印があるものは省けない。

  • slugpath必須string
  • familyIdpath必須string(uuid)

送るもの(本文)application/json

送る本文の欄。「必須」の印がある欄は省けない。

  • baseTierId必須string(uuid)
  • org必須object
  • kind必須"guild" | "venture"
  • id必須string(uuid)
  • quantity必須integer | null
    ≥1
  • price必須integer | null
    ≥0
  • eligibility任意"link" | "org_members"

返るもの(応答)201 · application/json

成功したときに返る形。入れ子の欄は、その行を押すと開く・閉じる。「任意」の印がある欄は返らないことがある。

  • tierobject | object
    • |1object
      • origin"created" | "adopted"
      • foursTicketIdstring | null
      • foursUniqueIdstring | null
      • syncStateenum(6)"unlinked" "pending" "synced" "uncertain" "drift" "failed"
      • observedobject | null
        • status"DRAFT" | "PUBLISHED" | "PRIVATE"
        • pricenumber
        • salesLimitnumber | null
        • namestring
        • displayOrdernumber | null
        • soldCount任意number | null
        • requiresApproval任意boolean | null
        • invitationEnabled任意boolean | null
      • observedAtstring | null
      • idstring(uuid)
      • familyIdstring(uuid)
      • namestring長さ 1–100
      • priceinteger≥0
      • quantityinteger | null≥1
      • salesStartsAtstring(date-time) | null
      • salesEndsAtstring(date-time) | null
      • statusMode"auto" | "DRAFT" | "PUBLISHED" | "PRIVATE"
      • positioninteger≥0
      • baseTierId任意string(uuid) | null
      • descriptionPrefix任意string | null長さ ≤200
      • paymentType任意"FREE" | "ONSITE_PAYMENT" | "PREPAID_STRIPE" | null
      • requiresApproval任意boolean | null
      • distributor任意object | null
        • kind"guild" | "venture" | "user"
        • idstring(uuid)
      • kind"price"
      • visibility"public" | "link"
      • labelstring | null長さ 1–24
    • |2object
      • origin"created" | "adopted"
      • foursTicketIdstring | null
      • foursUniqueIdstring | null
      • syncStateenum(6)"unlinked" "pending" "synced" "uncertain" "drift" "failed"
      • observedobject | null
        • status"DRAFT" | "PUBLISHED" | "PRIVATE"
        • pricenumber
        • salesLimitnumber | null
        • namestring
        • displayOrdernumber | null
        • soldCount任意number | null
        • requiresApproval任意boolean | null
        • invitationEnabled任意boolean | null
      • observedAtstring | null
      • idstring(uuid)
      • familyIdstring(uuid)
      • namestring長さ 1–100
      • priceinteger≥0
      • quantityinteger≥1
      • salesStartsAtstring(date-time) | null
      • salesEndsAtstring(date-time) | null
      • statusMode"auto" | "DRAFT" | "PUBLISHED" | "PRIVATE"
      • positioninteger≥0
      • baseTierId任意string(uuid) | null
      • descriptionPrefix任意string | null長さ ≤200
      • paymentType任意"FREE" | "ONSITE_PAYMENT" | "PREPAID_STRIPE" | null
      • requiresApproval任意boolean | null
      • distributor任意object | null
        • kind"guild" | "venture" | "user"
        • idstring(uuid)
      • kind"limited"
      • visibility"link"
      • labelstring長さ 1–24

失敗したとき(エラー)

失敗したときの状態コードと、その意味。本文の error の値で、プログラムが失敗の種類を見分けられる。

  • 400入力の誤り(error = invalid_input など)
  • 401未ログイン(unauthorized)/ Bearer が無効(invalid_token。WWW-Authenticate 付き)
  • 403権限が無い
  • 409HTTP 409(x-bounty-error-codes を参照)
  • 422HTTP 422(x-bounty-error-codes を参照)
  • event_not_found
  • feature_disabled
  • forbidden
  • manager_reverify_required
  • human_action_required
  • invalid_input
  • family_not_found
  • family_archived
  • tier_not_found
  • tier_archived
  • variant_of_variant
  • variant_label_taken
  • distributor_not_found
  • ticket_rules_violation

呼び出しの見本

そのまま試せる呼び出しの例。curl と fetch をタブで切り替える。ID やトークンは自分の値に置き換える。

curl -X POST "https://bounty.spikes.4s.link/api/events/{slug}/manage/tickets/{familyId}/org-ticket" \
  -H "Authorization: Bearer $BEARER_AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "baseTierId": "00000000-0000-4000-8000-000000000000",
    "org": {
      "kind": "guild",
      "id": "00000000-0000-4000-8000-000000000000"
    },
    "quantity": 1,
    "price": 0
  }'
POST /api/events/{slug}/manage/tickets/{familyId}/org-ticket | Bounty Developer