FileMakerエンジニア
前回の私の記事でFileMaker Data APIについて何ができるのか解説いたしました。
FileMaker Data APIを使用することでFileMakerの苦手な部分を補うことができたり不特定多数に対応が必要なECサイトの運営、アンケートなどのフォームを使用することができるようになるといったことをお話しさせていただきました。
今回は、私の過去の実績でFileMaker Data APIの使用量制限がある状態では難しかったECサイトの運用についてお話しさせていただきます。
目次
過去の実績の内容と課題
では、どんな内容の開発だったか簡単にお伝えします。
内容
ハンドメイド商品の販売を行っているお客様は、商品の購入やお問い合わせ対応をメールを通じて行っています。
しかし、顧客数の増加に伴い、対応漏れや在庫確認の手間が増え、これまでの運用では対応しきれなくなってきています。
そこで、業務を効率化し、より便利な運用を目指すために、販売の仕組みをECサイトに移行することを検討されています。
これにより、購入手続きや在庫管理などを自動化し、負担を大幅に軽減することが可能になります。
お客様情報や商品、在庫の管理などは現在はFileMakerで行っています。
ここで求められていることは何なのか整理してみましょう。
サイト移行における課題
FileMakerを活用したリアルタイムなデータ連携
現在使用中の業務管理ツール「FileMaker」をデータベースとして活用し、ECサイトと連携することで、リアルタイムでデータを更新できる仕組みを構築したいとのことです。
このシステムにより、次のような利点が得られます
- 顧客情報や購入履歴の一元管理
- FileMakerを使って顧客情報や購入履歴を一箇所で管理。効率的な運用が可能になります。
- データ解析によるマーケティングの最適化
- 顧客の年齢層や購買傾向などのデータを収集・解析することで、マーケティング戦略を最適化し、顧客満足度を向上させる施策を打ち出せます。
- 在庫状況のリアルタイム管理
- FileMakerとECサイトの連携により、在庫データを常に最新の状態で確認可能。
販売機会を逃さず、無駄な在庫を減らすことができます。
- FileMakerとECサイトの連携により、在庫データを常に最新の状態で確認可能。
- 新システム導入で目指す未来
- このようなシステムを導入することで、販売活動の効率化だけでなく、顧客のニーズをより深く理解することができます。
これにより、ハンドメイド商品の魅力をさらに広く届け、顧客とのつながりをより強固なものにしていくことが期待されます。
- このようなシステムを導入することで、販売活動の効率化だけでなく、顧客のニーズをより深く理解することができます。
必要な開発内容
FileMakerの改修
現在、FileMakerを用いたCRM(顧客管理)、商品マスタ、在庫管理システムが稼働しています。
これらのシステムを基盤として、ECサイトとの連携を実現するための改修を行います。
具体的には、以下の対応が必要です
- ECサイトで必要となる新しいデータ項目の追加
- FileMakerからのデータ連携機能の開発
- リアルタイム更新に対応するためのシステム強化
ECサイトの開発
ECサイトが現時点で存在しないため、ゼロからの構築が必要です。
この開発では、FileMakerをデータベースとして活用し、商品検索や閲覧、購入の機能を実現します。
細かな開発手法や、言語などは今回は割愛いたします。
開発における課題
リアルタイム更新の重要性
ECサイトを構築する上で、課題となるのが「リアルタイム更新」の実現です。この機能は、特に在庫管理において不可欠です。
なぜリアルタイムが重要なのでしょうか?
例えば、以下のようなケースを考えてみてください
商品Aの在庫が「1」つだけの場合。
顧客Aが商品Aを「カートに追加」した直後、別の顧客Bが同じ商品Aを購入してしまう。
この場合、在庫が不足しているにもかかわらず、顧客Aが購入手続きに進めてしまう可能性があります。
こうしたトラブルを防ぐためには、在庫情報をリアルタイムで更新し、正確な在庫状況を常に反映させる仕組みが必要です。
解決に向けたアプローチ
これらの課題を解決するために、以下の技術的アプローチが考えられます
- 在庫データの即時同期
- トランザクション管理の強化
- 負荷分散の実現
この中でFileMaker Data APIと絡んでくる部分が在庫データの即時同期とトランザクション管理になります。
在庫管理では、FileMakerとECサイトの間で、在庫データをリアルタイムで更新するAPIの開発が必要です。
これにより、顧客がカートに商品を追加した時点で在庫がロックされ、重複購入を防ぐことが可能です。
トランザクション管理では、在庫更新の処理をトランザクションとして管理し、途中でエラーが発生してもデータが整合性を保つように設計します。
トランザクションとは簡単に言うとエラーが起きた時に元のデータに直る処理のことです。
厳密ではありませんので機会があればブログにまとめてみたいと思います。
APIの使用タイミング
今回一番の課題となるのがFileMaker Data APIの利用制限です。
FileMaker Data APIはインバウンドのデータリクエスト(FileMakerからの送信と思ってください)は無制限ですが、アウトバウンドのデータリクエスト(外部からFileMakerのデータを取得と思ってください)は利用量に関わってきます。
ではアウトバウンドでのタイミングを確認してみます。
- ログイン時
- 商品一覧ページを開いたとき
- 商品詳細ページを開いたとき
- 商品の検索をかけたとき
- 商品を買い物かごに入れるとき
- 商品を購入するとき
これだけのタイミングがあり、できるだけ減らそうとすると全ての情報を取得しておくのが一番ですが、それだとパフォーマンスが落ちてしまい、リアルタイムのデータ共有ができなくなってしまいます。
しかし、現在の顧客数、お問い合せ件数から計算すると、制限が超えてしまうといった状況でした。
最終的には追加容量を購入することで解決はしましたが、結果としては別途料金がかかってしまいました。
OBDCにしてFileMakerのデータベースを差し替えるという方法もありましたが、その当時は顧客からの要望でAPIの仕様になりました。
今では制限がなくなったのでこの追加料がいらなくなるというのはかなりのメリットですね。
注意点
FileMaker Data APIの制限は無くなりましたが、一部制限がある場合もあります。
例えばFileMaker Cloudは現状もFileMaker Data APIの利用制限はありますのでご注意ください。
まとめ
本記事ではFileMaker Data APIの解説と実際にあった案件を簡単に紹介いたしました。
FileMaker Data APIを使用するとFileMakerではできないことが可能になったり、他の外部システムとの連携も可能になりますので便利な機能です。
特に今回制限がなくなりより便利になりましたので、現在のシステムや何かと連携したいという要望があれば是非一度お問い合わせください。
多岐にわたる業種での経験を経て、現在はFileMakerを中心に活躍中のエンジニアです。ローコード開発を得意としながらも、Django、React、Flutterなどの技術にも挑戦し、幅広い開発スキルを習得。常に自分の技術を磨き、より良いソリューションを提供できるよう、継続的にスキルアップを図っています。多彩な技術を駆使して、クライアントのニーズに応える柔軟性と、迅速かつ効果的な開発力が強みです。