Sekka.WebAPI RSSPLAIN

Related pages: Sekka
5555555555555555555555555555555555555555555555555355555555555555555555551515555555522255555555555555550555555555555555555555555555555555345222222222222222225
5

Sekka Web APIの解説

5

 

5

このページでは、Sekka Web API仕様について解説します。

5

sekka-serverは、ローマ字から仮名漢字への変換をREST APIとして提供しています。

5

Sekka用クライアントソフトウェアを開発される方は活用してください。

5

 

5

Sekka設計方針

5

ローマ字から仮名漢字への変換を全てサーバー側で行うという設計になっています。

5

従って、クライアント側にローマ字テーブルさえ持つ必要はありません。

5

アルファベットさえ入力できる環境であれば、ローマ字仮名漢字変換が可能です。

5

 

5

ユーザー学習辞書はサーバー側に保存します。従って、全てのリクエストにユーザーIDを指定する必要があります。

5

 

5

sekka-server仕様

5

アクセスURL

5

以下のルールでアクセスします。メソッドはPOSTを使用してください。

5
 http://ホスト名:12929/機能
5

 

5

例:

5
 http://localhost:12929/henkan
5

 

5

パラメータ

5

パラメータはPOSTのBodyで渡します。

5

パラメータ値は全てURI Encodeしてください。

5

 

5

以下に、curlでsekka-serverにアクセスする完全なコマンドラインサンプルを示します。(実際にsekka.elからリクエストされるコマンドです)

5

見易いように途中で改行を入れていますが実際は1行です。

5
curl --silent --show-error  --max-time 10  --insecure
5
  --header 'Content-Type: application/x-www-form-urlencoded'
5
    http://localhost:12929/henkan
5
  --data 'format=sexp'
5
  --data 'yomi=Kanjihenkan'
5
  --data 'limit=0'
5
  --data 'method=normal'
5
  --data 'userid=kiyoka' 
5

 

5

仮にvim用スクリプトを作る場合もsekka.el同様、上記のコマンドがそのまま使用できるでしょう。

5

 

5

全機能共通の必須パラメータ

5

 

5

userid

5

ユーザーIDを指定します。

5

Emacs用クライアントではログインIDを渡す実装になっています。

5

 

5

format

5

現在はsexp固定です。(S式を返します)

5

将来、Emacs以外のクライアントに対応する段階でjsonなどを追加する予定です。

5

 

5

 

3

API一覧

5

/henkan

5

ローマ字を仮名漢字に変換します。

5

次のような変換候補一覧が返ります。(format=sexpの例)

5
(("漢字変換" nil "かんじへんかん" j 0)
5
 ("かんじへんかん" nil "kanjihenkan" h 1)
5
 ("カンジヘンカン" nil "kanjihenkan" k 2)
5
 ("かぬんいへにんあん" nil "kanjihenkan" h 3)
5
 ("カヌンイヘニンアン" nil "kanjihenkan" k 4)
5
 ("Kanjihenkan" nil "Kanjihenkan" z 5)
5
 ("Kanjihenkan" nil "Kanjihenkan" l 6))
5

リストの各要素のフォーマットは下記の通りです。

5
第1要素: 変換結果文字列
5

"漢字変換"など

5

 

5
第2要素: アノテーション
5

単語の説明などの文字列です。存在しない場合は nil です。

5

 

5
第3要素: ユーザー辞書の確定(学習)に使う キー文字列
5

タイプが 「j」の場合のみ平仮名になります。

5

それ以外のタイプでは、ローマ字になります。

5

 

5
第4要素: 変換候補のタイプ
1

j n h k z l のうちどれかになります.

5
 j … 辞書から引いた単語
1
 n … 辞書から引いた単語(数字混じり)
5
 h … ひらがな(ローマ字テーブルで変換)
5
 k … カタカナ(ローマ字テーブルで変換)
5
 z … 全角アルファベット(入力を全角化した文字列)
5
 l … 半角アルファベット
5

 

5
第5要素: 通しナンバー
5

0から始まります。

5

 

2

サーバー側でエラーが発生した場合は、エラーメッセージを含んだ文字列が返ります。

2

 

2

 

5

以下のパラメータを受け取ります。

5

 

5

yomi

5

変換するローマ字文字列。

5

例:

5
yomi=KanjiHenkan
5

 

5

limit

5

返却する変換候補の制限数。

5

ゼロを指定すると無制限になります。

5

変換候補をリアルタイム表示する用途には 1 を指定すれば、サーバーのCPUリソースと通信量を減らして処理を軽量化することができます。

5

例:

5
limit=1
5

 

5

method

5

ローマ字解釈としてnormal(通常ローマ字)かAZIK(AZIK拡張ローマ字)のどちらを優先するかの指定。

0

※ AZIKは廃止されました。

5

 

5

 

5

/kakutei

5

指定した単語を第一候補として確定します。(学習)

5

クライアントで候補選択から、確定の操作が行われた時に呼出してください。

5

パラメータは以下の通りです。

5

 

5

key

5

/henkan機能で返却された変換候補のキー文字列。

5

 

5

例:

5

「key=かんじへんかん」をutf-8としてURI Encodeしたもの

5
key=%e3%81%8b%e3%82%93%e3%81%98%e3%81%b8%e3%82%93%e3%81%8b%e3%82%93
5

 

5

tango

5

/henkan機能で返却された変換結果文字列。

5

例:

5

「tango=漢字変換」をutf-8としてURI Encodeしたもの

5
tango=%e6%bc%a2%e5%ad%97%e5%a4%89%e6%8f%9b
5

 

5

 

5

/register

5

ユーザー語彙をサーバーに登録します。

5

以下のパラメータを受け取ります。

5

 

5

dict

5

~/.sekka-jisyoの中身をそのまま渡します。

5

改行も含めて UTF-8としてURI Encodeしたものを送ります。

5

例:

5

「dict=へんしゅうきょり /編集距離/\n」をutf-8としてURI Encodeしたもの

5
dict=%e3%81%b8%e3%82%93%e3%81%97%e3%82%85%e3%81%86%e3%81%8d%e3%82%87%e3%82%8a%20%2f%e7%b7%a8%e9%9b%86%e8%b7%9d%e9%9b%a2%2f%0a
5

 

5

/flush

3

サーバー上のユーザー辞書を全て削除します。ユーザー登録語彙と、学習内容が全て消えます。

4

パラメータは不要です。

5

 

2

 

2

/googleime

2

googleimeを使って平仮名から漢字に変換します。

2

次のような変換候補一覧が返ります。(format=sexpの例)

2
("山ガール" "やまガール" "やまがーる" "ヤマガール" "ヤマガール")
2

 

2

サーバー側でエラーが発生した場合は、エラーメッセージを含んだ文字列が返ります。

2

 

2

以下のパラメータを受け取ります。

2

 

2

yomi

2

変換するローマ字文字列。

2

例:

2

「yomi=やまがーる」をutf-8としてURI Encodeしたもの

2
yomi=%e3%82%84%e3%81%be%e3%81%8c%e3%83%bc%e3%82%8b
2

 

2

 

5

[以上]