EC業務自動化プロジェクト

マルチロケーション運用で途切れたNextEngine連携を独自アプリで再構築

EC自動化受注管理NextEngineShopifyマルチロケーション
読了時間: 8分

はじめに

ShopifyとNextEngineは、デフォルトで連携機能が提供されています。注文が入れば自動的にNextEngineへ反映され、出荷処理を行えばお客様に通知が届く。通常はこの標準連携で十分に運用できます。

しかし、Shopifyに複数の倉庫(ロケーション)を設定すると、この標準連携が機能しなくなるという問題があります。

複数拠点から出荷したい、倉庫ごとに在庫を分けて管理したい——こうしたビジネス上の要件でマルチロケーションを導入すると、せっかくの自動連携が途切れてしまうのです。

このプロジェクトでは、マルチロケーション環境でも動作する独自の連携アプリを構築し、失われた自動化を取り戻しました。

なぜ標準連携が動かなくなるのか

Shopifyの標準NextEngine連携は、単一ロケーション(倉庫)を前提として設計されています。

単一ロケーション(標準連携が動作)
Shopify

1つの倉庫のみ

標準連携
NextEngine

自動同期OK

マルチロケーション(標準連携が停止)
Shopify

倉庫A + 倉庫B

×
NextEngine

連携が切れる

複数ロケーションを追加した時点で、以下の機能が停止します:

  • 注文データのNextEngineへの自動転送
  • 出荷完了時のお客様への自動通知
  • 在庫数の同期

本プロジェクトで実現したこと

標準連携の代わりとなる独自アプリを構築し、マルチロケーション環境でも以下の自動化を実現しました。

1. 注文データの自動転送

Shopifyで注文が発生すると、Webhookを受信してNextEngineへ自動的にデータを送信。どの倉庫から出荷するかに関わらず、注文情報は確実にNextEngineへ届きます。

2. 発送完了の自動通知

NextEngineで発送処理を完了すると、Shopifyへ出荷情報を自動登録。お客様には追跡番号付きの発送通知メールが届きます。

3. 複数店舗への対応

複数のShopifyストアを運営している場合も、店舗ごとに独立した設定で連携可能。店舗が増えても同じ仕組みで対応できます。

4. スプレッドシート連携

Google Sheetsとの双方向連携により、売上データの自動エクスポートや在庫の一括更新が可能。日々の集計作業を効率化します。

5. 信頼性とエラー対策

認証トークンの自動更新、処理の重複防止、詳細なログ記録など、安定稼働のための仕組みを実装しています。

全体アーキテクチャ

マルチロケーション対応 連携アプリ
Shopify(複数倉庫)

倉庫A・倉庫B からの注文・出荷

Webhook(注文発生時)
連携アプリ(本システム)

注文データ変換・出荷情報同期・重複チェック・エラーハンドリング

API連携
NextEngine

受注管理

Google Sheets

双方向データ連携

標準連携との比較

単一ロケーション
標準連携○ 動作する
本プロジェクト○ 動作する
マルチロケーション
標準連携× 動作しない
本プロジェクト○ 動作する
複数店舗対応
標準連携△ 限定的
本プロジェクト○ 柔軟に対応
スプレッドシート連携
標準連携× なし
本プロジェクト○ 双方向連携
カスタマイズ性
標準連携× 固定仕様
本プロジェクト○ 要件に合わせて調整可能

技術スタック

データ保存
採用技術Vercel KV (Redis互換)
役割トークン、設定、状態管理
スケジューラ
採用技術QStash
役割定期実行ジョブの管理
暗号化
採用技術AES-256-GCM
役割認証情報の安全な保存
外部連携
採用技術NextEngine API
役割受注管理システム連携
表計算連携
採用技術Google Sheets API
役割スプレッドシート読み書き
認証
採用技術HMAC-SHA256
役割Webhook署名検証

各機能の詳細

それぞれの機能について、技術的な仕組みを詳しく解説しています。

まとめ

Shopifyのマルチロケーション機能は、複数拠点での在庫管理や出荷を可能にする便利な機能です。しかし、NextEngineとの標準連携が動かなくなるという制約があります。

本プロジェクトでは、独自の連携アプリを構築することでこの制約を解消し、マルチロケーション環境でも従来と同等以上の自動化を実現しました。

関連記事