初めてのfreeeの会計API!公式サイトを見て挫折しかけている人へ
freeeに関わっていると「API」という単語をよく聞きます。
そしてその「API」が便利そうという雰囲気をすごく醸し出すのです。
そして調べてみると、
- freeeが公開しているdeveloperのページを読んでも”エンドポイント“、”データフォーマット“、”レスポンスヘッダー“などの馴染みのないカタカナが書いてあって理解に苦しむ
- freee API スタートガイド(https://developer.freee.co.jp/getting-started)の通りやってみた結果、できた!けど結局何の役に立つのかわからない
という方も多いと思います。
しかし挫折するにはまだ早いですし、もったいないです!
そんな方々の道しるべになるべく、APIとは何かということからどのような活用法があるのかなど詳しく解説していきます。
1. freeeの会計APIとは
APIとは
「freeeの会計API」とはなにか、の前にそもそも「API」とは何かを知る必要があります。
freeeを利用していれば金融機関とのAPI連携等を活用したことがあるのではないでしょうか?
APIとは『Application Programming Interface』の略で、要約すると
アプリケーションをプログラミングするための部品
といった感じです。
実際の物で例えると”ケーブル”が近いと思います。
ケーブル単体ではあまり意味を成しませんが、電源とPCをつなぐことでPCが充電されます。
はたまたPCとディスプレイをつなぐことでディスプレイに映像を映すことができます。
APIも同じように、性質の違う何かと何かをつなぎ効果を得るための部品の総称です。
freeeの会計APIとは
では「freeeの会計API」とはなにか、名前の通りfreee会計と”何か”をつなぐための部品です。
Excelに組み込めば、Excel上でfreee会計が使用できますし、Windows Terminalで実行すればWindows Terminal上でfreee会計が使用できます。
実際やろうと思えば割と何にでも組み込めるので実現可能な範囲の母数が大きくなり、実態が掴みにくいというのはあると思います。
まずはfreeeが用意しているサンプルのスプレッドシートから始めていくと理解しやすいのではないでしょうか?(サンプルのスプレッドシートについては記載されているページのリンクを最後に載せています。)
この記事でもスプレッドシートとの連携を中心に書いていきたいと思います。
2. どのようなことができるのか
freeeの会計APIを使ったらなにができるか
freeeの会計APIで可能なことは、2021年3月10日現在27種類のデータに対して操作が可能です。
ここでいうデータとは「勘定科目」や「事業書」などfreeeで管理しているデータを指します。
可能な操作は以下の4種類です。
- GET(取得)
- POST(追加)
- PUT(更新)
- DELETE(削除)
この操作を「メソッド」とも言いますが、この説明をすると話が難しくなってしまうのでここでは割愛します。
27種類全てのデータに対してそれぞれ4種類の操作ができるわけではありません。
「勘定科目」はGET、POST、PUT、DELETEの4種類全ての操作が可能ですが、「税区分」に対してはGETの操作のみです。
freeeのリファレンスを見ながらどのデータにどの操作が可能か調べてから、やりたいことが実現可能か見極める必要があります。
初めはとりあえずやってみて感覚を掴んでいってください。
見極めの参考にここからは各操作でどのようなことが可能か一部の例を記述します。
「GET」は何ができてどのようなことができるか
まずは操作の基本になる「GET」からご説明します。
直訳した意味の通りデータを”取得”する際に使用する操作になります。
一番使用する操作になると思います。
データ取得するだけなのでfreeeのデータを傷つけることがなく、一番事故に繋がりにくいです。
APIの練習にもってこいです。
扱う際の注意点は、データの構造体を理解していないとエラーの原因となったり、取得したデータが崩れていることがあるので注意が必要です。
その点はまたの機会に書けたらいいなと思います。
事例:
「GET」は「試算表」の取得で活用できると思います。
損益計算書や貸借対照表を取得し、好きな形や見たい項目のみで作表すればfreeeにはない表で確認可能です。
「POST」、「PUT」は何ができてどのようなことができるか
扱えるようになれば様々な場面で活用できる「POST」と「PUT」です。
「POST」は新規のデータを”追加“し、「PUT」は既存のデータを”更新“します。
一括操作をしたい場合などに活用できると思います。
「POST」も「GET」同様に手軽に扱える操作だと思います。
追加するための形式に合わせて実行するだけで、freee側に仕訳が作成されます。
しかし手軽に実行できる反面注意も必要で、2回同じ条件で「POST」するとfreeeには2行仕訳が作成されます。
最初は1行や2行を確認しながら作成していき、コツを掴んだら複数行を一括でPOSTするような仕組を作成することをおすすめします。
「PUT」は「POST」よりも難易度は高いです。利用には前提知識が必要になります。
「PUT」が可能なデータには”〇〇ID”といった項目をもっています。
おそらくfreeeを利用するうえでは意識する必要のない項目ですが、「PUT」を実行する時には必ず指定しなければいけません。
その性質からまず「GET」で更新対象のIDを取得し、それをもとに「PUT」を実行するといった流れになると思います。
正直不慣れなうちはあまり利用をおすすめしません。
指定したIDを間違えた場合その更新したデータを探すことが難しくなる可能性があるからです。
既存のデータの更新はリスクがいっぱいです。
試すとしても「品目」や「部門」のような簡単なデータから慣れていくとスムーズに覚えていくと思います。
事例:
記事の最後にリンクも載せていますが、freeeが出しているサンプルも取引の「POST」になります。
そちらを編集すれば自分の好きなレイアウトで取引の一括登録が可能になります。
またファイルインポートでは取込み項目を指定する必要がありますが、API連携は開発の段階でレイアウトを決めるので常にやりやすいレイアウトで取込みデータの作成が可能です。
そして上記を流用すれば「PUT」を行うことも可能になります。
「DELETE」は何ができてどのようなことができるか
最後に「DELETE」です。
読んで字のごとくデータの”削除“ですが、これに関しては正直利用をおすすめはしません。
「PUT」と同じように各データの”〇〇ID”を指定して削除しますが、指定を間違うと意図しないデータが消えてしまいます。
そしてその消えたデータを探すのは容易ではありません。
削除に関してはfreeeから手動で消すことをおすすめします。
3. 注意点
ファイルインポート、エクスポートとの違い
freeeの会計APIはファイルのインポートやエクスポートと違い、手動入力を自動化するための処理なのでAPIで操作した内容を一括で確認できる術は現状存在しません。
その点を考慮したうえで使い分けが必要になります。
失敗事例
- API連携する事業所を間違えて別の事業所へPOSTやPUT
大いにあり得るので注意が必要です。
常にどこの事務所で認証しているか確認できるようなレイアウトにすることが大切です。
- 2重POSTで大量のゴミデータが発生
「POST」の説明でも記述しましたが、一括操作の弊害で多重実行してしまい不要なデータを生み出すことがあります。
取込み済みのデータには連続実行できないような仕組みを組込むことで回避可能です。
- PUTやDELETEで対象のIDを正しく取得できずに意図しないデータを更新削除してしまう
こちらも「PUT」や「DELETE」でも記述しましたが”ID”の取得ミスは多いです。
スプレッドシートやExcelなら”ID”取得用のシートと実行用のシートの行数がちぐはぐになり、意図しないデータへ更新削除をしてしまうことは想像に難くありません。
4. こんなこともやっている
freeeは「freeeアプリアワード」というものを開催しております。
▼https://www.freee.co.jp/event/app-award-2020/
簡単に言えば開発したアプリを自慢する賞レースです。
苦労して作った仕組です、そして同じ悩みを持つ人は多いと思います。
せっかくなので公表して同じfreeeユーザーと共有しましょう。
5. まとめ
freeeの会計APIについて、この記事で書いた内容はごく一部です。
発想によってもっといろいろなことを実現できるパフォーマンスをもっています。
プログラム開発に関してはまずはやってみることが大切なので、下記参考サイトをもとにいろいろやってみてください。
まずは簡単なGETとPOSTでコツを掴むことをおすすめします。
やっぱり自分ではAPIをうまく活用できない!
専門家に相談しながら、進めたい!
とお考えの方は、一度弊社にお問合せください。
freeeを有効活用するためのサポートをさせていただきます。
6. 参考サイト
- freee API スタートガイド
▼https://developer.freee.co.jp/getting-started
まずはここからです、注意点など記述していますのでとりあえず一通り読み込みましょう。
- 会計APIリファレンス
▼https://developer.freee.co.jp/docs/accounting/reference
freeeの会計APIでできる全てのことが書いています。
開発の参考にしましょう。
- freeeヘルプセンター:【freee API】GASを用いてGoogleスプレッドシートと連携する
▼https://support.freee.co.jp/hc/ja/articles/115005287286
googleのスプレッドシートでAPI連携できるようにしたサンプルを配布しています。
どのような仕組みで何をしているか参考にしてみてください。