はじめに
ShopifyとNextEngineは、デフォルトで連携機能が提供されています。
注文が入れば自動的にNextEngineへ反映され、出荷処理を行えばお客様に通知が届きます。
通常はこの標準連携で十分に運用できます。
しかし、Shopifyに複数の倉庫(ロケーション)を設定すると、この標準連携が機能しなくなるという問題があります。
ここが現場ではかなり困るポイントですよね。
複数拠点から出荷したい、倉庫ごとに在庫を分けて管理したい。
こうしたビジネス上の要件でマルチロケーションを導入すると、せっかくの自動連携が途切れてしまうのです。
このプロジェクトでは、マルチロケーション環境でも動作する独自の連携アプリを構築し、失われた自動化を取り戻しました。
「標準連携が止まるなら、止まらない設計を作る」というアプローチです。
なぜ標準連携が動かなくなるのか
Shopifyの標準NextEngine連携は、単一ロケーション(倉庫)を前提として設計されています。
前提が変わると連携が崩れる、という典型例です。
1つの倉庫のみ
自動同期OK
倉庫A + 倉庫B
連携が切れる
複数ロケーションを追加した時点で、以下の機能が停止します:
- 注文データのNextEngineへの自動転送
- 出荷完了時のお客様への自動通知
- 在庫数の同期
本プロジェクトで実現したこと
標準連携の代わりとなる独自アプリを構築し、マルチロケーション環境でも以下の自動化を実現しました。
必要な自動化を要素ごとに分解して実装しています。
1. 注文データの自動転送
Shopifyで注文が発生すると、Webhookを受信してNextEngineへ自動的にデータを送信。どの倉庫から出荷するかに関わらず、注文情報は確実にNextEngineへ届きます。
2. 発送完了の自動通知
NextEngineで発送処理を完了すると、Shopifyへ出荷情報を自動登録。お客様には追跡番号付きの発送通知メールが届きます。
3. 複数店舗への対応
複数のShopifyストアを運営している場合も、店舗ごとに独立した設定で連携可能。店舗が増えても同じ仕組みで対応できます。
4. スプレッドシート連携
Google Sheetsとの双方向連携により、売上データの自動エクスポートや在庫の一括更新が可能。日々の集計作業を効率化します。
5. 信頼性とエラー対策
認証トークンの自動更新、処理の重複防止、詳細なログ記録など、安定稼働のための仕組みを実装しています。
全体アーキテクチャ
倉庫A・倉庫B からの注文・出荷
注文データ変換・出荷情報同期・重複チェック・エラーハンドリング
受注管理
双方向データ連携
標準連携との比較
技術スタック
各機能の詳細
それぞれの機能について、技術的な仕組みを詳しく解説しています。
- 注文連携の仕組み - WebhookからNextEngineへの注文データ転送
- 発送通知の仕組み - 出荷完了時の自動通知フロー
- 複数店舗管理 - 店舗ごとの設定分離と認証情報管理
- スプレッドシート連携 - データの自動エクスポートと在庫同期
- 信頼性設計 - トークン自動更新とエラー対策
まとめ
Shopifyのマルチロケーション機能は、複数拠点での在庫管理や出荷を可能にする便利な機能です。
一方で、NextEngineとの標準連携が動かなくなるという制約があります。
本プロジェクトでは、独自の連携アプリを構築することでこの制約を解消し、マルチロケーション環境でも従来と同等以上の自動化を実現しました。