プログラミングなしでも手軽に業務アプリの開発が可能なkintoneではAPI連携機能により、外部サービスと連携して活用の幅を広げることで、さらに業務に役立てられます。今回は、kintone APIを用いてできることやAPI連携を活用したアプリ開発の具体例とポイントをご紹介します。
APIとは「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略称であり、異なるソフトウェアやサービスが共通のルールを通じて通信し、データや機能をやり取りできる仕組みを指します。例えば、webサイトに外部のマップサービスを組み込んだり、フォームに入力されたデータを他のシステムへ送信する際に活用されます。
kintoneのAPIも、他のアプリケーションとのデータ連携を可能にするものであり、詳細な設定を行うことで、リアルタイムでのデータ取得や通知の自動化が実現できます。APIを適切に利用することで、業務の運用がより効率化され、異なるシステム間でのスムーズなデータ交換が可能になります。APIの使用には一定の知識が必要ですが、kintoneには公式のドキュメントやチュートリアルが用意されており、開発者向けにわかりやすく解説されています。
さらに、APIの仕様を理解しておけば、システムの柔軟なカスタマイズが可能となり、自社の業務プロセスに適したアプリケーションの構築が実現します。kintoneのAPIは、cybozuが提供する他のクラウドサービスとも連携可能であり、より包括的な業務システムの構築に貢献します。また、APIを利用することで、ボタン一つで特定のアクションを実行したり、イベントが発生した際に環境に応じた自動処理を行うことができます。
たとえば、toolsを活用してAPIの実行を簡単に管理したり、API経由でのデータ更新を自動化することで、業務負担の軽減につながります。このように、APIは業務プロセスの最適化を促進し、さまざまな業種での活用が期待されています。
サイボウズが提供するクラウドサービスであるkintone(キントーン)には、API連携機能があります。その概要を確認しておきましょう。
kintoneには、標準機能だけでは実現できない高度な自動化や外部サービス連携を可能にする「kintone API」が備わっています。
API(Application Programming Interface)とは、アプリケーション同士が機能やデータを呼び出すための“接続口”であり、プログラムから操作することでGUIより高速かつ正確に処理を実行できます。
kintoneではレコードやアプリを操作できるREST API、画面表示を自在にカスタマイズできるJavaScript API、イベント発生時に外部へ通知するWebhookなど複数のAPIが用意されており、これらを組み合わせることで柔軟なシステム拡張が可能です。
たとえば、レコードが更新された瞬間にSlackへメンション付きでアラートを飛ばし対応漏れを防いだり、Google スプレッドシートや社内のMySQLデータベースと双方向同期してマスターデータの一貫性を保ったりと、業務フローを“リアルタイム”でつなげることができます。またPower BIやTableauに自動エクスポートすれば、ダッシュボードが常に最新情報にアップデートされ経営判断のスピードが向上します。こうしたAPI連携は手動のCSVインポート/エクスポートより速く、ヒューマンエラーを大幅に減らせる点が最大のメリットです。
実装時は「APIトークン」と呼ばれる認証文字列をヘッダーに付与して呼び出すため、ユーザーID・パスワードを保持せずに済み、セキュリティリスクを最小化できます。またトークンはアプリ単位・権限単位で発行できるため、最小限のアクセス権で運用できる点も安心材料です。
このようにkintone APIを活用すれば、①作業時間の短縮(自動化)、②データ品質の向上(リアルタイム同期)、③機能拡張の容易さ(高度カスタマイズ)の三拍子がそろい、部門や企業の成長スピードに合わせて業務システムをアップデートし続けることができます。
【関連リンク】kintone(キントーン)とは?特徴やメリットを解説!
kintoneのAPI連携は、主に次の種類があります。
・kintone REST API
kintone REST APIは、kintoneのデータを管理する単位であるレコードや、アプリ、スペースを操作できるAPIです。主にkintoneで管理しているデータを外部サービスと連携させたいときや、外部サービスからkintoneにデータを取り込みたいときに利用します。
例えば、外部サービスのデータベースからkintoneに必要なデータを登録することができます。データ登録を行うことで、kintone内のアプリでデータを業務に活用できるようになります。
・kintone JavaScript API
kintone JavaScript APIは、JavaScriptというプログラミング言語を用いて、主にkintoneの画面上の動作や見た目を変えることができるAPIです。JavaScriptが記述されたファイルをアプリにアップロードして適用すれば、動作します。
・Webhook
レコード追加や更新などのイベント発生時に、指定URLへJSONをPOSTしてくれるプッシュ型のAPIです。処理待ちポーリングが不要なため、Slack通知、LINE通知、AWS Lambda起動などリアルタイム連携を行いたいシナリオで活躍します。「登録→即時承認フロー→外部システムへ書き込み」というイベント駆動設計を実現するカギとなります。
・Bulk Request API
大量レコードを高速に処理するためのバッチAPIで、最大100件のRESTリクエストをまとめて送信できます。日次10万件規模のマスタ更新や数百レコード単位の一括削除など、通常REST APIのレートリミット(1分間100リクエスト)に収まらない場面で効果的です。
・Plug-in API/カスタムプラグイン
kintone JavaScript APIに加えて設定画面(プラグイン設定UI)を持つ拡張を配布できる仕組みです。複数アプリへ同じカスタマイズを横展開したい場合や、ノンプログラマーに使ってもらう社内アドオンを作る場合に便利です。GitHub上にも多くのオープンソース・プラグインが公開されているため、ゼロから実装するよりコストを抑えられます。
kintone APIを選定する際は、目的に合わせて使い分けることが大切です。外部システムとのデータの送受信が主な目的であれば、REST API、もしくは大量レコードを高速に処理できるBulk Request APIが適しています。画面の見た目や入力体験をカスタマイズしたい場合は、JavaScript APIや、複数アプリへ横展開できるPlug-in APIをご検討ください。レコード更新をトリガーにSlackへ即時通知するといったリアルタイム連携を実現したいときは、Webhookが最もスムーズです。実務では「Webhookで外部サーバーを起動し、そのサーバーからREST APIでレコードを更新し、最終的にJavaScript APIで画面にアニメーションを付ける」といった複合利用も珍しくありません。
なお、すべてのkintone APIにはAPIトークン・ベーシック認証・OAuthといった認証方式が用意されており、1分あたりのリクエスト上限などの制約も存在します。開発に着手する前に要件を整理し、最適なAPI種別と認証方式を選定したうえで、レートリミットやセキュリティポリシーを確認しておくことが、運用トラブルを未然に防ぐ最善策となります。
ところで、kintoneのAPI連携を利用する際に、知っておきたい言葉があります。それは「APIトークン」です。APIトークンとは、REST APIを利用して外部サービスと連携を行う際にAPIを実行するときに認証に使用する文字列を指します。kintoneではアプリごとに発行することができ、この文字列をAPIの実行時にリクエストを送るヘッダー部分に付与することで、認証がされ、実行が可能になります。
APIトークンがあるおかげで、ユーザーIDとパスワードを保存しておく必要がありません。またユーザーIDとパスワードといえば情報漏洩の心配がありますが、APIトークンを利用する際にはユーザーIDとパスワードは不要であるため、セキュリティ面でもメリットがあります。
kintoneのAPI連携を実際に動かすには、①APIトークンの発行、②HTTPリクエストの作成、③エラーハンドリングと運用設計の三つのステップを押さえるだけで十分です。以下では、初心者がつまずきやすいポイントも補足しながら説明します。
・APIトークンを生成する
最初に管理者権限でkintoneにログインし、対象アプリの「アプリ設定」→「APIトークン」を開きます。「新しいトークンを生成」をクリックし、レコードの追加・更新・削除など必要な権限だけにチェックを入れて保存してください。トークンが表示されたらコピーし、安全な場所(環境変数やシークレットマネージャーなど)に保管します。ここで権限を絞り込んでおくと、万が一トークンが漏えいしても被害を最小限に抑えられます。
・HTTPクライアントでリクエストを送る
次に、PostmanやcurlなどのHTTPクライアントを使ってkintone REST APIにアクセスします。ヘッダーに
X-Cybozu-API-Token: あなたのAPIトークン
を追加し、エンドポイント(例:https://〈サブドメイン〉.cybozu.com/k/v1/records.json?app=1)へリクエストを送信します。GETでレコードを取得できれば接続確認は完了です。なお、JSON形式で送受信するため、Content-Type: application/json も忘れずに設定してください。
・エラーハンドリングと運用設計
kintone APIには1分あたり100リクエストなどのレートリミットがあります。HTTP 429が返った場合は数秒待って再送信するリトライ処理を実装しましょう。また、HTTP 401(認証エラー)や520(汎用サーバーエラー)が発生した際に原因を特定できるよう、リクエストとレスポンスをログに残しておくと安心です。プロダクション運用では、GitHub ActionsなどのCI/CD環境でテストを自動化し、IP制限やOAuth認証への移行も検討するとセキュリティがさらに強化できます。
以上の手順を押さえれば、kintone APIを使ったデータ連携の基盤が整います。まずは小さなGETリクエストから始め、徐々にPOST、PUT、DELETEと操作を広げていくことで、kintone api の可能性を着実に体感できるはずです。
kintoneと基幹システムの連携方法やメリットを解説!
kintoneでAPIトークンを生成する
kintoneのAPI連携を活用することで、どのようなことができるのか、また活用のメリットをご紹介します。
・自社の既存システムとkintoneを連携させてカスタマイズする
API連携を使えば、自社の既存システムと連携ができるので、kintone内アプリの開発の幅が広がります。例えば、kintoneで受注管理アプリを利用している場合に、蓄積された受注データを社内の請求書発行システムに自動で連携できるようにすれば、請求書の発行がよりスムーズに進みます。API連携を活用することで、より柔軟な開発が可能になります。
・GmailやGoogleスプレッドシートなどの外部サービスと連携する
kintoneのAPI連携は、GmailやGoogleスプレッドシートなど、よく業務で利用される多数の外部サービスと連携できます。kintoneのアプリで作成されたデータをGoogleスプレッドシートに書き出すといったことも容易にできるようになります。
・SlackやMicrosoft Teamsなどのコミュニケーションツールと連携する
kintoneのAPI連携を利用することで、SlackやMicrosoft Teamsといったコミュニケーションツールともスムーズに連携が可能です。例えば、kintoneで登録されたタスクの進捗状況をSlackの特定のチャンネルに自動投稿することができます。これにより、チームメンバー全員がリアルタイムで情報を共有できるため、コミュニケーションが円滑になります。
・クラウドストレージサービスとの連携
DropboxやGoogle DriveなどのクラウドストレージサービスともAPI連携が可能です。kintoneのアプリで管理しているファイルをこれらのクラウドストレージに自動でバックアップする設定を行うことで、データの保全性が向上します。また、クラウドストレージに保存されているファイルをkintoneのアプリから直接参照できるようにすることで、業務の効率化にもつながります。
このように、kintoneのAPI連携を活用することで、さまざまな外部サービスとシームレスに連携し、業務の効率化やデータの一元管理が実現できます。これにより、業務プロセスの最適化や情報共有の迅速化が図れるため、企業の生産性向上に大いに寄与するでしょう。
【関連リンク】kintone業務アプリ開発(kintone開発)サービス案内
【関連リンク】kintoneアプリ開発例
【関連リンク】kintoneでできることとできないこと、導入前に知っておきたいポイントを解説!
・自動入力が可能
先に示した例のようにkintoneで管理しているデータを外部システムと共有することもできるため、手入力の手間を削減できます。データの自動連携が可能になることで、自動入力を実現できます。
・時短・ミスの低減
API連携をしていない場合、通常は業務用パソコンのデスクトップに複数のシステムを起動して人為的に複数のシステムからのデータを操作することになるでしょう。すると効率が下がり、時間もかかる上に、ミスも増加する恐れもあります。API連携で自動的にデータを受け渡すなどすれば、煩雑さがなくなり、作業のスピードアップとミスの低減につながります。
・業務効率化
上記の自動入力や時短、ミスの低減が実現すれば、業務効率化につながります。API連携をうまく活用することで、業務の課題に対応でき、理想的な状態にすることもできるでしょう。
・リアルタイムな情報共有
kintone APIにはWebhookが用意されているため、レコードの追加や更新をトリガーにSlackやTeamsへ即時通知したり、BIツールへデータをプッシュしたりできます。これにより、「誰かが入力した内容が別システムに反映されるまで待つ」という時間的ロスをなくし、現場と管理部門の認識を常に最新状態に保てます。
・拡張性とスケーラビリティ
API経由で機能を増築できるため、業務の変化に応じて新しいSaaSや社内システムを段階的に取り込めます。たとえば、将来的にAI OCRやチャットボットと連携したい場合でも、既存のkintoneアプリを大きく改修せずに済むため、投資を最小限に抑えながらシステムを育て続けることができます。
kintone APIを用いたカスタムアプリ開発の具体例をご紹介します。
Googleカレンダーは、Google社が提供するスケジュール管理ツールです。スケジュールを共有する機能があるため、社内で利用しているケースが多くあります。そのGoogleカレンダーはkintoneとのAPI連携に対応しており、Googleカレンダーの情報を取り込むことができます。
また、その逆も可能です。kintoneで登録した予定をGoogleカレンダーに反映することもできます。Googleカレンダーにスケジュールを集約しておけば、抜け漏れも防ぐことができるため便利です。チームメンバーとのスケジュール共有も容易に行えるため、プロジェクト管理やチーム内のスケジュール共有にも役立つでしょう。
Google Mapは、Google社が提供する地図情報サービスです。例えば、kintoneアプリ内で顧客情報を入力すると、自動でGoogle Mapに反映されるようにしたり、社内で位置情報を共有したりすることが可能になります。
LINE WORKSは、LINE社が提供するビジネスチャットツールです。例えばLINE WORKSを用いて従業員が日報報告を行っている場合、そのデータをkintoneと連携させることで、情報の一元化および日報管理のための入力の自動化が実現します。
kintone APIを用いたカスタムアプリを開発する際には、次のポイントを押さえて実施しましょう。
先述の通り、APIトークンは、API連携するのに必要な情報です。そのためAPIトークンはアプリやサービスごとにしっかりと管理しておきましょう。万が一、APIトークンが外部に漏洩してしまい、第三者に悪用されてしまうと不正アクセスおよびデータ削除・改ざん、盗み入るなどのリスクがあるため、取り扱いには注意が必要です。
kintoneのAPI連携を利用してアプリ開発を行う場合は、開発後のメンテナンスのことまで考えた上で行いましょう。なぜなら、開発したはよいものの、メンテナンスに大幅に工数やコストがかかる恐れもあるためです。自社で開発やメンテナンス性への配慮まで対応することがむずかしい場合は、kintoneのアプリ開発を行う専門会社に委託するのも一つの方法です。
【関連リンク】
kintoneでアプリを開発する方法は? アプリ開発のポイントも解説!
kintone REST APIには「1分あたり100リクエスト」などの呼び出し上限が設定されています。大量データを扱うときはBulk Request APIを活用したり、キューイングとバックオフ(再試行)ロジックを組み込んだりして、レートリミット超過による処理停止を防ぎましょう。
本番アプリを直接編集すると、思わぬ不具合が業務に影響する恐れがあります。Gitでコードを管理し、ステージング(検証)環境で十分にテストしてから本番へデプロイするフローを確立すると、安全かつ迅速に改修が行えます。
HTTP 401/404/429/520 などのエラーが発生した際に原因を追跡できるよう、リクエストとレスポンスを詳細にログへ残しましょう。エラー通知をSlackやメールに自動送信するしくみを入れておくと、障害検知と初動対応を短縮できます。
【関連リンク】
kintoneでアプリを開発する方法は? アプリ開発のポイントも解説!
kintoneのAPI連携機能を利用することで、活用の幅が広がり、業務効率化にも寄与します。ぜひkintoneのAPIを活用して自社に最適なアプリを開発しましょう。
システムクレイスではkintoneアプリ開発・カスタマイズサービスを行っております。API連携によるカスタムアプリ開発はもちろんのこと、開発後のメンテナンスのことまで考えた柔軟な開発・カスタマイズのご支援が可能です。
開発実績は100社以上にも上り、要件定義からご対応可能です。
ご興味のある方、お困りのことがある方は、ぜひお気軽にお問い合わせください。
【関連リンク】kintoneで売上管理を効率化~kintone活用のメリットを事例を交えて解説
【関連リンク】kintoneで顧客管理するには?~アプリやシステム開発する方法もご紹介
【関連リンク】kintoneを活用した在庫管理システムの構築方法を解説します!
【関連リンク】kintoneのプロセス管理でワークフローを設定するメリットと方法を解説!
kintoneアプリの開発・カスタマイズに関するご相談・ご質問などお気軽にお問い合わせください