ICTイノベート
  • 共通EDIサービスEDIFASのAPIを試行

  • 共通EDIサービスEDIFASのAPIを試行
  • 公開2021/10/26  更新2022/06/23

  • 中小企業共通EDIに準拠したサービスEDIFASのテスト環境を利用する機会があり、APIによるEDI処理の自動化を試行しました。

記事内容

EXtelligence EDIFAS(エクステリジェンス エディファス / 以降はEDIFAS)は、(株)エクスが提供するクラウド型EDI[1]サービスであり、中小企業共通EDI標準に準拠した共通EDIプロバイダサービスです。

「中小企業共通EDIとは何だろう?」と思われた方は、当サイトでも過去のコラム記事や、前回のコラム記事で取り上げておりますので宜しければご覧ください。少しでも理解を深める助けになれば幸いです。

EDIFASは認証されたサービス

中小企業共通EDIには「認証制度」があり、中小企業共通EDIに対応した業務アプリケーションやプロバイダ等の具体的な製品・サービスが明確になっています。「認証制度」については「中小企業共通EDIポータルサイト」を参照されますと具体的な製品・サービスを確認することができます。

https://www.edi.itc.or.jp/certificationsystem
(2021/10/26 引用)

現在認証されている共通EDIプロバイダの製品・サービス数は6であり(執筆時点)、EDIFASはこの内に含まれます。EDIFASについては専用サイトが整備されており、具体的なサービス内容や料金情報が分かり易く提供されていますので、こちらをご覧頂いた方が良いでしょう。

https://edifas.com
(2021/10/26 引用)

APIオプションの利用について

このEDIFASでは「EDIFAS API」がオプションサービスとして提供されています。これらのAPI[2]を利用することにより、EDIFASの各種サービスを他Webサービスやパッケージ製品、社内業務システム等から利用できるようになります。

APIのドキュメントや技術情報は「開発支援サイト(EXtelligence Developer Site)」で公開されています。利用申し込みが必要ですが無料で利用できます。先のEDIFASサイトの「機能」「API連携(EDIFAS API)」のページから利用申し込みが可能です。

加えて、APIを利用したEDIFASとの接続テストに向けて開発環境(テスト環境)が提供されており、ユーザー登録を行うことで申込月から翌々月末(最大3か月)までは無償で利用することができます。テスト環境の利用についての情報は「開発支援サイト」内で得ることができます。

このように「開発支援サイト」に利用申し込みを行い、テスト環境へのユーザ登録を行うことで「EDIFAS API」を実際に利用することができました。そしてAPIを利用してプログラムからEDIFASの操作を行ってみました。これらのAPIテストの話に入る前にAPI連携のメリットを少し整理してみましょう。

API連携のメリット

API連携のメリットとして、基幹システムや販売管理システムとEDIFASをシームレスにデータ連携することで業務時間を一層削減することが挙げられます。EDIFASサイトではAPI連携の具体的な利用イメージが説明されています。

発注(バイヤー)側
基幹システムで作成した発注データをEDIFASに送り込み、サプライヤーに送信できます。

受注(サプライヤー)側
EDIFASから届いた発注関連データを基幹システムにそのまま取り込むことが可能です。

ここで補足があります。前回のコラム記事で「中小企業共通EDIを利用する為に必要なこと」として以下を挙げました。

  1. 共通EDIプロバイダと契約する
  2. 共通EDI対応の業務アプリケーションを導入する

共通EDI対応の業務アプリケーション導入により、EDIFASとのシームレスなデータ連携を実現することができると思われます。ただ、既存の基幹システムや販売管理システムの存在により、新しい業務アプリケーションの導入が容易ではない場合も多いのではないかと思われます。API連携は、そのような場合の代替手段として有効です。

なお、EDIFASサイトでは「API連携ソリューション」と言った紹介もされています。こちらについては、パッケージ製品等からAPIを利用してEDIFASと連携することを含めて一連のサービスとして提供されているものです。一方で、今回テスト利用した「EDIFAS API」については、独自プログラムからAPIを利用してEDIFASと連携する利用方法となります。

APIを利用したEDIFAS連携のテスト

ここからはAPIテストの情報になります。余り技術的な内容にならないようにします。今回は受発注取引を対象としてテストしました。下図の①から④の処理をプログラムから実行してEDIFASを経由したデータの送受信を確認しました。どのような環境を用意してテストしたかと言いますと、ラズベリーパイ(Raspberry Pi)[3]を利用して、独自プログラム(Python[4]スクリプト)を作成して実施しました。

