API連携とCSV連携では何が違う?業務がどう変わる?具体例を交えて解説します
SaaSプロダクト間の連携において、API連携とCSV連携では業務に大きな差が生じることをご存じですか?
現在、1社あたり10~20のSaaSを使用していると言われています。
複数のシステムを使用していると、当然 システム間で同じ情報をあらわすデータを双方がもっているためデータのやり取りの必要性が生じます。
例えば、勤怠管理と給与計算を異なるシステムで管理していた場合に、2つのシステム間でデータを送る必要があります。手入力で入力するのは手間ですし、ミスも発生しやすいです。
そんな時にデータのやり取りをする方法として、CSV連携とAPI連携があります。
本コラムでは、各連携の概要と手順例やAPI連携のメリットについてわかりやすく説明します。
目次
CSV連携とAPI連携とは
CSV連携とは
はじめに、CSV(Comma Separated Values)とは、「カンマで区切られたデータ」という意味があるテキストデータ形式のひとつです。
文字通り、カラム(項目)がカンマ(,)で区切られています。
▼例:従業員データのCSV
従業員ID,姓,名,住所,生年月日,入社日,部門,メールアドレス
0001,山田,太郎,東京都千代田区東神田1丁目11-14,1985/4/1,2020/4/1,営業部,t.yamada@xxx
0002,山田,次郎,東京都千代田区東神田1丁目11-15,1980/7/1,2018/4/1,管理部,j.yamada@xxx
0003,…
互換性が高いCSVファイル形式をダウンロードし、他プロダクトにそのファイルをアップロードすることによりSaaS間でデータのやり取りができます。
データの数値や情報は正確ですが、ファイルのダウンロードとアップロードは手作業で行わなくてはいけません。
API連携とは
CSV連携と異なり、自動でデータ連携できるのがAPI連携です。
API(Application Programming Interface)とは、SaaS等の「ソフトウェアプログラムをつなげるためのプラグ」です。
APIを公開することにより、ソフトウェアに外部とやりとりする窓口を作り、外部アプリと連携ができる状態になります。
つまり、システムとシステムをAPIで繋げることにより、データのやり取りを自動登録でき、機能性が拡張されて便利に使えるようになります。
非常に便利なAPI連携ではありますが、そもそもSaaS提供元がAPIを公開していない場合は行うことができません。
もしくは、APIが提供されていても知見のある技術者がいない場合など、取り掛かりのハードルはやや高めではあります。
API連携の導入を考える際には、APIの提供が停止するリスクや自社に知見があるかどうかをよく考慮する必要があります。
API連携のメリット・デメリットについては、こちらのコラムをご覧ください。
CSV以外のテキスト形式
CSV以外のテキストベースのデータ形式も一部紹介します。
JSON(.json)
JSON(JavaScript Object Notation)はJavaScriptのオブジェクト構成をもとにしたデータ定義言語です。
WebAPIのフォーマットはJSONがデファクトスタンダードとなっています。
また言語とはいえテキストベースであるため軽量です。
後述するxmlよりも人間にとって理解しやすい書き方となっており、例えばオブジェクトにオブジェクトを入れる(ネストする)構造にすることもできます。
{
"employee": [
{ "id": "0001",
"lastname": "山田",
"firstname": "太郎",
"address": "東京都千代田区東神田1丁目11-14",
"birthdate": "1985/4/1",
"joindate": "2020/4/1",
"department": "営業部",
"mail": "t.yamada@xxx"
}, {
"id": "0002",
"lastname": "山田",
"firstname": "次郎",
"address": "東京都千代田区東神田1丁目11-15",
"birthdate": "1980/7/1",
"joindate": "2018/4/1",
"department": "管理部",
"mail": "j.yamada@xxx"
}
]
}
XML(.xml)
XML(Extensible Markup Language)はHTMLをベースとして生み出されたデータ定義言語です。
CSVやJSONとは異なり、タグを使用してデータの構造を記述するマークアップ言語でもあります。
ゆえに人間には理解しずらい面があります。
各連携の手順
CSV連携とAPI連携では、実際の作業手順に大きな違いがあります。
CSV連携の場合
システムによっては、APIが用意されていなくてもCSVでエクスポート(出力)とインポート(入力)が行える機能が搭載されていることがあります。
同じシステムの中でも、例えばマスタデータは一括インポートが可能だがトランザクションデータはインポート不可であったりと、機能ごとにCSVでの対応可否が分かれているものも見受けられます。
CSV連携の場合の手順を見ていきましょう。
①各SaaSのCSVインポート可否を確認
まず、連携元であるSaaSの出力したい画面または設定画面から、CSVエクスポートが可能かどうか確認します。
反対に、連携先ではCSVインポートが可能かどうかを確認します。
CSV形式が不可であれば、Excelやtext形式で出力できないか確認します(ExcelやtextからCSV変換は可能)。
この時点でエクスポート対応していなければCSV連携はできません。
②連携元SaaSからCSVをエクスポート
連携対象データをCSVエクスポートします。
③連携先SaaSのフォーマットへの変換作業
手作業で連携先のフォーマットに変換します。
④連携先SaaSにCSVインポート
連携先のSaaSにCSVインポートします。
例:CSV連携の具体例
具体的な例でみていきましょう。
従業員情報はAシステム(以下、A)で管理しているが、人事評価などのマネジメントはBシステム(以下、A)を使用しています。
どちらも従業員情報に関するエクスポート・インポートは可能です。
このたび新入社員が入社したので、Aに登録した情報をBにも登録します。
- Aの従業員データ
- Bの従業員データ(フォーマット)
- Aから従業員情報をCSVエクスポート
連携対象の従業員データをAからCSVエクスポートします。
従業員ID氏名,氏名カナ,生年月日,部署,入社年月日,都道府県,市区町村以降
0003,山田 花子,ヤマダ ハナコ,1990/4/1,2022/4/1,営業部,t.yamada@xxx - CSVからExcelへ変換
CSV形式では計算式やマクロが使えないため、Excelに変換します。 - Bのフォーマットへの変換作業
Excel上でBのフォーマットに合わせて変換します。
・氏名→氏・名の二つの項目に分ける ※氏名の間の空白を基準にします
・氏名カナも同様
・生年月日を西暦→和暦に変換する
・入社日も同様
・都道府県・市区町村以降を結合し一つの項目に統合する→住所 - ExcelからCSVへ変換
インポート可能なCSV形式に変換します。 - BにCSVインポート
Bの従業員データにCSVインポートします。 - Bのインポート結果確認
Bに正しくインポートされているかどうか、Bからアクセスして確認します。
あくまで一例ではありますが、毎回積み重なればかなりの手間になることが想像できるのではないでしょうか。
計算式やマクロ・GoogleAppleScriptを駆使し、2.の部分をどのように自動化するかがポイントになってきます。
SaaSの仕様変更により、データの持ち方の変更や項目の増減も考えられます。
API連携の場合
それではAPI連携の場合を見ていきましょう。
CSV連携とは異なり、プログラミングと認証の知見が必須です。
①連携元と連携先で認証を行う
②認証で取得したトークンを使用し、APIのリソースにアクセス
③取得データのフォーマットを変換し、連携先に反映
④連携解除のタイミングでアクセストークンを破棄
CSV連携に比べシンプルであることがお分かりいただけるかと思います。
手順の詳細についてはこちらのコラムをご覧ください。
スプレッドシートからCSVへ変換する方法と注意点
上述したCSV連携の手順例にある、スプレッドシートからCSVに変換する方法についても注意点を添えて説明します。
スプレッドシートでよく使われるExcelとGoogleスプレッドシートでそれぞれ異なります。
※お使いの環境により手順が異なる場合があります。
筆者の検証環境:WindowOS、Microsoft365(Excel ver.2206)
Excel→CSV
1.ファイル>名前を付けて保存 をクリックします。
2.ファイルの種類は「CSV(コンマ区切り)」もしくは「CSV UFT-8(コンマ区切り)」を選択します。
3.保存先・ファイル名を指定し、保存します。
4.メモ帳などのテキストエディタでファイルを開き、文字コードを確認します。
5.インポート先に合わせて文字コードを適宜 変更し、保存します。
<注意>文字コードはお使いの環境により異なります。
個々のカラムをコンマで区切る性質ゆえに、一つの項目内にコンマ(,)を含むとズレが発生するおそれがあります。
複数シートがある場合は、現在開いているシートのみCSV変換されるためシートの数だけ保存の動作が必要です。
Googleスプレッドシート→CSV
1.ファイル>ダウンロード>カンマ区切り形式(.csv)を選択します。
2.以降はExcelと同様に文字コードを確認・変換します。
※文字コードはUTF-8固定
CSV連携が適しているケース
日々の売上や工数管理など、即時性が高いデータのほとんどでAPI連携が適しているといえます。
半面、APIが用意されていたとしても、数字の即時性が低く更新頻度が少ないものに関してはCSV連携の方が知見なく実行できる分、軍配が上がるでしょう。
- APIが提供されており、APIの知見がある…API連携
- APIが提供されていない…CSV連携
- APIが提供されているが、即時性がなく年次更新など連携頻度が少ないもの…CSV連携
余談ですが、数あるAPIの中にはCSV連携と掛け合わせたものもあり、インポート元のデータさえCSVで格納すれば、API側からCSVにデータを取りに行くような構造になっています。
社内のリソース・予算感はもちろん、連携したいSaaSの重要度や利用頻度を十分考慮したうえで、どの連携方法を採用するか、検討する必要があります。
API連携のメリット
API連携のメリットは大きく分けて2つあります。
自動登録でタイムリーな確認・共有ができる
先述のとおり、API連携では日々業務で多発するデータのやり取りが自動化されることにより手間が省けます。
さらに、自動登録されることにより、タイムリーな情報を確認することができます。
法人であれば、当然1人で業務すべてを行っているわけではありません。
例えば、CSV連携でデータのやり取りをしていた場合に、1人だけが「このデータはまだCSV連携していないから、連携したら数字が変わる」と認識していても、他の人がすべてを認識しているとは限りません。
もしかしたら、最新の数字だと勘違いして業務に支障が出てしてしまうこともあるかもしれません。
つまり、API連携ではタイムリーな確認、共有ができることで生産性を上げることが可能になります。
様々なシステムと連携ができ、利便性が高くなる
今ではAPIを公開している金融機関やクレジットカード会社もあります。
そのため、会計システムと繋げると銀行口座の取引情報やクレジットカードの利用状況なども同期させて自動仕訳することもできます。
このように、業務システム同士だけではなく、さまざまな業界のサービスと連携することができます。
業務で多く発生する、データ入力作業や手間のかかる作業がAPI連携によって、ミスがなくなり、業務のスピードアップに繋がります。
API連携は業務の生産性を高めて、働き方改革や人材不足対策にも大いに貢献するものになります。
「データ連携の基本と連携開発のご紹介」ホワイトペーパー配布中
\SaaSベンダー様、SaaS導入企業様必見/
「データ連携の基本と連携開発のご紹介」ホワイトペーパーをご用意致しましたので、是非ご活用ください。
「JOINT iPaaS」なら、ひとつのSaaSだけ使っている感覚をユーザーに
ストラテジットは"SaaSのチカラを全ての企業に"をMissionに掲げ、創業以来 国内外50以上のSaaSとの連携開発を行ってきました。
SaaSベンダーの利便性はもちろんのこと、そのSaaSを利用するエンドユーザーこそが使いやすい製品を提供することで、SaaSベンダー・ユーザーともにコア業務に集中できる環境のお手伝いをしたいと考えています。
まずは話だけでも聞いてみたい、自社SaaSの満足度を上げたい、というSaaSベンダー様はストラテジットが提供する組み込み型iPaaS(Embedded iPaaS)「JOINT iPaaS for SaaS」を是非ご検討ください。
※一般企業向けiPaaSはこちら「JOINT iPaaS for Biz」(Comming soon...)
▼無料相談はこちらのフォームよりお申込みください。
▼お急ぎの方はこちらから無料オンライン相談のご予約をいただけます。
個別の連携開発も承っております。「Master Hub(データ連携開発)」
特許取得済の開発プラットフォームにより、高品質な連携アプリを提供します。
サクッとSaaS連携アプリが見付かるかも?SaaS連携専門アプリストア「サーステイナー」も是非ご活用ください↓
人気順連携アプリランキング
1位:SlackのチャンネルとChatworkのルームを連携
3位:freee会計内で承認された各種申請フォームをクラウドサインに連携
SaaStainerのTwitterアカウントで最新情報を発信していきますので、ぜひフォローをお願いいたします。
【公式】SaaStainer Xアカウント