クラウド会計ソフトのfreeeはAPI(Application Programming Interface)によって外部ソフトとの連携を進めています。

今まで会計ソフトの中でしか使えなかった機能が、

他のソフトにも応用できるということで業務効率化、プラットフォーム化が期待されます。

APIの機能を使ってリクエストをサーバ側に送る方法として、大きく分けて以下の2つがあります。

  1. GET・・・サーバから情報を取得するときに使用します。
  2. POST・・・サーバへ情報を登録する時に使用します。

※この他にもサーバ側の情報を置き換える「PUT」があります

今回は、スプレッドシート(GAS)⇒freee

といった形でサーバへデータを登録(POST)することを試してみました。

APIは双方向の通信が可能ということをイメージしてもらえればと思います。

 

環境構築

まずは、freeeのAPIを利用できる環境構築から。

流れとしては

スプレッドシート・スクリプトエディタの作成

freeeのアプリの新規追加

GASとfreeeのアプリの連携

となります。

詳しくはこちらのブログで書きました。

freee API利用によるスプレッドシートとの連携を試して感じた効率化の今後

 

POSTを実行するプログラムを書く

今回はお試しということで、簡単なPOSTのプログラムを書いてみました。

既存の事業所に、スプレッドシート側から口座を指定してfreeeに直接登録するというものです。

POSTリクエストのサンプルコードはこちらのページにあります。

引用:【freee API】GASを用いてGoogleスプレッドシートと連携する – freee ヘルプセンター

 

ENDPOINT(リクエストURL)の設定

まずはENDPOINT(リクエストURL)の設定から行います。

URLの最後に、登録したい事業所番号を追加します。

リクエストURLの最後の部分(事業所番号設定の前)はfreeeのリファレンスで確認ができます。

(今回は口座の作成POSTなので「walletables」)

なお事業所番号はfreeeを見ただけではわからないので、

freeeから取得する必要があります。

事業所番号は、サーバからデータを取得する方法(GET)で知ることができます。

(以下の例は「事業所一覧取得」というシートを作ってそちらに情報を転記させています)

事業所番号取得プログラム//freeeから事業所番号を取得する
function getCompanyId() {
var freeeApp = getService();
var token = freeeApp.getAccessToken();
var options =
{
“method” : “get”,
“headers” : {“Authorization” : “Bearer “+ token}};
var res = UrlFetchApp.fetch(“https://api.freee.co.jp/api/1/companies”,options);
Logger.log(res)//レスポンスのデータを配列に格納
var data = JSON.parse(res).companies;arr = [];for(var i = 0; i < data.length; i++) {var id = data[i].id;
var display_name = data[i].display_name;arr.push([id,display_name]);
}//シートに書き出す
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(‘事業所一覧取得’);
var row = arr.length;
var col = arr[0].length;
sheet.getRange(2, 1, row, col).setValues(arr);

REQUEST_BODY(登録するデータ)の設定

次に、freeeに登録(POST)するデータを設定します。

登録できるデータはリファレンスに一覧がありますので、そちらを参照します。

今回、口座ID、name(口座名)、type(口座区分)を登録してみました。

登録するデータ(パラメータ)は、次のように入力します。

このように

  1. リクエストURLを設定
  2. 登録(POST)するデータ(パラメータ)を設定

して実行すれば、

freeeへ直接データが送られます。

 

↓下記動画は、スプリクトを実行し、ログ表示で正常に登録されたかを確認した上で、

freeeに即新規口座(ひとり税理士共同預金)ができたのを確認しています。

 

 

まとめ

freee APIは、データを取得するだけでなく登録(POST)もできるということを、口座登録の例で紹介しました。

今回は簡単な例で実務には使えませんが、

もっと応用させれば明細、取引、振替伝票の登録など効率化できそうです。

引き続きAPIは試していきます。

« »