Code Depot

【Shopify】コレクションをnode.jsで一括登録する(AdminAPI)

1〜12月用のコレクションを作成

node.js

import fetch from 'node-fetch'; // v3以上なら ESM形式(package.jsonで "type": "module")

const shop = 'ドメイン.myshopify.com';
const accessToken = 'AdminAPIのアクセストークン';

// 1〜12月のコレクションを作成
const collections = [];
for (let index = 1; index <= 12; index++) {
    const array = {
        title: `${index}月から販売する商品`,
        handle: `sales-start-${String(index).padStart(2, '0')}`,
        template_suffix: 'weddings_fair',
        rules: [
            { 
                column: 'tag', 
                relation: 'equals', 
                condition: `${index}月` 
            }
        ]
    }
    collections.push(array);
}

async function createSmartCollection(collection) {
    const res = await fetch(`https://${shop}/admin/api/2024-01/smart_collections.json`, {
        method: 'POST',
        headers: {
            'X-Shopify-Access-Token': accessToken,
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({ smart_collection: collection })
    });

    const data = await res.json();
    console.log(`作成: ${data.smart_collection?.title || 'エラー'}`); // デバック用
}

collections.forEach(createSmartCollection);

免責事項

  • 当ブログでは、執筆者の経験に基づいた技術情報や知識を提供していますが、その正確性や普遍性を保証するものではありません。情報は執筆時点のものであり、技術の進展により古くなる可能性があります。これらの情報を利用する際は、自己責任で行ってください。必要に応じて専門家の助言を求めることをお勧めします。
  • 当ブログで提供するプログラムコードは、執筆者の最善の知識に基づいていますが、その正確性や完全性を保証するものではありません。コードの利用や実行により生じた損害や問題については、一切の責任を負いかねます。コードの使用は、自己責任で行ってください。
  • 当サイトで使用しているスクリーンショット画像について、著作権はサイトの権利者に帰属します。掲載に不都合がある場合、お手数ですがお問い合わせフォームよりご連絡ください。
  • 当サイトからリンクよって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いかねますのでご了承ください。
  • 当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。