営業日の日数を返すだけのAPIを公開しました

月ごとの営業日の日数を返すだけのAPIを公開しました!

事前登録や利用料金は不要なので、お気軽にkintoneやお使いのシステムに組み込んでみてください。


作成の背景

kintoneで月ごとの対応件数を記録するアプリがあり、営業日数を入力する必要があったのですが、毎月調べて入力するのが億劫だったので、自動化できないか検討していました。

JavaScriptを使ったカスタマイズで計算して、営業日数を出すことも考えましたが、別のアプリやシステムでも利用できるように、APIとして公開することにしました。

仕組み

予め月ごとの祝日数や営業日を計算しておき、JSONファイルとしてサーバー上に保存しています。

URLにアクセスされたときに、サーバー上で、上記のJSONファイルから必要な情報だけに成形して返す仕組みになっています。

詳しい仕様は、ドキュメントを参照してください。

想定される使用例

僕のように、毎月、先月分の対応件数を記録するようなkintoneアプリを使っている場合、次のようなJavaScriptファイルを用意することで、自動で営業日数を入力してくれるので、調べたり入力したりする手間を省くことができます。

kintone.events.on(['app.record.create.show'], (e) => {
  const date = new Date()
  
  e.record.年.value = date.getMonth() < 1 ? date.getFullYear() - 1 : date.getFullYear();
  e.record.月.value = date.getMonth() < 1 ? 12 : date.getMonth();
  e.record.営業日数.disabled = true;

  return e;
});

kintone.events.on(['app.record.edit.show'], (e) => {
  e.record.営業日.disabled = true;

  return e;
});

kintone.events.on(['app.record.create.change.年', 'app.record.create.change.月', 'app.record.edit.change.年', 'app.record.edit.change.月'], (e) => {

  let query = '?c=work&';

  if (e.record.年.value) {
    query = query + "y=" + e.record.年.value +"&";
  }
  if (e.record.月.value) {
    query = query + "m=" + e.record.月.value;
  }

  kintone.proxy('https://app.udcxx.me/api/workday/' + query, 'GET', {}, {}, (day) => {
    let data = kintone.app.record.get();
    data.record.営業日.value = day;
    kintone.app.record.set(data);
  });
  
});

アプリの前提条件

  • 年を入力する数値フィールドは、フィールドコードを「年」にします。

  • 月を入力する数値フィールドは、フィールドコードを「月」にします。

  • 営業日数を入力する数値フィールドは、フィールドコードを「営業日」にします。

udcstoreの紹介

こんな僕が運営している udcstore では、すぐに業務に使えるkintoneアプリやカスタマイズを販売しています。

また、アイディアボックス にアアイディアを投稿することで、希望のkintoneアプリやカスタマイズが udcstore で販売されるかも知れません。
※制作・販売をお約束するものではありません...

もしよければ、udcstoreアイディアボックス も覗いてみていただけるとうれしいです。

この記事が気に入ったらサポートをしてみませんか?