POST/api/events/{slug}/manage/tickets/{familyId}/tiers/{tierId}/variants
「イベント」の分類の、新しく作る、または操作を実行するために内容を送る API。ログインした本人として呼ぶ。
- 要約
基本の段からバリアントをまとめて作る(札 | 枚数 | 価格 の行。1 つのトランザクションで checkFamilyTiers を通す。4S への作成は段ごとに予約)
- 呼び方と印
ログイン
URL に付ける値(パラメータ)
経路の中の波かっこの部分と、URL の ? の後ろに付ける値。「必須」の印があるものは省けない。
slugpath必須stringfamilyIdpath必須string(uuid)tierIdpath必須string(uuid)
送るもの(本文)application/json
送る本文の欄。「必須」の印がある欄は省けない。
lines必須array<object>件数 1–200label必須string長さ 1–24quantity必須integer | null≥1price必須integer | null≥0distributor任意object | nullkind必須"guild" | "venture" | "user"id必須string(uuid)
返るもの(応答)201 · application/json
成功したときに返る形。入れ子の欄は、その行を押すと開く・閉じる。「任意」の印がある欄は返らないことがある。
tiersarray<object | object>|1objectorigin"created" | "adopted"foursTicketIdstring | nullfoursUniqueIdstring | nullsyncStateenum(6)"unlinked" "pending" "synced" "uncertain" "drift" "failed"observedobject | nullstatus"DRAFT" | "PUBLISHED" | "PRIVATE"pricenumbersalesLimitnumber | nullnamestringdisplayOrdernumber | nullsoldCount任意number | nullrequiresApproval任意boolean | nullinvitationEnabled任意boolean | null
observedAtstring | nullidstring(uuid)familyIdstring(uuid)namestring長さ 1–100priceinteger≥0quantityinteger | null≥1salesStartsAtstring(date-time) | nullsalesEndsAtstring(date-time) | nullstatusMode"auto" | "DRAFT" | "PUBLISHED" | "PRIVATE"positioninteger≥0baseTierId任意string(uuid) | nulldescriptionPrefix任意string | null長さ ≤200paymentType任意"FREE" | "ONSITE_PAYMENT" | "PREPAID_STRIPE" | nullrequiresApproval任意boolean | nulldistributor任意object | nullkind"guild" | "venture" | "user"idstring(uuid)
kind"price"visibility"public" | "link"labelstring | null長さ 1–24
|2objectorigin"created" | "adopted"foursTicketIdstring | nullfoursUniqueIdstring | nullsyncStateenum(6)"unlinked" "pending" "synced" "uncertain" "drift" "failed"observedobject | nullstatus"DRAFT" | "PUBLISHED" | "PRIVATE"pricenumbersalesLimitnumber | nullnamestringdisplayOrdernumber | nullsoldCount任意number | nullrequiresApproval任意boolean | nullinvitationEnabled任意boolean | null
observedAtstring | nullidstring(uuid)familyIdstring(uuid)namestring長さ 1–100priceinteger≥0quantityinteger≥1salesStartsAtstring(date-time) | nullsalesEndsAtstring(date-time) | nullstatusMode"auto" | "DRAFT" | "PUBLISHED" | "PRIVATE"positioninteger≥0baseTierId任意string(uuid) | nulldescriptionPrefix任意string | null長さ ≤200paymentType任意"FREE" | "ONSITE_PAYMENT" | "PREPAID_STRIPE" | nullrequiresApproval任意boolean | nulldistributor任意object | nullkind"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}/tiers/{tierId}/variants" \
-H "Authorization: Bearer $BEARER_AUTH" \
-H "Content-Type: application/json" \
-d '{
"lines": [
{
"label": "string",
"quantity": 1,
"price": 0
}
]
}'