お知らせ

Zaif APIのドキュメントを見やすくリニューアルいたしました。
今後はこちらを更新していきますのでよろしくお願いいたします。
http://techbureau-api-document.readthedocs.io/ja/latest/oauth/1_common.html

 

OAuth認証機能を利用するには

Zaifのアカウント情報を利用したサービス(以下クライアントサービス)を展開する業者(以下クライアント)がOAuth認証機能を利用できるようにするための手順を記述します。
 %e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-30-16-12-24

1.サービス基本情報を登録します

Zaifにログインし、『アカウント』→『連携アプリケーション基本設定』から「連携アプリケーションの情報を新しく作成する」ボタンを押下し、サービスの詳細な情報を設定してください。

項目名value例補足必須
名称自動取引BOT設定クライアントが各設定を見分けるための名称です。
リダイレクトURIhttps://auto.bot.co.jp/zaif_oauth認可クリア後、必要なパラメータを受け取るためのリダイレクトURL設定してください。×
未設定の場合、後述する認可画面リダイレクトパラメータに指定されるredirect_uriが利用されます。
サービス名称自動取引BOTサービスの名称を設定してください。
サービスイメージURLhttps://auto.bot.co.jp/service_image.pngサービスのイメージ画像のURLを設定してください。×
サービスURLhttps://auto.bot.co.jp/サービスのURLを設定してください。×
サービス利用規約URLhttps://auto.bot.co.jp/termsサービスの利用規約のURLを設定してください。×
サービスプライバシーポリシーURLhttps://auto.bot.co.jp/policyサービスのプライバシープリシーのURLを設定してください。×


2.Zaifアカウント認可画面へのリダイレクトを行えるようにします

クライアントサービスのログイン画面等に、Zaifアカウント認可画面(https://zaif.jp/oauth)へ必要なパラメータを追加してリダイレクトを行えるようにしてください。

キーvalue例補足必須
client_ida3823d2a30f24e39980ebe7943b55737連携アプリケーション基本情報登録時に発行されるIDを指定してください。
response_typecode固定です。
scopeinfo%20trade認可したい機能を半角空白(エンコード時は%20)で区切って指定してください、詳細は下記scope詳細をご確認ください。
state2a99cc45cef04c358dbc26db880f9d03リダイレクトするたびに一意の文字列を指定してください。
redirect_urihttp://your_domain/zaif_redirect発行されたcode(後述)を取得するためのリダイレクト先を指定してください。×
未指定の場合はサービス基本情報登録時に指定したリダイレクトURLが使用されます
langen表示言語を明示的に指定したい場合に指定してください。×
未指定の場合ブラウザの言語設定を参照して自動で言語情報を切り替えます。


名称詳細補足
infoデータ参照
trade通貨のトレード
withdraw口座への引き出しすべてのクライアントが指定できるわけではありません。詳しくはサポートまでご連絡ください。


リダイレクトに成功すると、下記のような認証画面が表示されます。


3.リダイレクトされた情報を解析します

サービス利用ユーザ(以下ユーザ)が認証に成功すると、指定したリダイレクトURLにリクエストが発行されるので、パラメータを解析し、認可処理を行ってください。

キーvalue例詳細
codecb533e906a984b0e8ba4efae3af0c7cbZaifが発行した一意の文字列です。後述のトークン発行時に利用します。
state 2a99cc45cef04c358dbc26db880f9d03リダイレクト時に付与したstateパラメータと同値です。成りすまし対策として、必ず同値であるかチェックしてください。

4.tokenをリクエストします

前述のcodeパラメータを使って、tokenが取得できるWeb APIを実行し、tokenを取得します。なお、戻り値はJSONになります。

エンドポイント:https://oauth.zaif.jp/v1/token

メソッド:POST

トークン発行APIパラメータ

キーvalue例補足必須
grant_typeauthorization_code固定です。
codecodeリダイレクトされたcode値を指定してください。
client_id9r88i445cef04c358dbc26db880f9d03アプリケーション基本情報登録時に発行されたクライアントIDを指定してください。
client_secret2a99cc45cef04c358dbc26db880f9d03アプリケーション基本情報登録時に発行されたクライアントシークレットを指定してください。
redirect_urihttp://your_domain/zaif_redirectリダイレクトしたいURLを指定してください。×
認可画面リダイレクト時に指定している場合必ず同値を指定してください。


トークン発行API戻値

キーvalue例補足
token_typebearer固定です。
state2a99cc45cef04c358dbc26db880f9d03リダイレクト時に付与したstateパラメータと同値です。
access_tokenbb12f3de5df2472290ff15331824a9cfAPIを利用する時に指定するトークンです。
refresh_tokenef972ad13e484e17abffbfd5dba51750利用期限が切れたaccess tokenを再発行するために使用します。
expires_in3600access tokenの期限です。単位は秒です。

5.APIを実行します

今までHTTPヘッダにkey、signパラメータを付与して実行していた取引APIですが、取得したtokenを利用すればそれらは必要なくなります。

発行されたaccess tokenをtokenパラメータとしてリクエスト発行時にHTTPヘッダに付与し、APIを実行して下さい。

6.access tokenの期限が切れた場合

期限が切れたaccess tokenは利用できなくなります。下記tokenの再発行Web APIを利用して、token を再発行して下さい。

エンドポイント:https://oauth.zaif.jp/v1/refresh_token

メソッド:POST

トークン再発行APIパラメータ

キーvalue例補足必須
grant_typerefresh_token固定です。
refresh_tokenef972ad13e484e17abffbfd5dba51750トークン発行API実行時に取得したrefresh tokenを指定してください。
client_id9r88i445cef04c358dbc26db880f9d03アプリケーション基本情報登録時に発行されたクライアントIDを指定してください。
client_secret2a99cc45cef04c358dbc26db880f9d03アプリケーション基本情報登録時に発行されたクライアントシークレットを指定してください。


トークン再発行API戻値

キーvalue例補足
token_typebearer固定です。
access_token5a9b1fcfd3e241a6a83f411ade015c18APIを利用する時に指定するトークンです。
refresh_token0899f2b6c8614bce88934e6561cb47fb利用期限が切れたaccess tokenを再発行するために使用します。
expires_in3600access tokenの期限です。単位は秒です。

補足

ユーザが認証したアプリケーションの情報を削除したい場合は、『アカウント』→『連携アプリケーション一覧』を選択し、削除したいアプリケーション情報の削除ボタンを押下してください。