dropshipping-integration について
EC事業者向けに、プラットフォーム別の設定からカスタムのヘッドレス実装まで、ドロップシッピング連携を案内するスキルです。仕入先の在庫同期、注文振り分け、利益追跡を扱います。
主な機能
- 01ECプラットフォーム別の連携選択
- 02仕入先在庫の同期
- 03仕入先への注文自動振り分け
- 04ドロップシッピング利益の追跡
- 05カスタム連携の案内
活用シーン
- 01在庫を持たない店舗の立ち上げ
- 02既存商品群へのドロップシッピング商品の追加
- 03価格・在庫・地域に基づく仕入先選択
- 04仕入先在庫と販売利益の照合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill dropshipping-integrationインストール後、Claude Code で/dropshipping-integrationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
tile.jsonevals/dropship-database-schema-design/criteria.jsontask.mdevals/inventory-sync-and-margin-reporting/criteria.jsontask.mdevals/supplier-order-routing-and-submission/criteria.jsontask.md詳細
ドロップシッピング連携
概要
ドロップシッピング連携では、顧客の注文をサプライヤーの倉庫に自動的に振り分け、サプライヤーの在庫をストアフロントと同期し、販売ごとの利益率を追跡します。適切に設定すれば、実在庫に一切触れることなく、顧客に商品を期日どおりに届けられます。設定が不十分だと、在庫の過剰販売やフルフィルメントの失敗によって、評判を損ないます。
このスキルでは、適切なツールを使ってプラットフォームでドロップシッピングを設定する方法を説明し、ゼロから構築する方向けに、カスタム/ヘッドレスの実装についても解説します。
このスキルを使用する場面
- 実在庫を持たずにストアを立ち上げ、注文をサプライヤーの倉庫に直接振り分ける場合
- 自社在庫に加えて、ドロップシッピングでフルフィルメントする商品カテゴリーを追加する場合
- 価格、在庫、所在地に基づいて注文ごとに最適なサプライヤーを選ぶ、複数サプライヤー対応の振り分けエンジンを構築する場合
- サプライヤーの在庫状況フィード(CSV、EDI、API)に合わせて、ストアフロントの在庫を同期する必要がある場合
- 会計やベンダーのパフォーマンス報告のために、ドロップシッピングの利益率を追跡する場合
基本手順
ステップ 1:プラットフォームを確認し、適切な連携方法を選択する
| プラットフォーム | 推奨ツール | 理由 |
|---|---|---|
| Shopify | DSers(無料)、AutoDS、または Spocket | DSers は AliExpress の公式パートナーです。AutoDS と Spocket は、プレミアムまたは米国拠点のサプライヤーに対応し、注文の自動振り分けを行います |
| WooCommerce | AliDropship プラグイン、DropshipMe、または WooCommerce + カスタム webhook | AliDropship は AliExpress の自動化に対応します。その他のサプライヤーには、WooCommerce の webhook を使ってサプライヤーの API に注文を送信します |
| BigCommerce | Modalyst、Spocket、または BigCommerce + カスタム連携 | Modalyst と Spocket には、在庫同期に対応した BigCommerce のネイティブアプリがあります |
| カスタム/ヘッドレス | サプライヤーの API または CSV/EDI フィードを使って、サプライヤー連携レイヤーを構築します | 振り分けロジック、利益率の追跡、サプライヤーの選定を完全に制御できます |
ステップ 2:在庫同期を設定する
ストアフロントの在庫数をサプライヤーの在庫状況と同期することは、最も重要な作業です。在庫の過剰販売は、顧客の信頼をただちに損ないます。
Shopify
DSers を使用する場合(AliExpress のドロップシッピング):
- Shopify App Store から DSers をインストールします
- DSers の設定で AliExpress アカウントを接続します
- DSers → Products → Import から AliExpress の商品をインポートします
- DSers が数時間ごとに在庫数を自動同期します
- DSers → Settings → Supplier で「Auto-update inventory」を有効にし、サプライヤーの在庫を Shopify の在庫に反映します
Spocket を使用する場合(米国/EU のサプライヤー):
- Shopify App Store から Spocket をインストールします
- Spocket のマーケットプレイスで商品を探し、Shopify にインポートします
- Spocket は在庫の変更を自動的に同期します。手動での設定は不要です
- Spocket の設定で「Auto-fulfill orders」を有効にし、新しい Shopify の注文をサプライヤーに自動的に振り分けます
AutoDS を使用する場合(複数サプライヤー):
- Shopify App Store から AutoDS をインストールします
- サプライヤー(AliExpress、Amazon、Walmart など)を追加し、それらの商品をインポートします
- AutoDS がサプライヤーの価格と在庫を監視し、Shopify の商品リストを自動的に更新します
- AutoDS → Settings → Price Rules で価格ルールを設定し、マークアップを自動設定します
WooCommerce
AliDropship プラグインを使用する場合:
- AliDropship プラグインを購入してインストールします
- Chrome 拡張機能を使って、AliExpress から WooCommerce に商品を直接インポートします
- AliDropship → Settings → Auto-update で、価格と在庫の自動更新を有効にします
- 注文のルーティングについて:プラグインのダッシュボードで注文を承認すると、AliDropship が AliExpress に注文を自動送信します
AliExpress 以外のサプライヤーの場合:
- WooCommerce Zapier 拡張機能をインストールするか、n8n(無料、セルフホスト可能)を使用して、WooCommerce の注文 Webhook をサプライヤーのシステムに接続します
- WooCommerce → Settings → Advanced → Webhooks に移動し、「Order created」イベント用の Webhook を作成します
- Webhook URL を、注文データを整形してサプライヤーに転送する自動化ワークフロー(Zapier/n8n)に設定します
- 在庫同期には、毎日実行する WP-Cron ジョブをスケジュールし、サプライヤーの CSV フィードを取得して、REST API 経由で WooCommerce の在庫数を更新します
BigCommerce
Modalyst を使用する場合:
- BigCommerce App Marketplace から Modalyst をインストールします
- Modalyst のサプライヤーカタログを閲覧し、商品を BigCommerce にインポートします
- 接続すると、Modalyst が在庫同期と注文ルーティングを自動的に処理します
Spocket を使用する場合:
- BigCommerce App Marketplace から Spocket をインストールします
- 商品をインポートし、Spocket の設定で自動フルフィルメントを有効にします
- Spocket の商品を含む新規注文は、サプライヤーに自動的にルーティングされます
カスタム/ヘッドレス
ヘッドレスのストアフロントでは、サプライヤー統合レイヤーを構築します:
// Supplier product and inventory schema
interface SupplierProduct {
supplierId: string;
supplierSku: string; // supplier's own SKU
internalProductId: string; // your product ID
costPriceCents: number; // what you pay the supplier
stockQty: number;
lastSyncedAt: Date;
}
// Route an order line to the best available supplier
async function selectBestSupplier(
productId: string,
requiredQty: number
): Promise<SupplierProduct | null> {
// Pick the cheapest in-stock supplier with enough quantity
return db.supplierProducts.findOne({
internal_product_id: productId,
stock_qty: { gte: requiredQty },
is_active: true,
}, { orderBy: ['cost_price_cents', 'asc'] });
}
// Sync supplier inventory from CSV feed
async function syncSupplierInventoryFromCsv(
supplierId: string,
csvContent: string
): Promise<void> {
const rows = parseCsv(csvContent); // [{sku, qty, cost}]
for (const row of rows) {
await db.supplierProducts.upsert({
supplier_id: supplierId,
supplier_sku: row.sku,
stock_qty: parseInt(row.qty),
cost_price_cents: Math.round(parseFloat(row.cost) * 100),
last_synced_at: new Date(),
});
}
// Zero out SKUs not in the feed (discontinued)
const activeSKUs = new Set(rows.map(r => r.sku));
const allProducts = await db.supplierProducts.findBySupplierId(supplierId);
for (const sp of allProducts) {
if (!activeSKUs.has(sp.supplier_sku)) {
await db.supplierProducts.update(sp.id, { stock_qty: 0 });
}
}
}
// Submit a dropship order to a supplier API
async function submitDropshipOrder(params: {
supplierApiEndpoint: string;
supplierApiKey: string;
orderReference: string;
shippingAddress: Address;
items: { supplierSku: string; quantity: number }[];
}): Promise<string> {
const response = await fetch(params.supplierApiEndpoint + '/orders', {
method: 'POST',
headers: {
'Authorization': `Bearer ${params.supplierApiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
reference: params.orderReference,
ship_to: params.shippingAddress,
items: params.items,
}),
});
if (!response.ok) throw new Error(`Supplier API error: ${response.status}`);
const result = await response.json();
return result.order_id; // supplier's order reference
}
ステップ 3:注文の自動ルーティングを設定する
Shopify
- DSers:DSers → Settings → Automatic Actions に移動し、「Auto-sync tracking number to Shopify」と「Auto-fulfill Shopify orders」を有効にします
- AutoDS:AutoDS → Settings で Auto-Orders を有効にします。Shopify で支払い済みの注文はサプライヤーに自動送信され、追跡番号は Shopify のフルフィルメントに同期されます
- サプライヤーへの注文が失敗した場合(在庫切れなど)、DSers と AutoDS からメールで通知されるため、手動で別のサプライヤーに振り替えられます
WooCommerce
- AliDropship の場合:AliDropship ダッシュボードで承認された注文は自動送信されます。AliDropship → Orders に移動して保留中の注文を確定するか、設定で完全自動化を有効にします
- カスタムのサプライヤー統合の場合:WooCommerce の Webhook を使ってサプライヤーへの注文送信をトリガーし、2 つ目の Webhook またはポーリングを使って追跡番号を受信した後、WooCommerce REST API(
POST /wp-json/wc/v3/orders/{id})経由で注文をフルフィルメント済みにします
BigCommerce
- Modalyst と Spocket はどちらも注文ルーティングを自動的に処理します。BigCommerce → Orders を監視し、「Fulfillment」列を確認してください。サプライヤーにルーティングされた注文にはサプライヤー名が表示されます
- 追跡番号について:どちらのアプリも追跡情報を BigCommerce の注文に自動同期し、BigCommerce に組み込まれた出荷通知メールを送信します
ステップ 4:ドロップシッピングの利益率を追跡する
利益率の追跡は非常に重要です。気付かないうちに、仕入れ価格が販売価格に対して変動することがあります。
Shopify
- Shopify Analytics → Profit レポートを使用します(Shopify 管理画面で原価を入力する必要があります)
- Shopify 管理画面で各商品のバリエーションに移動し、「Cost per item」を入力します。Shopify が利益率を自動計算します
- 複数のサプライヤーを追跡する場合:DSers/AutoDS から注文と原価をエクスポートし、Google Sheet または QuickBooks を使って注文ごとの利益率を計算します
WooCommerce
- WooCommerce Cost of Goods プラグイン(SkyVerge)をインストールすると、商品ごとの原価を追跡し、WooCommerce のレポートで利益率を自動計算できます
- AliDropship の分析ダッシュボードでは、原価と販売価格を確認できます
BigCommerce
- BigCommerce 管理画面 → Products → [Product] → Variants → Cost で、各商品のバリエーションに仕入れ価格を入力します
- BigCommerce に組み込まれた Insights レポート(Plus 以上で利用可能)では、商品ごとの利益率を確認できます
ベストプラクティス
- 在庫を少なくとも4時間ごとに同期する — 仕入先の在庫は頻繁に変動します。回転の速いSKUについては、仕入先のAPIが対応していれば1時間ごとに同期します
- 在庫に余裕を持たせる — 仕入先ごとに最後の3〜5個は販売しないようにします。同期の間に在庫が変動する可能性があり、「在庫あり」というデータが古くなっている場合があります
- 仕入先の注文参照番号を保存する — カスタマーサービスが特定の発送について仕入先に直接問い合わせられるよう、仕入先の注文確認番号を必ず保存します
- 仕入先ごとに納期を管理する — 仕入先によって出荷速度は異なります。一般的な納期ではなく、仕入先ごとの納期を使って正確な配送予定を表示します
- 仕入先が発送したら、すぐに追跡番号を顧客に送る — ほとんどの仕入先アプリでは追跡情報が自動で同期されます。アプリの設定でこれを有効にし、サンプル注文でテストします
- 仕入先の請求書を毎月照合する — 請求額と注文時に記録した金額を比較します。価格の不一致は積み重なると無視できない損失になります
よくある問題
| 問題 | 解決策 |
|---|---|
| 同期後に仕入先で在庫切れになった商品を顧客が注文する | 頻繁に同期し、在庫に余裕を持たせます。在庫切れが発生した場合に備えて、DSers/AutoDSでメールアラートを有効にします |
| 仕入先が間違った商品を発送する | ほとんどの仕入先アプリでは、発送された商品を確認しません。仕入先に直接連絡し、注文参照番号を手元に用意します |
| アプリが再試行した際に、ドロップシッピング注文が二重に登録される | DSersとAutoDSは内部で冪等性を使用します。カスタム統合では、再送信する前に既存の仕入先注文参照番号を確認します |
| 利益率の計算で送料が考慮されていない | 「送料無料」を提供していても仕入先への送料を支払っている場合は、その金額を利益率の計算から差し引きます。これは実際にかかる費用です |
| 追跡番号がプラットフォームに同期されない | アプリの追跡情報同期設定を確認します。WooCommerceのWebhookについては、WooCommerce → 設定 → 高度な設定 → WebhookでWebhookの配信ログを確認します |
関連スキル
- @order-fulfillment-workflow
- @vendor-management
- @shipment-tracking
- @multi-channel-selling
- @order-management-system