サイトのAPI図鑑B版
掲載情報が正確でない可能性があります。
ECサイト・マーケティングAPI

Shopify APIでECサイトを拡張する完全ガイド【アプリ開発・自動化】

Shopify Admin API・Storefront APIを使った在庫管理・注文処理・顧客データ取得の自動化方法と、Shopify Appの開発方法を解説します。

#Shopify#ECサイト#App開発#在庫管理

Shopify APIの概要

Shopifyは世界的に広く使われているECプラットフォームで、Admin API・Storefront API・Partner APIなど多様なAPIを提供しています。Shopifyのエコシステムには5,000以上のアプリが存在し、APIを使った機能拡張が盛んです。

主要なAPIの種類

  • Admin API(REST/GraphQL):商品・注文・顧客・在庫の管理
  • Storefront API:フロントエンドからのカート・チェックアウト操作
  • Hydrogen(Remix):ShopifyのヘッドレスコマースフレームワークAPI
  • Partner API:Shopify Partnersのアカウント管理

Admin APIの認証

// プライベートアプリの場合(Admin API Secret)
const response = await fetch(
  'https://your-store.myshopify.com/admin/api/2024-01/products.json?limit=10',
  {
    headers: {
      'X-Shopify-Access-Token': process.env.SHOPIFY_ADMIN_API_KEY
    }
  }
);

商品管理の自動化

// 在庫数を更新する
const updateInventory = async (inventoryItemId, locationId, available) => {
  const response = await fetch(
    'https://your-store.myshopify.com/admin/api/2024-01/inventory_levels/set.json',
    {
      method: 'POST',
      headers: {
        'X-Shopify-Access-Token': process.env.SHOPIFY_ADMIN_API_KEY,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        inventory_item_id: inventoryItemId,
        location_id: locationId,
        available
      })
    }
  );
  return response.json();
};

注文データの取得と処理

// 未発送の注文を取得
GET /admin/api/2024-01/orders.json
  ?fulfillment_status=unfulfilled
  &financial_status=paid
  &limit=50

注文データには顧客情報・配送先・注文商品・決済情報が含まれます。Webhookと組み合わせて注文作成時に自動で倉庫システムに発送指示を送る自動化が実現できます。

Webhookによる自動化

// 注文作成時のWebhook受信
app.post('/webhooks/orders/created', async (req, res) => {
  // HMAC署名の検証
  const hmac = req.headers['x-shopify-hmac-sha256'];
  const isValid = verifyShopifyHMAC(req.body, hmac, process.env.SHOPIFY_WEBHOOK_SECRET);
  if (!isValid) return res.status(401).send('Unauthorized');
  
  const order = req.body;
  // 注文処理ロジック
  await sendOrderConfirmationEmail(order);
  await updateInventorySystem(order.line_items);
  
  res.status(200).send('OK');
});

Shopify Appの開発

Shopify Appはマーチャントのストアに機能を追加するアプリです。Shopify CLIとShopify Remix Appテンプレートを使うと認証・埋め込みUI・Webhookの基盤が自動生成されます。

まとめ

Shopify APIはECサイトの運営効率化・自動化・機能拡張の強力な基盤です。Admin APIで在庫・注文管理を自動化し、Webhookでリアルタイムの処理を実現することで、スケーラブルなEC運営が可能になります。Shopify Appの開発で自社の差別化機能をShopifyエコシステムに展開することも検討してみてください。

よくある質問

Q.Shopify Admin APIとStorefront APIの違いは何ですか?

Admin APIはShopifyの管理機能(注文・商品・顧客の管理・設定変更等)にアクセスするためのAPIで、秘密キーを使った認証が必要です。Storefront APIはフロントエンドから公開的に商品カタログ・カートを操作するためのAPIで、パブリックストアフロントトークンを使います。

Q.Shopify Webhookで受け取れる注文のイベントは?

orders/created(注文作成)・orders/paid(支払い完了)・orders/fulfilled(発送完了)・orders/cancelled(キャンセル)・orders/updated(注文更新)などのイベントを受け取れます。

Q.ShopifyのREST APIとGraphQL APIはどちらを使うべきですか?

ShopifyはGraphQL Admin APIの使用を推奨しており、REST APIは将来的に廃止される機能もあります。新しい開発にはGraphQL Admin APIを採用することを推奨します。ただしREST APIの方がシンプルで学習コストが低いため、小規模な用途ではREST APIも使われています。

関連記事