The TYPOGRAFFIT API

目次
  • 1 はじめにAPI トップへ
  • TYPOGRAFFIT APIを使う事で、あらゆるWebサイトやアプリケーションから、TYPOGRAFFITの機能にアクセスする事が出来るようになります。具体的には、ブログのコメントや、何らかのアプリケーションで入力した文章などのテキストを「タイプグラフ化」された画像に変換できます。また、変換した画像の管理や、ユーザのカスタム画像のアップロード等、TYPOGRAFFITで提供されている機能の大部分を利用できます。
  • 1.1 TYPOGRAFFIT APIで出来ることAPI トップへ
  • ・文章から画像の生成
    ・同じ文章から違う「ムード」の画像生成
    ・生成した画像の一覧・編集・削除(要ログイン)
    ・ユーザによる、画像ライブラリのアップロード・編集・削除(要ログイン)
  • 1.2 基本的な動作API トップへ
  • まずはブラウザで、以下のURLを表示させてみてください。
    http://typograffit.com/rest_json/posts/generate/body:This%20is%20a%20test
    すると、以下のような形式のテキストがブラウザに表示されます。
    {"post_id":"U0JGIO2cWBKE"}
    ここで表示されている、"U0JGIO2cWBKE"の部分が、生成された画像を示すIDコードです。
    では、どのような画像が表示されたか確認しましょう。
    http://typograffit.com/rest_json/posts/getImage/post_id:U0JGIO2cWBKE
     ※ "post_id:"以下の部分は、先ほど表示された画像のIDを入力してください。
    画像が表示されたでしょうか?
  • 1.3 一番簡単なサンプルPHPスクリプトAPI トップへ
  • もしPHPが動作する環境をお持ちであれば、以下のシンプルなPHPファイルを設置して、動作テストできます。
    GitHub : Simple TYPOGRAFFIT API Sample
  • 1.4 TYPOGRAFFIT WordPress プラグインAPI トップへ
  • WordPress用のプラグインを提供しています。
    WordPress2.5以上で動作します。
    ブログの記事中に[typo] ... [/typo]というショートコードで文字列を囲むことで、自動的にその部分が「タイポグラフ化」します。
    タイポグラフ画像は、記事の文章の中で、一行でインライン表示されます。
    TYPOGRAFFIT WordPress Plugin
  • 2 API仕様
  • 2.1 利用可能なAPIプロトコルAPI トップへ
  • 現在利用可能なAPIプロトコルは、REST-JSONです。クライアントからのリクエストはHTTP GETまたはHTTP POSTを通してサーバに渡され、サーバからはJSONというデータ形式で結果を返信します。
    JSONについては、
    http://www.json.org/json-ja.html
    を参照してください。
    TYPOGRAFFIT APIは、可能な限りREST-JSONに準拠していますが、一部拡張または制限があります。
  • 2.2 URL規約API トップへ
  • TYPOGRAFFITの各機能のURLは、
    http://typograffit.com/rest_json/[resource]/[action]
    のような形式となります。HTTP GETメソッドでパラメータを渡す際は、
    http://typograffit.com/rest_json/[resource]/[action]/[param1name]:[param1]/[param2name]:[param2]/...
    の形式をとります。各パラメータはURLエンコードして渡してください。(改行コードも使えます。)
    文字コードはUTF-8を利用してください。
  • 2.3 返り値API トップへ
  • APIからのレスポンスは、JSON形式のデータで返ります。文字コードはUTF-8です。
    エラーの場合は、下記のようにエラーメッセージとエラーコードが返ります。
    {"error":"Body text must be under 1000 letters.","error_code":"15"}
    エラーコードについては、6.エラーメッセージ一覧を参照してください。
  • 2.4 ユーザ認証API トップへ
  • 一部のメソッドを利用するには、ユーザ認証が必要となります。
    また、それ以外のメソッドについても、ユーザ認証を通すことで、より高度な操作が可能となります。
    ユーザ認証をするには、/users/loginメソッドでE-mail / パスワードを確認後発行される「トークン」を用います。
  • 2.5 ムードについてAPI トップへ
  • TYPOGRAFFITの画像ライブラリには、「ムード」と呼ばれる一連のメタ情報が付加されています。
    同じ文章から画像を再生成(re-generate)することで、そのムードを変更する事ができます。
    詳しくは4.Message メソッドposts/generateを参照下さい。
  • 3 User Auth メソッド
  • 3.1 users/registerAPI トップへ
  • ユーザ登録します。(ユーザ名・メールアドレス・パスワードが必要)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • email as String
    password as String
    username as String
  • 返り値
  • (Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/users/register/email:info@example.com/password:testtest/username:TestUser
  • 3.2 users/loginAPI トップへ
  • ログイン認証し、トークンを受け取ります。
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • email as String
    password as String
  • 返り値
  • (token as String, username as String) or error
  • 備考
  • トークンの有効期限は、発行されてから2週間です。
  • URL例
  • http://typograffit.com/rest_json/users/login/email:info@example.com/password:testtest
  • 3.3 users/editAPI トップへ
  • ユーザのプロフィールを編集します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • username as String
    email as String
    password as String
    token as String
  • 返り値
  • (Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/users/edit/email:info@example.com/password:testtest/username:TestUser/token:4a834f8e-273c-4550-9424-01c2d2fd7859
  • 3.4 users/logoutAPI トップへ
  • ログアウトし、トークンを破棄します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • token as String
  • 返り値
  • (Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/users/logout/token:4a834f8e-273c-4550-9424-01c2d2fd7859
  • 4 Message メソッド
  • 4.1 posts/generateAPI トップへ
  • 文章から画像を生成します。
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • body as String
    token as String (オプション)
  • ユーザがログイン中の時に使用します。
  • post_id as String (オプション)
  • 画像を再生成し、「ムード」を変更する際に使用します。
  • no_wrap as Integer (オプション)
  • "1"になっていると、文章は折り返されずに「一行の」画像が生成されます。
  • line_width as Integer (オプション)
  • 一行の横幅。デフォルトでは、800pxに設定されています。
  • 返り値
  • (post_id as String) or error
  • 備考
  • post_idは整数値ではなく、 'qYqpTEu1nzSQ'の様なユニークな文字列として返ってきます。
    "ムード"を変更するためには、前回生成した画像のpost_idを指定してください。
    posts/list, posts/edit, posts/delete によるメッセージ管理の対象とするには、必ずログイン時に発行されるtokenを指定してください。
  • URL例1
  • http://typograffit.com/rest_json/posts/generate/token:4a834f8e-273c-4550-9424-01c2d2fd7859/body:test%20string%20blahblahblahblahblah/line_width:300
  • URL例2
  • http://typograffit.com/rest_json/posts/generate/body:test%20string%20blahblahblahblahblah/no_wrap:1
  • 4.2 posts/getImageAPI トップへ
  • 画像を取得します。
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • post_id as String
    token as String (オプション)
    max_width as Integer (オプション)
  • (最大横幅)この値がセットされていると、画像はリサイズされます。
  • max_height as Integer (オプション)
  • (最大縦幅)この値がセットされていると、画像はリサイズされます。
  • 返り値
  • (jpeg image) or error
  • URL例
  • http://typograffit.com/rest_json/posts/getImage/post_id:qYqpTEu1nzSQ
  • 4.3 posts/getInfoAPI トップへ
  • メッセージの詳細情報を取得します。
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • post_id as String
    token as String (オプション)
  • 返り値
  • (body as String, width as Integer, height as Integer, private_use as Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/posts/getInfo/post_id:qYqpTEu1nzSQ
  • 4.4 posts/listAPI トップへ
  • ユーザが生成したメッセージの一覧を取得します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • page as Integer (オプション)
  • "1"から始まります。デフォルトは"1"です。
  • token as String
  • 返り値
  • (post_ids as Array, max_page as Integer) or error
  • 備考
  • 一つの"page"(ページ)につき10件ずつpost_idを配列として返します。
  • URL例
  • http://typograffit.com/rest_json/posts/list/token:4a834f8e-273c-4550-9424-01c2d2fd7859
  • 4.5 posts/editAPI トップへ
  • メッセージに関する属性値(プライベートモードか否か)を編集します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • post_id as String
    private_use as Boolean
    token as String
  • 返り値
  • (Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/posts/edit/token:4a834f8e-273c-4550-9424-01c2d2fd7859/post_id:qYqpTEu1nzSQ/private_use:false
  • 4.6 posts/deleteAPI トップへ
  • メッセージを削除します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • post_id as String
    token as String
  • 返り値
  • (Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/posts/delete/token:4a834f8e-273c-4550-9424-01c2d2fd7859/post_id:qYqpTEu1nzSQ
  • 5 Source Image メソッドAPI トップへ
  • 5.1 sources/uploadAPI トップへ
  • 画像をアップロードします。
  • HTTP メソッド
  • POST
  • 引数(パラメータ)
  • image
    phrase as String
    token as String
  • 返り値
  • (Boolean) or error
  • 備考
  • 概して、アップロードされた画像は最大縦幅80pxを基準にリサイズされます。
    画像は、enctype = "multipart/form-data" の形で、アップロードしてください。
  • 5.2 sources/getImageAPI トップへ
  • アップロードされた画像を取得します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • source_id as String
    token as String
  • 返り値
  • (jpeg image) or error
  • URL例
  • http://typograffit.com/rest_json/sources/getImage/token:4a834f8e-273c-4550-9424-01c2d2fd7859/source_id:14001
  • 5.3 sources/getInfoAPI トップへ
  • アップロードされた画像の詳細情報を取得します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • source_id as String
    token as String
  • 返り値
  • (phrase as String, width as Integer, height as Integer, private_use as Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/sources/getImage/token:4a834f8e-273c-4550-9424-01c2d2fd7859/source_id:14001
  • 5.4 sources/listAPI トップへ
  • ユーザがアップロードした画像の一覧を取得します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • page as Integer (オプション)
  • "1"から始まります。デフォルトは"1"です。
  • token as String
  • 返り値
  • (source_ids as Array, max_page as Integer) or error
  • 備考
  • 一つの"page"(ページ)につき10件ずつsource_idを配列として返します。
  • URL例
  • http://typograffit.com/rest_json/sources/list/token:4a834f8e-273c-4550-9424-01c2d2fd7859
  • 5.5 sources/editAPI トップへ
  • アップロードされた画像の属性(読み仮名(phrase)と、プライベートモードの可否)を変更します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • source_id as String
    phrase as String
    private_use as Boolean
    token as String
  • 返り値
  • (Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/sources/edit/token:4a834f8e-273c-4550-9424-01c2d2fd7859/source_id:14001/phrase:test%20phrase/private_use:false
  • 5.6 sources/deleteAPI トップへ
  • アップロード画像を削除します。
    (ログインユーザ専用)
  • HTTP メソッド
  • GET
  • 引数(パラメータ)
  • source_id as String
    token as String
  • 返り値
  • (Boolean) or error
  • URL例
  • http://typograffit.com/rest_json/sources/delete/token:4a834f8e-273c-4550-9424-01c2d2fd7859/source_id:14001
  • 6 エラーメッセージ一覧API トップへ
  • TYPOGRAFFIT REST API用エラーメッセージ一覧
  • Error MessageError Codeメソッド日本語補足
    Invalid URL.01-URLが不正
    Invalid token.02-トークンが不正
    Undefined action.03-URLが不正
    Login required.04posts/list, posts/edit, posts/delete, sources/*, users/edit, users/logoutログインが必要
    This E-mail is already registered.05users/register, users/editすでに登録されたメールアドレスです。
    Username is empty.06users/register, users/editユーザー名が空
    Username must be under 30 letters.07users/register, users/editユーザー名は30文字以下で
    E-mail is empty.08users/login, users/register, users/editメールアドレスが空
    E-mail must be under 255 letters.09users/register, users/editメールアドレスは255文字以下で
    Invalid E-mail Address.10users/register, users/editメールアドレスが不正
    Invalid email or password.11users/loginメールかパスワードが違う(認証失敗)
    Password is empty.12users/login, users/register, users/editパスワードが空
    Password must be in between 5 - 20 letters.13users/register, users/editパスワードは5-20文字で
    Body text is empty.14posts/generate本文が空
    Body text must be under 1000 letters.15posts/generate本文は1000文字以内で
    Post ID is empty.16posts/generate, posts/getInfo, posts/edit, posts/deletepost_idが空
    Post ID is invalid.17posts/generate, posts/getInfopost_idが空
    Post not found.18posts/edit, posts/deleteメッセージが見つかりませんでした
    Page does not exist.19posts/list, sources/listそのページは存在しません
    Private Use is empty.20posts/edit, sources/editプライベートフラグが空
    Image height is too short.21sources/upload画像の高さが足りない
    Image is empty.22sources/upload画像が空
    Image upload error!23sources/uploadアップロードエラー
    Image width is too long.24sources/upload画像の横幅が長すぎ
    Invalid binary.Check the image is "jpeg", "png" or "gif" format.25sources/upload画像が不正。jpgかpngかgifで
    Source ID is empty.26sources/getImage, sources/getInfo, sources/edit, sources/deletesource_idが空
    Source ID is invalid.27sources/getImage, sources/getInfosource_idが不正
    Source not found.28sources/deleteアップロード画像が見つからない
    Phrase is empty.29sources/upload, sources/editフレーズ(画像の読み仮名)が空
    Phrase must be under 30 letters.30sources/upload, sources/editフレーズ(画像の読み仮名)は30文字以内で
    Invalid background color.31(予約領域) -
    Currently under sever maintainance. Please try again later.32(予約領域)サーバーメンテナンス時のエラーメッセージ
    - 99(上記以外。予約領域) -