Show page source of API #52222

[[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ファイル。これまではプラグインの有無に依存していたが、
3.1.6 以降は常時出力されるように変更され、全てのアップロードされたファイルの情報を取得出来るようになった。

 * パス
{{{
/[掲示板ディレクトリ]/img/[スレッドキー]/upload.csv
}}}

 * 形式
{{{ code csv
[レス番号],[拡張子],[元画像の幅],[元画像の高さ],[ファイルのMD5値],[サムネイルの幅],[サムネイルの高さ]
}}}

= Zeromin2 API =

3.1.6 から既に実装している JSON の API を元に拡張する形で公開しました。
ただしドキュメントは現状まだほとんど整備されていません。

 * 必要なパラメータ
   * class
   * method
   * js (常に 1 を指定する)
 * 初回ログイン時のみ
   * user
   * pass

例えば呼び出したい処理を bbs.load_threads とするなら、class に bbs を、method に load_threads を指定する。

== 共通事項 ==
 * データフォーマットは JSON のみ
 * セッション式なため、zeromin_session という名前の持つ cookie を取得してログイン中はこれを使うこと
 * 何かしら影響の与えるもののある操作については token が必要。これが無いと処理に失敗する
   * 例えば更新あるいは削除関連がそれに該当する。取得だけであれば token は必要ない
   * 取得処理も含め、token は毎回異なる値が生成される

=== リクエスト成功時 ===
ok が 1 であるかを確認する。また、ログインが成功しているかは loginOK が 1 であるかを確認する。
version は Zeromin2 の API のバージョンであり、エラー発生時でも出力される。

{{{ code javascript
{
  ok => 1,
  loginOK => 1,
  data => "何かしらのデータ",
  token => "ABCDEF",
  version => 1
}
}}}

=== エラー発生時 ===
ok が 0 であるかを確認する。エラー内容は error の値から取得可能。

{{{ code javascript
{
  ok => 0,
  loginOK => 0,
  error => "例外の内容",
  version => 1
}
}}}

== bbs.load_threads ==
生存中のスレッドを取得する

== bbs.load_special_threads ==
特殊なスレッド(スレッドキーが924で始まるもの)を取得する

== bbs.load_pooled_threads ==
プール(DAT落ち)されたスレッドを取得する

== bbs.load_archived_threads ==
過去ログスレッドを取得する

== bbs.remove_thread ==
指定されたスレッドを削除する

== bbs.move_thread ==
指定されたスレッドを移転する

== bbs.stop_thread ==
指定されたスレッドを停止する

== bbs.restart_thread ==
指定されたスレッドを再開する

== bbs.remove_res ==
指定されたスレッドのレスを通常削除する

== bbs.erase_res ==
指定されたスレッドのレスを透明削除する

== bbs.remove_file ==
指定されたスレッドのレスに添付されたファイルのみを削除する

== bbs.freeze_file ==
指定されたスレッドのレスに添付されたファイルを凍結(ダウンロード不可)する

== bbs.release_file ==
指定されたスレッドのレスに添付されたファイルを開放(ダウンロード可能)する

== bbs.pool_thread ==
指定されたスレッドをプーリングする

== bbs.restore_pool ==
指定されたプールスレッドを復帰させる

== bbs.remove_pool ==
指定されたプールスレッドを削除する

== bbs.create_archive ==
指定されたプールスレッドを過去ログに変換する

== bbs.update_archive ==
過去ログ一覧を更新する

== bbs.remove_archive ==
指定された過去ログを削除する

== setting.load ==
掲示板の設定を非公開のものも含んで全て取得する

== system.load ==
システム情報を取得する

== system.reload_modules ==
メモリ上のモジュールを全て読み直す(mod_perlで有効)

== system.test_connect_pop3 ==
POP3 サーバの接続テストを実行する