受発注取引の処理イメージ
『受発注取引の処理イメージ』

なお今回のテストではEDIFASとの接続確認を目的としており、アプリケーションとしての作り込みまでは行っておりません。その意味について説明します。

通常、EDIのようなデータ取引処理では「データ項目マッピング」と言った、取引を行う双方が使用するデータ項目間の対応付けが重要になります。これはAPI利用の際も同様です。システム側のデータ項目(EDIFAS項目)と業務側のデータ項目(CSV項目)の対応付けを行わなくてはデータ連携はできません。

データ連携にはデータ項目マッピングが必要
『データ連携にはデータ項目マッピングが必要』

一方で、APIを利用するということは「定められた認証手続きで接続し、定められたデータ項目を用い、定められた手順でデータ送受信を行う」ことになります。

APIの利用を確認するという目的から見れば、EDIFASに接続できてシステム側のデータ項目のままデータ送受信に成功してしまえば目的を達成したことになります。「データ項目マッピング」のようなアプリケーション処理は次のステップとして切り離して考えることができるのです。

業務イメージのAPI活用デモ作成

こうしてAPIを利用して外部のプログラムからEDIFASを操作できることを確認しました。しかしながら、この結果を成果として情報発信することを考えると、システム的で面白味に欠けるだけでなく業務イメージとも結び付き難いと思えたので、より業務をイメージし易いデモを作成しました。

デモは先の図『受発注取引の処理イメージ』で示した「受注」(②の部分)の処理を対象としています。具体的な内容については、ここでは長くなってしまうので別途「お試しIT活用ii」モデルとしてご紹介します。宜しければこちらをご覧ください。

なお、②の処理を選んだのには理由があります。バイヤー側では使用している業務アプリケーションからデータ連携できることを優先してプロバイダにEDIFASを選定するケースが考えられる一方で、サプライヤー側はバイヤー側からの求めに応じてEDIFASを利用するケースでは、対応する業務アプリケーションへの切替が困難なケースが多いと思われたからです。そのようなケースへの対策としてAPI連携が役立つでしょう。

デモに関連した話を続けます。デモにおいてCSVファイルを出力するにあたり「データ項目マッピング」が必要となります。この際にある「割り切り」によってアプリケーション機能の開発負荷を軽減しています。

具体的には、1社との取引に限定することでマッピングを1パターンにして固定でプログラミングしています。これによって複雑な機能を用意せずに済ませています。

裁量によって導入コストの削減が可能

開発負荷の程度はコストに直結しますので、こうした「割り切り」が可能なのであれば、API連携を安価に実践することができるでしょう。コスト面について補足で説明します。

EDIFASのオプションサービスには「Agent」が存在します(執筆時点)。「Agent」はCSV連携を主体として外部のシステムとの連携をサポートするツールです。「Agent」はデータ項目マッピングも含めてサポートしています。

EDIFASサイトではオプションの料金プランを確認できるのでご覧頂くと分かりますが、「API」と「Agent」では月額料金を見ても桁が違いますし、「Agent導入支援」と言った初期導入支援費も考慮すると「API」の料金とは大きな開きがあります。

これは見方を変えると、API利用の場合でも「データ項目マッピング」を始めとしたアプリケーション機能を用意する為には、この程度のコストが掛かることを示しています。

しかしながら、今回のデモのように主要な1社に限定してAPI連携で自動処理にすると言った「割り切り」によっては、独自プログラムの開発コストを大幅に低減した上で実践することが可能となるでしょう。

IT活用の目的の一つは「便利にすること」だと思いますが、至れり尽くせりのITツール導入は高コストになりがちです。コスト面もにらみつつ、どうしても必要な部分に絞ってIT活用を実践するアプローチが取り易い点も、API連携のメリットと言えるのではないでしょうか。

「割り切り」の例として「主要な取引先に限定」と述べましたが、EDI利用の業態によっては「論外」と受け取られたかもしれません。しかし、これもまた業態によっては選択肢の一つとなる場合もあるでしょう。

受注の殆どのウェートを占める大口の取引先とEDI取引するにあたり、ほぼ定型的な注文内容であった場合は、できるだけ自動処理にしたいと考えると思います。その為に新規で多機能な業務アプリケーションを導入するのは過剰な投資だと感じられる場合は、必要な機能だけをAPI連携で実現することも選択肢となるでしょう。

この記事のまとめ

  • 共通EDIプロバイダサービスEDIFASをテスト利用した
  • APIオプションを利用してEDIFASとのデータ連携を実践した
  • 業務イメージのデモとしてEDI受注データ自動取込を作成した