COLUMN

ユビレジAPIを使ってみました

先日入社しました、ウィザードの石井と申します。
初のブログ記事作成となり、御見苦しいところあるかもしれませんが興味のある方は見ていただけると幸いです。
ユビレジとはiPadを使ったPOSレジアプリです。
レジとしての機能だけでなく管理画面から様々な操作が行えますが、APIを利用することで更に多くの機能が利用できます。
今回はユビレジのAPIを利用して簡易的な在庫管理システムを作成してみたいと思います。

事前準備

ユビレジのアカウントを登録して、いくつか商品を登録しておいてください。
ユビレジ
ユビレジAPIの仕様は以下から確認できます。
Ubiregi API
今回はOAuth2で認証を行うので、事前知識として仕様を知っておくとスムーズに進められます。
全てを知っておく必要は無く、今回は使用する「4.1. 認可コードによる認可」だけで十分です。
RFC6749

開発者登録

以下のURLから登録できます。
ユビレジ for Developers
リダイレクトURIには認証後にリダイレクトするURIを入力しますが、今回はテストなのでローカルを指定しています。

認証処理実装

リダイレクト先で認証の処理を行います。
以下のように実装しました。

developer.iniを作成し、client_idとsecretを先ほどの画面から転記しておいてください。
access.phpをインクルードしていますが、これはAPIにアクセスするための共通スクリプトです。
全体の流れを把握していただくために一旦省き、後で解説します。

一覧画面実装

APIから商品の在庫一覧を取得し、表示します。
ボタンを押下すると数値入力のダイアログを表示し、その数だけ発送/入荷させる方式とします。
以下のように実装しました。

更新処理実装

APIに在庫更新のリクエストを送信します。
以下のように実装しました。

※guidについて
この項目は重複投稿防止のために使用されます。
同じクライアントから同時刻にアクセスされたかを判定できる値である必要があります。
実際に使用する場合はPHPの拡張ライブラリ等で生成することをお勧めします。

各処理の詳細

送信するリクエストの形式はAPI仕様書を確認してください。
送受信にはjsonを利用します。

動作確認

開発者の画面より「Authorization URL」にアクセスします。
設定した説明等が表示されていることを確認し、「許可する」をクリックします。
認証されると作成した一覧画面にリダイレクトされます。
在庫の更新が行えるかと思います。
更新処理の際、リクエスト送信後にユビレジのサーバー側で処理が行われるため、在庫の反映に数秒掛かることにご注意ください。

まとめ

今回使ったのは一部ですが、ユビレジAPIにはこの他に商品の決済や顧客管理など豊富な機能があります。
ネットショッピングサイトを開設し、店頭とWEBの在庫を一括で管理するといった使い方も想定できると思います。
一から自分でシステムを構築する手間を考えると断然楽に作成できます。