CData Arc で、日本郵便WMS のWebAPI 連携を自動化する
本記事はCDataが提供する「CData Software Blog」に掲載された「CData Arc で、日本郵便WMS のWebAPI 連携を自動化する」を再編集したものです。
こんにちは。CData Software Japan の色川です。
拡大を続けるEC 市場において、販売側として通販を事業とされる場合、物流に関する多くの業務を担ってくれるWMS(倉庫管理システム)は欠かせない仕組みの1つかと思います。入荷・出荷や在庫の管理など、物流に関する多くの業務を担ってくれるWMS と自社のEC サイトや基幹システムとの間でデータ連携は必要不可欠ですが、物流の小口化・多頻度化や荷主ニーズの複雑化が進んでいる昨今では、それらをよりタイムリーに実現するためにWMS とのデータ連携を自動化したいニーズも高まっているようです。
この記事では「CData Arc で、日本郵便WMS のWebAPI との連携を自動化する」方法をご紹介します。
日本郵便WMS
日本郵便WMS は、通販事業者の商品を扱うために機能強化した、クラウド型物流センター倉庫管理システム(WMS)です。日本郵便WMS では利用者側のIT システムとの連携で利用できるWeb API 機能もオプションで提供されています。
CData Arc
CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。
この記事のシナリオ
日本郵便WMS のWeb API では「インタフェース(ファイル)のアップロード」と「インタフェース(ファイル)のエクスポート」をサポートする機能が提供されています。
日本郵便WMS のWeb API 仕様については、こちらで確認することができますが、「セッション情報による認証処理」と「アップロード(インポート通信)に必要なマルチパートでのファイルアップロード処理」がポイントになりそうです。
そこで、この記事では「外部から取得したCSV ファイルを、日本郵便WMS のWeb API(以下、WMS API)を利用してインポートするシナリオ」をご紹介します。
より具体的には「外部(ローカルファイルシステム上)に用意した品目登録用のCSV ファイルを取得」して、「WMS API へログイン実行しセッション情報を取得」し「WMS API へCSV ファイルを送信しファイル取り込み要求」を実施した後に「WMS API からログアウト」する一連の流れを自動化します。
この記事では、WMS API 連携にフォーカスしてご紹介するためにそのままインポートできるCSV ファイルをあらかじめ用意していますが、SFTP などをはじめとしたファイルベースで連携されるデータや様々なSaaS やアプリケーションなどから取得できるデータを編集・変換してからWMS API へ連携したいケースはArc の得意領域です。
なお、日本郵便WMS 自体の機能や操作、WMS API の詳細な仕様やインタフェースフォーマットなどについては、日本郵便WMS から提供される情報をご確認ください。
連携フローの作成
このシナリオで作成する連携フローは以下のような流れになっています。
このシナリオではインポート用のCSV ファイルを以下のように準備しました。
フローの実行前には、この品目コードを持つ品目がWMS のマスタに存在していない状態です。
それではArc のフローデザイナーで連携フローを作成していきます。
1. File コネクタ
最初に「WMS API にインポート通信(アップロード)するCSV ファイルを取得」するFile コネクタを設定します。この連携フローのはじまり(起点)となるコネクタです。「受信」アクションで構成します。
準備したインポート用のCSV ファイルを取得できるように「パス」と「ファイルマスク」を指定します。
2. Script コネクタ
次に「WMS API のログイン通信を実行してセッション情報を取得」して「File コネクタで取得したファイル(処理対象メッセージファイル)のメタデータに設定」するScript コネクタを設定します。このシナリオでポイントになる部分の1つです。
このコネクタではArcScript のhttpPost オペレーションを利用して「WMS API のログイン通信を実行してセッション情報を取得」します。httpPost オペレーションでは対象エンドポイントへのPOST リクエストはもちろん、煩雑になりがちな設定されたCookie の取得などもとてもシンプルに実現することができます。このコネクタではhttpPost オペレーションのアウトプット属性で得られる「allcookies」をシンプルにメッセージヘッダーに設定して後続のコネクタで利用できるように構成しました。Referer は静的な値ですが、同じようにメッセージヘッダーに構成しています。
3. REST コネクタ
次に「WMS API のインポート通信(アップロード)を実行してCSV ファイルを送信しファイル取り込みをリクエスト」するREST コネクタを設定します。このシナリオでポイントになるもう1つの部分ですが、設定自体はシンプルです。
まず、このコネクタではCookie やReferer などリクエストヘッダーを指定する際、インプットファイルのメッセージヘッダーに構成された値をArcScript を利用して取得して設定します。それを可能にできるように「高度な設定」の「ヘッダー内のArcScript を許可」しておきます。
準備ができたら設定に戻り、「メソッド&URL」はWMS API で指定された通りの値で構成します。ポイントはヘッダーでのCookie やReferer ですが指定自体はシンプルです。
ボディの種類には「form-data」を選択し、インプットファイルであるCSV ファイルを「uploadFile」に。残りのform-data の名前、値もWMS API で指定された通りの値で構成します。
なお、この記事では設定の分かりやすさからインポート通信の実行はREST コネクタで構成しましたが、もしREST コネクタで設定可能な項目以上に細かくチューニングしたい場合は、Script コネクタでhttpUpload オペレーションを利用することもできます。
4. Script コネクタ
最後に「WMS API のログアウト通信を実行」するScript コネクタを設定します。このコネクタは終端(Terminal)となるように構成しました。
このコネクタもログイン通信と同じように、ArcScript のhttpPost オペレーションを利用しますが、メッセージヘッダーに構成されている値を利用してPOST リクエストを行うのみですので構成はシンプルです。
これで「取得したCSV ファイルを、日本郵便WMS のWeb API を利用してインポートするシナリオ」のフローが完成しました。
連携フローの実行
作成したフローを実行して確認してみましょう。トリガー開始から「手動で受信」を実行します。起点となるFile コネクタのアウトプットタブから「受信」を実行することと同等です。
「詳しくはこちら」から表示できるメッセージビューアで、作成したフローの一連の実行状況を確認します。無事に一連の流れが成功していることが確認できます。
日本郵便WMS の品目マスタに期待通りに登録されていることが確認できます。
日本郵便WMS のインタフェース履歴照会でもインポート通信(アップロードリクエスト)が正常に処理されたことが確認できます。
まとめ
この記事では「CData Arc で、日本郵便WMS のWebAPI との連携を自動化する」方法をご紹介しました。
この記事では連携フローを構成する上でのポイントにフォーカスして(かいつまんだ形で)ご紹介しました。実際に「日本郵便WMS のWebAPI と連携したいユースケース」をお持ちの方は、トライアルの準備を進められる中でぜひサポートデスクへお知らせください。ご紹介したポイント以外の部分も含めて、皆さんがArc で実現したい連携シナリオをサポートします。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。
皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
CData Arc - セキュアなデータ連携とマネージドファイル転送(MFT)
製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
CData Software Japan - Support Form