API連携とCSV連携では何が違う?業務がどう変わる?具体例を交えて解説します

SaaSプロダクト間の連携において、API連携とCSV連携では業務に大きな差が生じることをご存じですか?

 

現在、1社あたり10~20の業務システムを使用していると言われています。
複数のシステムを使用していると、当然 システム間で同じ情報をあらわすデータを双方がもっているためデータのやり取りの必要性が生じます。

例えば、勤怠管理と給与計算を異なるシステムで管理していた場合に、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ファイル形式をダウンロードし、他プロダクトにそのファイルをアップロードすることにより業務システム間でデータのやり取りができます。

データの数値や情報は正確ですが、ファイルのダウンロードとアップロードは手作業で行わなくてはいけません。

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とは異なり、タグを使用してデータの構造を記述するマークアップ言語でもあります。
ゆえに人間には理解しずらい面があります。

<?xml version="1.0" encoding="Shift_JIS" ?>
<employee>
  <member>
    <id>0001</id>
    <lastname>山田</lastname>
    <firstname>太郎</firstname>
    <address>東京都千代田区東神田1丁目11-14</address>
    <birthdate>1985/4/1</birthdate>
    <joindate>2020/4/1</joindate>
    <department>営業部</department>
    <mail>t.yamada@xxx</mail>
  </member>
  <member>
    <id>0002</id>
    <lastname>山田</lastname>
    <firstname>次郎</firstname>
    <address>東京都千代田区東神田1丁目11-15</address>
    <birthdate>1980/7/1</birthdate>
    <joindate>2018/4/1</joindate>
    <department>管理部</department>
    <mail>j.yamada@xxx</mail>
  </member>
</employee>

各連携の手順

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で管理しているが、人事評価などのマネジメントはアプリBを使用しています。
どちらも従業員情報に関するエクスポート・インポートは可能です。
このたび新入社員が入社したので、アプリAに登録した情報をアプリBにも登録します。

  • アプリAの従業員データ
従業員番号0003
氏名山田 花子
氏名カナヤマダ ハナコ
生年月日 ※西暦1990/4/1
部署開発部
入社年月日 ※西暦2022/4/1
都道府県東京都
市区町村以降市区町村以降
  • アプリBの従業員データ(フォーマット)
従業員ID
姓カナ
名カナ
生年月日 ※和暦
部署
入社日 ※和暦
住所
  1. アプリAから従業員情報をCSVエクスポート
    連携対象の従業員データをアプリAからCSVエクスポートします。
    従業員ID氏名,氏名カナ,生年月日,部署,入社年月日,都道府県,市区町村以降
    0003,山田 花子,ヤマダ ハナコ,1990/4/1,2022/4/1,営業部,t.yamada@xxx
  2. CSVからExcelへ変換
    CSV形式では計算式やマクロが使えないため、Excelに変換します。
  3. アプリBのフォーマットへの変換作業
    Excel上でアプリBのフォーマットに合わせて変換します。
    ・氏名→氏・名の二つの項目に分ける ※氏名の間の空白を基準にします
    ・氏名カナも同様
    ・生年月日を西暦→和暦に変換する
    ・入社日も同様
    ・都道府県・市区町村以降を結合し一つの項目に統合する→住所
  4. ExcelからCSVへ変換
    インポート可能なCSV形式に変換します。
  5. アプリBにCSVインポート
    アプリBの従業員データにCSVインポートします。
  6. アプリ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連携に関するその他のコラムはこちらをご覧ください↓

API連携とは?」エンジニアじゃない人は何したらいいの? SaaS連携の専門家が分かりやすく解説!


(エンジニア向け)APIvsCSV連携! API連携時に考慮すべきポイント


ノーコードでSaaSのAPI連携を実現するには、SaaS連携専門アプリストア「サーステイナー」を是非ご活用ください↓

SaaStainerのTwitterアカウントで最新情報を発信していきますので、ぜひフォローをお願いいたします。
<【公式】SaaStainer Twitterアカウント|こちらをクリック

シェアする

この記事を書いた人

株式会社ストラテジット

カテゴリー