[[PageOutline]] == bbs.cgi == パラメータに js=1 または xml=1 をつけるとそれぞれ JSON または XML 形式で返ってきます。 成功または失敗したか判断をするには ok の値が 1 であるかどうかを確認すればよいです。 * js=1 で書き込みに成功した場合 {{{ code javascript { error => '', errstr => '', ok => 1 } }}} * xml=1 で書き込みに成功した場合 {{{ code xml <response> <error></error> <errstr></errstr> <ok>1</ok> </response> }}} * js=1 で書き込みに失敗した場合の一例 {{{ code javascript { error => 'INVALID_POST', errstr => 'フォーム情報が正しく読めないです。', ok => 0 } }}} * xml=1 で書き込みに失敗した場合の一例 {{{ code xml <response> <error>INVALID_POST</error> <errstr>フォーム情報が正しく読めないです。</errstr> <ok>0</ok> </response> }}} == upload.csv == アップロードされたファイル情報を収めたCSVファイル。サムネイル表示可能数 = 行数のため、 全てのアップロードされたファイル情報を取得することは出来無い。また、拡張である Img0ch::Plugin::Upload::XCSV が有効な掲示板に限るため、あまり有用ではない。 * パス {{{ /[掲示板ディレクトリ]/img/[スレッドキー]/upload.csv }}} * 形式 {{{ code csv [レス番号],[拡張子],[元画像の幅],[元画像の高さ],[ファイルのMD5値],[サムネイルの幅],[サムネイルの高さ] }}} == 現在実装を予定している API (策定中) == * REST 形式 * 成功か失敗かは HTTP のステータスコードを見る必要がある * 200 (更新系は 201) が成功 * クライアントのリクエストに問題がある場合は 4xx 系を返す * #{variable} は変数を表す * #{bbs} は掲示板のディレクトリ * #{thread} はスレッドキー * #{resno} はレス番号 * #{plugin} はプラグイン ID === GET /api/plugins === プラグイン一覧を取得する === PUT /api/plugin/#{plugin} === プラグインの有効無効をシステムレベルで設定する === PUT /api/banner/main === 掲示板のバナーを更新する === PUT /api/banner/sub === 掲示板のサブバナーを更新する === GET /api/#{bbs}/pooled === プール済みのスレッド一覧を取得する === GET /api/#{bbs}/archived === 過去ログに変換済みのスレッド一覧を取得する === GET /api/#{bbs}/setting/main === 主要設定を取得する === GET /api/#{bbs}/setting/design === デザイン設定を取得する === GET /api/#{bbs}/setting/restriction === 制限設定を取得する === GET /api/#{bbs}/setting/others その他の設定を取得する === GET /api/#{bbs}/setting/img0ch img0ch 特有の設定を取得する === GET /api/#{bbs}/errors === エラーログを取得する === GET /api/#{bbs}/hosts === スレッドログを取得する === GET /api/#{bbs}/plugins === プラグイン一覧を取得する === PUT /api/#{bbs}/header === 掲示板のヘッダーを更新する === PUT /api/#{bbs}/meta === 掲示板のメタデータを更新する === PUT /api/#{bbs}/footer === 掲示板のフッターを更新する === PUT /api/#{bbs}/plugins/#{plugin} === プラグインの有効無効を掲示板レベルで設定する === GET /api/#{bbs}/#{thread}/setting === 仮想スレッドの設定を取得する === GET /api/#{bbs}/#{thread}/access === 仮想スレッドのアクセス設定を取得する === GET /api/#{bbs}/#{thread}/ngword === 仮想スレッドのNGワード設定を取得する === GET /api/#{bbs}/#{thread/tags === タグ一覧を取得する === GET /api/#{bbs}/#{thread}/ngtags === NGタグ一覧を取得する === PUT /api/#{bbs}/#{thread}/ngtags === NGタグを更新する === PUT /api/#{bbs}/#{thread}/stop === スレッドを停止する === PUT /api/#{bbs}/#{thread}/restart === スレッドを再開する === PUT /api/#{bbs}/#{thread}/setting === 仮想スレッドの設定を更新する === PUT /api/#{bbs}/#{thread}/access === 仮想スレッドのアクセス設定を更新する === PUT /api/#{bbs}/#{thread}/ngword === 仮想スレッドのNGワード設定を更新する === DELETE /api/#{bbs}/#{thread} === 指定されたスレッドを削除する === PUT /api/#{bbs}/#{thread}/#{resno} === 指定されたレスを編集する === PUT /api/#{bbs}/#{thread}/#{resno}/freeze === 指定されたレスに添付されたファイルを凍結させる === PUT /api/#{bbs}/#{thread}/#{resno}/release === 指定されたレスに添付されたファイルを復活させる === DELETE /api/#{bbs}/#{thread}/#{resno} === 指定されたレスを通常削除する === DELETE /api/#{bbs}/#{thread}/#{resno}/erase === 指定されたレスを透明削除する === DELETE /api/#{bbs}/#{thread}/#{resno}/fileonly === 指定されたレスに添付されたファイルのみを削除する === DELETE /api/#{bbs}/#{thread}/pool === 指定されたプールスレッドを削除する === DELETE /api/#{bbs}/#{thread}/archive === 指定された過去ログを削除する === 実装戦略 === これらは Zeromin2::App::* にあるものを土台とする。Zeromin2::App のふりをする モジュール (Zeromin2::API) を作って入力と出力のみを加工する。また、 セッションを作成するAPIを実装する予定は無いので、ユーザ名とパスワードは毎回要求する。