開発者向け Ask Mona API
Ask Monaでは以下の通りAPIを用意しています。適切なパラメータを指定してリクエストすると、結果をJSON形式で返します。 deprecated.
APIにつきまして、ご不明な点またはご要望等ございましたら、お気軽にメールまたはAsk Mona APIトピックまでご連絡いただければと思います。
公開API
要認証API
要パスワードAPI
要認証API・要パスワードAPIを利用するには、アプリケーション登録が必要です。登録は、開発者マイページから行えます(ログインが必要です)。登録後は、下記のチャートのいずれかに従って利用してください。
要認証API 利用チャート(1) 主にネイティブアプリ向け
- 開発者が開発者マイページからアプリケーション登録をする。
- シークレットキー取得APIを使って、認証キーの作成に使うシークレットキーを取得してAPIを利用。
要認証API 利用チャート(2) 主にウェブアプリ向け
- 開発者が開発者マイページからアプリケーション登録をする。
- 利用者に、ログインした状態で、アプリ連携ページ(https://askmona.org/auth/?app_id=[アプリケーションID])にアクセスしてもらう。
- 利用者に対して、認証コード(JSON形式で{"u_id":***,"secretkey":"***"}という形をとる)が表示される。
- 利用者がAsk Monaから認証先URLのページに移動し、アプリケーションに認証コードを入力する。
- 開発者が認証コードから、利用者のユーザーIDと認証キーの作成に使うシークレットキーを取得する。
- シークレットキー検証APIで検証を行い、APIを利用。
要認証API 利用チャート(3) 主にウェブアプリ向け(ワンクリック認証)
- 開発者が開発者マイページから、認証コード入力先URLを指定してアプリケーション登録をする。
- 利用者に、ログインした状態で、アプリ連携ページ(https://askmona.org/auth/?app_id=[アプリケーションID])にアクセスしてもらう。
- 利用者に対して、認証コード(JSON形式で{"u_id":***,"secretkey":"***"}という形をとる)が表示される。
- 利用者がAsk Monaから認証コード入力先URLのページに移動する。
- この際、URLパラメータ"code"に認証コードが含まれているので、開発者が認証コードから、利用者のユーザーIDと認証キーの作成に使うシークレットキーを取得する。
- シークレットキー検証APIで検証を行い、APIを利用。
現在、1つのアカウントで作成できるアプリケーションは、1つまでとなっています。複数アプリケーションを作成される方は、新たにアカウントを取得してください。
シークレットキーの長さは、現在45字となっています。シークレットキーは、各アプリケーション・各ユーザーごとに異なっています。
APIエンドポイント
トピック取得API
このAPIを使うと、トピックの一覧を取得することができます。
GET https://askmona.org/v1/topics/list
パラメータ | 説明 |
cat_id (optional) | トピックのカテゴリID。0を指定した場合は無視されます。 |
tag (optional) | トピックにつけられたタグ。 |
safe (default = 0) | セーフモード。1は有効、0は無効を意味します。セーフモードを有効にしたときはR18カテゴリのトピックは返されません。 |
order (default = 'updated') | 並べ替える条件。'updated'は更新順、'created'は作成順、'favorites'はお気に入り順、'receive'はやり取りされたMONA順で並べ替えられます。 |
limit (default = 25) | 取得するトピックの個数。最大値は1000です。 |
offset (default = 0) | 取得するトピックのオフセット(取得開始位置)。最大値は9000です。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
count (integer) | 検索条件に一致するトピックの総数。タグやカテゴリを条件とした場合は、1000件を超えるトピックがあっても1000が返されます。 |
topics (list) | トピックオブジェクトのリスト。 |
トピックオブジェクトについて
レスポンス | 説明 |
rank (integer) | トピックの順位。トピックオブジェクトをリスト形式で取得したときのみ返されます。 |
t_id (integer) | トピックID。 |
u_id (integer) | トピックを立てた人のユーザーID。 |
state (integer) | トピックの状態。ビットフラグで返されます。 |
title (string) | トピックのタイトル。 |
cat_id (integer) | トピックのカテゴリID。 |
category (string) | トピックのカテゴリ。 |
tags (string; nullable) | トピックにつけられたタグ。 |
lead (string) | トピック本文のリード。 |
ps (string; nullable) | トピックに対する補足事項。 |
created (integer) | 作成された時刻(UNIX時刻)。 |
updated (integer) | 最後にトピックが浮上した時刻(UNIX時刻)。 |
modified (integer) | 更新された時刻(UNIX時刻)。 |
count (integer) | レスの数。 |
receive (string) | やり取りされたMONA(watanabe単位 1MONAは100,000,000watanabeです)。 |
favorites (integer) | お気に入り登録者数。 |
editable (integer) | 第三者によるトピックの編集が可能かどうか。1は可能。0は禁止を意味します。 |
sh_host (integer) | 投稿した人のホスト情報を表示するかどうか。0は非表示。1はID表示。2はID+プロバイダ名表示を意味します。 |
| |
added (integer) | お気に入りに追加された時刻(UNIX時刻)。お気に入り取得API固有のプロパティです。 |
トピックの状態について
値 | 状態 |
1 | トピックの表示が可能 |
2 | 各レスに対する送金が可能 |
4 | トピックの編集が可能 |
8 | トピックに書き込みが可能(1000レスに達したトピックには、このフラグが真でも書き込めません) |
16 | 予備 |
32 | 予備 |
64 | 予備 |
128 | 予備 |
カテゴリIDについて
cat_id | カテゴリ |
0 | その他 |
1 | ばらまき |
2 | 初心者 |
3 | ニュース |
4 | 議論・討論 |
5 | 趣味・生活 |
6 | 創作・文化 |
7 | ネタ・雑談 |
8 | 経済・社会 |
9 | 科学・IT |
10 | 採掘 |
11 | R18 |
レス取得API
このAPIを使うと、特定のトピックのレスを取得することができます。
GET https://askmona.org/v1/responses/list
パラメータ | 説明 |
t_id (required) | トピックID。 |
from (default = 1) | 取得するレス番号の開始位置。最小値は1です。 |
to (default = from) | 取得するレス番号の終了位置。最大値は1000です。指定しなかった場合は、fromで指定した1つのレスのみを返します。 |
topic_detail (default = 0) | トピック情報を取得すかどうか。0を指定した場合取得しません。1を指定した場合、トピック情報を取得します。 |
if_updated_since (default = 0) | 非推奨 |
if_modified_since (default = 0) | 前回の問い合わせ時の更新時刻(UNIX時刻)を指定してください。更新がなければ、statusに2を返して、内容は返しません。負荷低減にご協力をお願いします。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗、2は更新なしを意味します。 |
error (string) | エラーの場合の追加情報。 |
updated (integer) | 非推奨:最後にトピックが浮上した時刻(UNIX時刻)。 |
modified (integer) | 更新された時刻(UNIX時刻)。 |
topic (object) | トピックオブジェクト。topic_detailに1を指定した場合のみ返却されます。 |
responses (list) | レスポンスオブジェクトのリスト。 |
レスポンスオブジェクトについて
レスポンス | 説明 |
r_id (integer) | レス番号。 |
state (integer) | レスの状態。ビットフラグで返されます。 |
created (integer) | 投稿された時刻(UNIX時刻)。 |
u_id (integer) | 投稿した人のユーザーID。 |
u_name (string) | 投稿した人の名前。 |
u_dan (string) | 投稿した人の段位。 |
u_times (string) | 投稿した人の投稿回数について情報。たとえば、5回中3回目の投稿の場合、文字列「3/5」で返されます。 |
receive (string) | やり取りされたMONA(watanabe単位 1MONAは100,000,000watanabeです)。 |
res_lv (integer) | やり取りされたMONAをレベル分けしたもの。現状、レベルは0から7までの整数値です。 |
rec_count (integer) | そのレスにMONAを送った人の数。 |
host (string; nullable) | 投稿した人のホスト情報。 |
response (string) | レス本文。 |
レスの状態について
値 | 状態 |
1 | 表示が可能 |
2 | 送金が可能 |
4 | 予備 |
8 | 予備 |
16 | 予備 |
32 | 予備 |
64 | 予備 |
128 | 予備 |
プロフィール取得API
このAPIを使うと、特定のユーザーのプロフィールを取得することができます。
GET https://askmona.org/v1/users/profile
パラメータ | 説明 |
u_id (required) | ユーザーID。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
u_name (string) | ユーザーの名前。 |
u_dan (string) | ユーザーの段位。 |
profile (string; nullable) | ユーザーのプロフィール。 |
新規トピックAPI
このAPIを使うと、新たにトピックを立てることができます。
POST https://askmona.org/v1/topics/new
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
title (required) | トピックのタイトル。文字数32字以内という制約があります。 |
text (required) | トピックの本文。文字数は1024字以内、改行は15行以内という制約があります。 |
cat_id (default = 0) | トピックのカテゴリID。 |
tags (optional) | トピックのタグ。1つのタグは12字以内、タグの総数は5つ以内という制約があります。 |
editable (default = 1) | 第三者によるトピックの編集が可能かどうか。1は可能。0は禁止を意味します。 |
sh_host (default = 0) | 投稿した人のホスト情報を表示するかどうか。0は非表示。1はID表示。2はID+プロバイダ名表示を意味します。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
トピック編集API
このAPIを使うと、トピックの編集をすることができます。
POST https://askmona.org/v1/topics/edit
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
t_id (required) | 編集するトピックの、トピックID。 |
cat_id (optional) | トピックのカテゴリID。 |
tags (optional) | トピックのタグ。1つのタグは12字以内、タグの総数は5つ以内という制約があります。 |
| |
| 以下の項目は、トピックを立てた人だけが編集できます。 |
editable (optional) | 第三者によるトピックの編集が可能かどうか。1は可能。0は禁止を意味します。 |
sh_host (optional) | 投稿した人のホスト情報を表示するかどうか。0は非表示。1はID表示。2はID+プロバイダ名表示を意味します。 |
lead (optional) | トピック本文のリード。半角で128字以内である必要があります。 |
ps (optional) | トピックに対する補足事項。255字以内である必要があります。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
レス投稿API
このAPIを使うと、トピックに投稿することができます。
POST https://askmona.org/v1/responses/post
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
t_id (required) | 投稿するトピックの、トピックID。 |
text (required) | レス本文。文字数は1024字以内、改行は15行以内という制約があります。 |
sage (default = 0) | 1を指定した場合、sageが有効となります。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
マイプロフィールAPI
このAPIを使うと、自分のプロフィールを確認したり変更したりすることができます。
POST https://askmona.org/v1/users/myprofile
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
u_name (optional) | 新しい名前。最大で12文字です。 |
profile (optional) | 新しいプロフィール。最大で255文字です。プロフィールを削除したい場合は、空文字列を指定してください。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
u_name (string) | ユーザーの名前。 |
u_dan (string) | ユーザーの段位。 |
profile (string; nullable) | ユーザーのプロフィール。 |
state (integer) | ユーザーの権限。ビットフラグで返されます。 |
class (integer) | ユーザーの属性。ビットフラグで返されます。 |
ユーザーの権限について
値 | 権限 |
1 | ログイン |
2 | 送金 |
4 | タグ編集 |
8 | 書き込み |
16 | トピック作成 |
32 | 出金 |
64 | お気に入り編集・公開プロフィール編集 |
128 | age(権限がないと強制sageになります) |
ユーザーの属性について
値 | 属性 |
1 | 開発者(API利用可能) |
2 | 予備 |
4 | 本人確認済✔ |
8 | 税務情報確認済 |
16 | 予備 |
32 | 管理者*(レス・タグ管理) |
64 | 上級管理者⁑(トピック・ユーザー管理) |
128 | 最高管理者⁂(SQL発行) |
お気に入り取得API
このAPIを使うと、お気に入りに登録したトピックの一覧を取得すことができます。
POST https://askmona.org/v1/favorites/list
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
order (default = 'added') | 並べ替える条件。'added'はお気に入りに追加された時刻順、'updated'はトピックが更新された順で並べ替えられます。 |
limit (default = 200) | 取得するお気に入りの個数。最大値は200です。 |
offset (default = 0) | 取得するお気に入りのオフセット(取得開始位置)。最大値は200です。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
topics (list) | トピックオブジェクトのリスト。 |
お気に入り追加API
このAPIを使うと、トピックをお気に入りに追加することができます。
POST https://askmona.org/v1/favorites/add
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
t_id (required) | お気に入りに追加するトピックの、トピックID。現在のところ、お気に入りの数が100以上の場合、それ以上追加できない仕様になっています。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
お気に入り削除API
このAPIを使うと、トピックをお気に入りから削除することができます。
POST https://askmona.org/v1/favorites/delete
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
t_id (required) | お気に入りから削除するトピックの、トピックID。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
MONA入金アドレス取得API
このAPIを使うと、Ask MonaにMONAを入金する際のMonacoinアドレスを取得することができます。
POST https://askmona.org/v1/account/deposit
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
d_address (string) | Ask MonaにMONAを入金する際のMonacoinアドレス。このアドレスにMONAを送っていただくと、入金ができます。 |
MONA出金依頼API
このAPIを使うと、MONAの出金手続を行うことができます。
POST https://askmona.org/v1/account/withdraw
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
amount (required) | 出金したいMONAの額。watanabe単位で指定してください(1MONAは100,000,000watanabeで、amountは整数値をとります)。たとえば、12MONAを出金したい場合は、amount='1200000000'となります。指定した額から手数料(0.001MONA)を差し引いた額が、登録したアドレスに送付されます。なお、仕様により、一度に100万MONA以上の額は出金できません。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
balance (string) | 出金後のMONA残高(watanabe単位 1MONAは100,000,000watanabeです)。 |
MONA送金API
このAPIを使うと、特定のレス、または特定のユーザーにMONAを送金することができます。
POST https://askmona.org/v1/account/send
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
signature (optional) | 送金リクエストに対する署名。現在のところ署名がなくても送金できます。 |
| |
to_u_id (optional; either 'to_u_id' or 't_id' is required) | 送金したい相手のユーザーID。送金したいレスを指定しない場合、必須項目となります。また、送金したいレスを指定した場合、このパラメータは無視されます。 |
t_id (optional; either 'to_u_id' or 't_id' is required) | 送金したいレスの、トピックID。送金したいユーザーを指定しない場合、必須項目となります。 |
r_id (optional unless 't_id' is set) | 送金したいレスの、レス番号。t_idを指定した場合、必須項目となります。 |
amount (required) | 送金したいMONAの額。watanabe単位で指定してください(1MONAは100,000,000watanabeで、amountは整数値をとります)。たとえば、12MONAを送りたい場合は、amount='1200000000'となります。また、仕様により、一度に100万MONA以上の額は送れません。 |
anonymous (default = 1) | 匿名で送金するかどうか。0を指定した場合、ユーザーIDとユーザー名を送金相手に知らせることができます。1を指定した場合、匿名で送金します。 |
msg_text (optional) | メッセージ。anonymousに0を指定したとき、送金相手にメッセージを送ることができます。メッセージは255字以内である必要があります。 |
sage (default = 0) | 1を指定した場合、sageが有効となります。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
balance (string) | 送金後のMONA残高(watanabe単位 1MONAは100,000,000watanabeです)。 |
送金リクエストに対する署名の作成方法
現在のところ署名がなくても送金できますが、リクエストに署名したい方は、以下の署名を利用できます。
<?php //phpのサンプルコード
$mac_key = $app_secretkey.$secretkey;
$base_string = isset($t_id) ?
//レスを指定して送る場合
'{"t_id":"'.$t_id.'","r_id":"'.$r_id.'","amount":"'.$amount.'"}':
//ユーザーIDを指定して送る場合
'{"to_u_id":"'.$to_u_id.'","amount":"'.$amount.'"}';
//$signatureが署名です。
$signature = base64_encode(hash_hmac('sha256',$base_string.$nonce.$time,$mac_key,TRUE));
残高取得API
このAPIを使うと、ユーザーの残高に関する情報を取得することができます。
POST https://askmona.org/v1/account/balance
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
detail (default = 0) | 個別の勘定を取得するかどうか。0を指定した場合取得しません。1を指定した場合、個別の勘定を取得します。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
balance (string) | 現在のMONA残高(watanabe単位 1MONAは100,000,000watanabeです)。 |
accounts (object) | 個別勘定オブジェクト。detailに1を指定した場合のみ返却されます。 |
個別勘定オブジェクトについて
レスポンス | 説明 |
deposit (string) | 入金済みのMONA(watanabe単位 1MONAは100,000,000watanabeです)。 |
send (string) | ばらまいたMONA(watanabe単位)。 |
receive (string) | 受け取ったMONA(watanabe単位)。 |
withdraw (string) | 出金済みのMONA(watanabe単位)。 |
gift (string) | 運営から受け取ったMONA(watanabe単位)。 |
reserved (string) | 一時預かり中のMONA(watanabe単位)。 |
balance (string) | 現在のMONA残高(watanabe単位)。なお、balance = deposit - send + receive - withdraw + gift - reservedが成立します。 |
取引明細取得API
このAPIを使うと、ユーザーの個別の取引についての情報を取得することができます。
POST https://askmona.org/v1/account/txdetail
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
| |
item (default = 'receive') | 勘定科目。'deposit'は入金、'withdraw'は出金、'receive'は受け取り、'send'はばらまきを意味します。 |
limit (default = 200) | 取得する取引明細の数。最大値は200です。 |
offset (default = 0) | 取得する取引明細のオフセット(取得開始位置)。最大値は800です。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
transactions (list) | 取引明細オブジェクトのリスト。 |
取引明細オブジェクトについて
レスポンス | 説明 |
created (integer) | 取引が処理された時刻(UNIX時刻)。 |
item (string) | 取引の勘定科目。 |
amount (string) | 取引されたMONA(watanabe単位)。 |
t_id (integer; nullable) | 取引の原因となったトピックID。レスに対して送金が行われたときのみ返します。 |
r_id (integer; nullable) | 取引の原因となったレス番号。レスに対して送金が行われたときのみ返します。 |
anonymous (integer; nullable) | 匿名送金かどうか。1は匿名送金、0は通知送金を意味します。勘定科目が'receive'、または'send'のときのみ返されます。 |
user (object; nullable) | 取引の相手方のユーザーオブジェクト。勘定科目が'receive'で匿名送金でないとき、または勘定科目が'send'のときのみ返されます。 |
msg_text (string; nullable) | メッセージ。 |
ユーザーオブジェクトについて
レスポンス | 説明 |
u_id (integer) | ユーザーID。 |
u_name (string) | 名前。 |
u_dan (string) | 段位。 |
シークレットキー検証API
このAPIを使うと、認証キーの作成に使うシークレットキーが有効か判断できます。有効かどうかは、すべての要認証APIのエラー情報から確かめられますので、通常は他のAPIを使用して検証してください。なお、有効でない場合は、要認証API利用チャートの手順2からやり直してください。
POST https://askmona.org/v1/auth/verify
パラメータ | 説明 |
app_id (required) | アプリケーションID(開発者のユーザーID)。 |
u_id (required) | 利用者のユーザーID。 |
nonce (required) | ランダムな文字列。リクエストごとに変更してください。 |
time (required) | nonceが生成された時刻(UNIX時刻)。 |
auth_key (required) | 認証キー。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。利用者がアプリ連携していない、または連携を取り消したため、認証キーの作成に使うシークレットキーが無効の場合、'Secret key unavailable'を返します。アプリ連携はしているが、認証キーが一致しない場合は、'Invalid auth_key'を返します。これらの表示は、すべての要認証APIにおいて共通です。 |
認証キーの作成方法
開発者シークレットキー、nonce、time、認証キーの作成に使うシークレットキーの順に連結した文字列をSHA-256でハッシュ化し、そのバイナリデータをBase64でエンコードしたものが認証キーです。
<?php //phpのサンプルコード
$app_secretkey = 'API利用登録の際に発行された、開発者シークレットキー';
$secretkey = '認証キーの作成に使うシークレットキー';
$nonce = base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_URANDOM));
$time = time();
//$auth_keyが認証キーです。
$auth_key = base64_encode(hash('sha256',$app_secretkey.$nonce.$time.$secretkey,TRUE));
Ask Mona登録API
このAPIを使うと、新しくAsk Monaにアカウントを作成することができます。また、自動的にアプリケーション連携を行い、認証キーの作成に使うシークレットキーを取得することができます。
POST https://askmona.org/v1/auth/signup
パラメータ | 説明 |
app_id (required) | 開発者のユーザーID。 |
app_secretkey (required) | API利用登録の際に発行された、開発者シークレットキー。 |
u_address (required) | 利用者が登録に使うMonacoinアドレス。 |
u_name (optional) | 利用者の名前。最大で12文字です。指定しない場合は「名無し」となります。 |
pass (required) | 利用者が登録に使うパスワード。6字以上で指定してください。 |
agree (default = 0) | Ask Mona利用規約に同意するかどうか。同意する場合、1を指定して下さい。同意しない場合は登録できません。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
u_id (integer) | 利用者のユーザーID。 |
secretkey (string) | 認証キーの作成に使うシークレットキー。 |
シークレットキー取得API
このAPIを使うと、自動的にアプリケーション連携を行い、認証キーの作成に使うシークレットキーを取得することができます。
POST https://askmona.org/v1/auth/secretkey
パラメータ | 説明 |
app_id (required) | 開発者のユーザーID。 |
app_secretkey (required) | API利用登録の際に発行された、開発者シークレットキー。 |
u_address (required) | 利用者のMonacoinアドレス。 |
pass (required) | 利用者のパスワード。 |
レスポンス | 説明 |
status (integer) | 結果。1は成功、0は失敗を意味します。 |
error (string) | エラーの場合の追加情報。 |
u_id (integer) | 利用者のユーザーID。 |
secretkey (string) | 認証キーの作成に使うシークレットキー。 |