本文へ移動
Bounty Developer

PUT/api/events/{slug}/manage/questionnaires/{questionnaireId}

「イベント」の分類の、送った内容で対象を保存する(更新する)API。ログインした本人として呼ぶ。

要約

チケットの設問の下書きを丸ごと保存する(ページ → モジュール → 質問。公開と同じ決まりで全体を確かめる。公開したページの行き先は変えられない)

呼び方と印

ログイン

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

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

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

送るもの(本文)application/json

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

  • draft必須object
  • pages必須array<object>
    件数 ≤3
  • id必須string
    /^p_[a-z0-9]{4,24}$/
  • destination必須"fours_common" | "bounty_profile" | "bounty_event"
  • placement必須"before_checkout" | "after_checkout"
  • title必須string
    長さ 1–80
  • modules必須array<object | object>
    件数 ≤20
  • |1必須object
  • kind必須"shared"
  • id必須string
    /^mr_[a-z0-9]{4,24}$/
  • moduleId必須string(uuid)
  • |2必須object
  • kind必須"inline"
  • id必須string
    /^mr_[a-z0-9]{4,24}$/
  • body必須object
  • title必須string
    長さ 1–80
  • help任意string | null
    長さ ≤400
  • questions必須array<any>
    件数 1–30
  • expectedDraftHash任意string
    /^[a-f0-9]{64}$/

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

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

  • oktrue
  • draftHashstring

失敗したとき(エラー)

失敗したときの状態コードと、その意味。本文の 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
  • questionnaire_not_found
  • questionnaire_archived
  • questionnaire_invalid
  • page_destination_locked
  • questionnaire_changed

呼び出しの見本

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

curl -X PUT "https://bounty.spikes.4s.link/api/events/{slug}/manage/questionnaires/{questionnaireId}" \
  -H "Authorization: Bearer $BEARER_AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "draft": {
      "pages": []
    }
  }'
PUT /api/events/{slug}/manage/questionnaires/{questionnaireId} | Bounty Developer