Skip to content

クラウド経費・クラウド債務支払の API ドキュメントを公開するリポジトリ

Notifications You must be signed in to change notification settings

moneyforward/expense-api-doc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 

Repository files navigation

マネーフォワード クラウド経費・債務支払APIドキュメント

概要

本ドキュメントはマネーフォワード クラウド経費のAPI / マネーフォワード クラウド債務支払のAPIについて説明しております。 各APIのリファレンスはこちらをご覧ください。

ご要望や不具合はメールにてご連絡ください。

詳しいお問い合わせ方法についてはサポートサイト(クラウド経費 / クラウド債務支払)をご覧ください。

※ チャットサポートでは対応できかねますので、メールでお問い合わせいただくようお願いいたします。

※ 回答にはお時間いただきますので、あらかじめご了承ください。

アクセストークンの発行の流れ

API実行用に用いるアクセストークンの発行はOAuth2.0のAuthorization Code Grantにもとづいて行います。

1. アプリケーションの登録

  • ご利用になるプロダクト(マネーフォワード クラウド経費 または マネーフォワード クラウド債務支払) にログイン
  • 個人設定>基本設定画面のAPI連携(開発者向け)にあるAPI連携はこちらをクリック
  • アプリケーションの作成ボタンをクリックし、フォームに必要な情報を入力し、利用規約に同意する、にチェックを入れて作成ボタンをクリックします
  • Client IDとClient Secretが発行されます。redirect_uri は https のみ許可しています。

※ クラウド経費、クラウド債務支払の両方をご利用になる場合は、それぞれでアプリケーションの登録をお願いします。クラウド経費の画面で発行したClient IDとClient Secret、またアクセストークンを債務支払のAPI実行に用いること、またその逆での動作は保証しかねます。

2. ブラウザ上で認可を行い認可コードの発行

  • 前項で発行した Client ID とアプリケーション作成時に入力した値を使い、下記のようなURLにアクセスします。

※ アクセストークンを発行したいユーザーでログインした状態でアクセスしてください。

https://expense.moneyforward.com/oauth/authorize?client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URL]&response_type=code&scope=[SCOPE]
  • ※ 債務支払の場合はドメインを payable.moneyforward.com に読み替えて、以下のURLにアクセスしてください。
https://payable.moneyforward.com/oauth/authorize?client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URL]&response_type=code&scope=[SCOPE]

登録したアプリケーション詳細の以下の「認証」ボタンを押すことでもアクセスできます。

callback_url

URL にアクセスすると以下のような画面に遷移します。記載内容を確認し、承認して問題なければ承認ボタンを押してください。

confirmation

※ 承認ボタンを押した Money Forward ID ユーザーの権限でアクセストークンが発行されます。

3. 認可コードからアクセストークンの発行

  • アプリケーションを承認すると OAuth2 のフローに基づき認可コードつきURLが発行されるので、そのコードを使って以下のようなリクエストをサーバーに発行し、アクセストークン、リフレッシュトークンを取得します。入力に使う[REDIRECT_URL]はアプリケーションの作成時に入力した値を入れてください
  • 認可コードの有効期限は10分です。
curl -d client_id=[CLIENT_ID] -d client_secret=[CLIENT_SECRET] -d redirect_uri=[REDIRECT_URL] -d grant_type=authorization_code -d code=[認可コード] -X POST https://expense.moneyforward.com/oauth/token

※ リクエストを送る際にパラメータは'Content-Type: application/x-www-form-urlencoded'である必要がある点に注意してください。

  • ※ 債務支払の場合はドメインを payable.moneyforward.com に読み替えて、以下のURLにアクセスしてください。
curl -d client_id=[CLIENT_ID] -d client_secret=[CLIENT_SECRET] -d redirect_uri=[REDIRECT_URL] -d grant_type=authorization_code -d code=[認可コード] -X POST https://payable.moneyforward.com/oauth/token

4. APIリクエスト

  • 前項で発行したアクセストークンをAuthorizationヘッダにセットして以下のようなリクエストをサーバーに発行することでAPIを利用できます。
curl https://expense.moneyforward.com/api/external/v1/offices -H "Authorization: Bearer [ACCESS_TOKEN]"

上の例は事業者一覧を取得するAPIをリクエストしています。

  • ※ 債務支払の場合はドメインを payable.moneyforward.com に読み替えて、以下のURLにアクセスしてください。
curl https://payable.moneyforward.com/api/external/v1/offices -H "Authorization: Bearer [ACCESS_TOKEN]"

アクセストークン / リフレッシュトークンに関する操作

リフレッシュトークンを用いたアクセストークンの再発行

  • 前項で取得したリフレッシュトークンを利用して、以下のようなリクエストをサーバーに発行します。
curl -d client_id=[CLIENT_ID] -d client_secret=[CLIENT_SECRET] -d grant_type=refresh_token -d refresh_token=[REFRESH_TOKEN] -X POST https://expense.moneyforward.com/oauth/token

上記により、新しいアクセストークンとリフレッシュトークンを取得できます。

  • ※ 債務支払の場合はドメインを payable.moneyforward.com に読み替えて、以下のURLにアクセスしてください。
curl -d client_id=[CLIENT_ID] -d client_secret=[CLIENT_SECRET] -d grant_type=refresh_token -d refresh_token=[REFRESH_TOKEN] -X POST https://payable.moneyforward.com/oauth/token

アクセストークンの無効化

  • 前項で取得したアクセストークンには有効期限が付いています。即時に無効化したい場合は以下のようなリクエストをサーバーに発行して、アクセストークンを無効化します。
curl -d client_id=[CLIENT_ID] -d client_secret=[CLIENT_SECRET] -d token=[アクセストークン] -X POST https://expense.moneyforward.com/oauth/revoke
  • ※ 債務支払の場合はドメインを payable.moneyforward.com に読み替えて、以下のURLにアクセスしてください。
curl -d client_id=[CLIENT_ID] -d client_secret=[CLIENT_SECRET] -d token=[アクセストークン] -X POST https://payable.moneyforward.com/oauth/revoke

アクセストークンの有効期限の確認

  • 前項で取得したアクセストークンが有効かどうか、あるいは有効な場合の有効期限を確認するには、以下のようなリクエストをサーバーに発行します。
curl https://expense.moneyforward.com/oauth/token/info -H "Authorization: Bearer [アクセストークン]"
  • ※ 債務支払の場合はドメインを payable.moneyforward.com に読み替えて、以下のURLにアクセスしてください。
curl https://payable.moneyforward.com/oauth/token/info -H "Authorization: Bearer [アクセストークン]"

アクセストークンが有効な場合、サーバーは以下のような JSON レスポンスを返します。

{"resource_owner_id":"12345","scope":["office_setting:write","user_setting:write","transaction:write","report:write","account:write","public_resource:read"],"expires_in":2775961,"application":{"uid":"[CLIENT_ID]"},"created_at":1648021265}

ここで "expires_in": 2775961 が有効期限 (単位は秒) を表し、トークンが無効になるまで残り 2,775,961 秒 (およそ 32 日) であることを表しています。

アクセストークンが無効な場合、サーバーは以下のような JSON レスポンスを返します。

{"error":"invalid_token","error_description":"アクセストークンが無効です","state":"unauthorized"}

APIリファレンス

マネーフォワードクラウド経費のAPIについてはこちら

マネーフォワードクラウド債務支払のAPIについてはこちら

About

クラウド経費・クラウド債務支払の API ドキュメントを公開するリポジトリ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published