Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

今回は Barrel が提供する Shopify Vite Plugin を導入して、テーマ拡張機能の開発体験を改善する方法をご紹介します。

対象読者

テーマ拡張機能の開発経験がある方

はじめに

Shopifyのテーマ拡張機能 (Theme app extensions) はShopify アプリ開発において、ストアフロントに機能を追加するための機能です。

Liquid、JavaScript、CSSなどを使って開発することができますが、通常のアプリ開発と比較すると、ローカルでの開発体験はそれほどよくありません。

そこで、今回は Shopify Vite Plugin を導入して、開発体験を改善していきます。

Shopify Vite Plugin とは

Barrel が提供する Vite用プラグインです。ViteをShopify テーマ開発に組み込んで開発体験を改善することを目的として作られていますが、テーマ拡張機能においてもその恩恵を受けることができます。

主な機能は、ViteでビルドしたスクリプトなどをLiquidから簡単に利用することができます。また、ホットリロードにも対応することができます。(単純にViteを組み込むだけだとスクリプトのホットリロードが難しい)

Shopify テーマ拡張機能向けのサンプルプロジェクト集も用意されています。

以降は、公式が用意しているサンプルプロジェクトを元に導入をしていきます。

Shopify Vite Plugin のインストール

環境

  • node: v18.12.0
  • npm: v8.19.2 (pnpmでもyarnでも大丈夫です)

テーマ拡張機能のディレクトリがある前提で進めますので、ない方はShopifyの公式ドキュメントを参考に作成してください。

素のテーマ拡張機能のディレクトリ (例: extensions/theme-extension) に各種パッケージを導入していくため、まずは npm init を実行します。

続いて必要なパッケージをインストールします。

npm i -D vite vite vite-plugin-page-reload vite-plugin-shopify

vite.config.js の設定

テーマ拡張機能のディレクトリに vite.config.js ファイルを作成します。

import { defineConfig } from 'vite'
import pageReload from 'vite-plugin-page-reload'
import shopify from 'vite-plugin-shopify'

export default defineConfig({
  plugins: [
    shopify(),
    pageReload('/tmp/extension.update', {
      delay: 1800,
    }),
  ],
})

.shopifyignore の設定

テーマ拡張機能のディレクトリに .shopifyignore ファイルを作成します。

テーマ拡張機能のデプロイ (shopify app deploy) 時に、テーマ拡張機能と関係のないディレクトリやファイル類があるとエラーが発生するため、以下のディレクトリやファイルを無視するように指定してします。

assets/*.json
frontend/
node_modules/
package.json
vite.config.js

実際に使ってみる

エントリーポイントの作成

  1. テーマ拡張機能のディレクトリに frontend/entrypoints ディレクトリを作成します
  2. 上記のディレクトリ内に entry.js ファイルを作成します
  3. entry.js ファイルに Hello World を表示するコードを記載します
function listener() {
  const helloWorld = document.createElement('p')
  helloWorld.textContent = 'Hello World'
  document.body.insertBefore(helloWorld, document.body.firstChild)
}

const options = { passive: true, once: true }
document.addEventListener('DOMContentLoaded', listener, options)

エントリーポイントを呼び出す

素のテーマ拡張機能のディレクトリに元からある blocks/star_rating.liquid の最上部に下記を追記します。

{% liquid
  render 'vite-tag' with 'entry.js'
-%}

テーマ拡張機能をプレビューする

テーマ拡張機能のディレクトリで vite を実行し、いつものようにテーマ拡張機能のプレビューを実行します。

ページ上部に Hello World が表示されることを確認できたら、entry.js のコードを変更してみましょう。ホットリロードで変更が反映されることを確認できたらOKです!

まとめ

Shopify Vite Plugin の導入方法を必要最小限でご紹介しましたがいかがでしたか?

公式のサンプルプロジェクトではPreactを使っているように、中規模から大規模なテーマ拡張機能を開発するときにとても役立つと思います。

弊社のアプリにも積極的に採用していきたいと思いました。

ブログに戻る
  • Shopifyのポイントアプリ6選|ポイントサービスを導入するメリット・デメリット

    Shopifyのポイントアプリ6選|ポイントサービスを導入するメリット・デメリット

    Tsunライターチーム

    「RuffRuff 予約販売」は在庫切れや新商品販売前、入荷待ちなどのタイミングで発生する機会損失の削減をサポートします。自身のShopifyストアに驚くほど簡単に予約販売を実現し、無制限での予約商品を登録および無制限で予約注文を受け付けることが可能です。また、予約商品と通常商品を同時に注文させないように制限したり、入荷時期が未定な場合は再入荷通知も可能です。他の予約販売アプリにはない商品出荷前に支払回収できる「後払い」機能などのユニークな機能もたくさん存在します。 引用元: RuffRuff 予約販売 アプリを見る デモページを見る 本記事では、Shopifyストアにポイントサービスを導入するメリットやデメリット、ポイントサービスを導入できるShopifyアプリをご紹介します。 ポイントサービスとは ポイントサービスとは、お客様の購入金額に応じて自身のShopifyストアで利用できるポイントを付与するサービスの事です。 ポイントを付与することでお客様の利用頻度を向上させるのと併せて、商品やサービスのファンを増やす事に役立ちます。 Shopifyストアにポイントサービスを導入することで競合ストアよりも選ばれやすくする事にも役立ちます。 同義として「ポイントプログラム」や「ポイントシステム」と呼ばれることもあります。 ポイントサービスを導入するメリット リピート率を向上できる ポイントサービスを導入する最大のメリットは、リピーターを獲得できる点です。ポイントが貯まっているから、貯めているからという理由で、既存顧客に自社ストアを選んでもらいやすくなります。 Shopifyストアを安定運営するには、既存顧客が他社の商品やサービスに乗り換えること(顧客離れ)を防ぐことが大切です。ポイントサービスは既存顧客の囲い込みに役立ち、売り上げの安定化も期待できます。 顧客単価・LTVを向上できる 上述のように、ポイントサービスを導入することで、リピート率が上がるのと比例して、LTVの向上も期待できます。また、「〜円以上の買い物でポイント5倍」や「5のつく日だけポイント5倍」などポイントを絡めたマーケティング施策を行うことで、購入単価の向上も期待できます。 競合ストアと差別化ができる メーカーの意向で値段をあまり下げることが困難な商品やどこでも扱える商品を販売している場合などは、ポイントサービスがあることで競合ストアよりもポイント分だけ差別化することができます。 マーケティング施策の選択肢が増える ポイントと絡めたマーケティングキャンペーンの実施ができるようになるのもメリットの一つです。たとえば、「会員登録したらポイント付与」や「誰かを紹介したらポイント付与」、「誕生日を入力したらポイント付与」、「〜円以上の買い物でポイント5倍」、「5のつく日だけポイント5倍」など、ポイントをインセンティブに様々なマーケティング施策を企画・実施することができます。 ポイントサービスを導入するデメリット 導入や維持にコストがかかる ポイントサービスをShopifyストアに導入する方法として、独自実装またはShopifyアプリの2種類があります。 独自実装する場合は外注費等のコストがかかる可能性もありますし、Shopifyアプリを利用する場合も月額費用だけでなく、顧客数に応じて追加コストが発生する場合があります。 また、dポイントなどの共通ポイントを導入する場合は、加盟店費用やポイント発行手数料など様々なコストも発生します。 手間もかかる ポイントサービスは導入して終わりではありません。導入後はキャンセルや返品が発生した際に、ポイントを取り消す手間が発生しますし、ポイントに関するお客様からの問い合わせも増えます。また、ポイント支払いは、会計上「ポイント引当金」として処理する必要があり、会計処理においても手間が発生します。 一度始めると終わらせるのも大変...

    Shopifyのポイントアプリ6選|ポイントサービスを導入するメリット・デメリット

    Tsunライターチーム

    「RuffRuff 予約販売」は在庫切れや新商品販売前、入荷待ちなどのタイミングで発生する機会損失の削減をサポートします。自身のShopifyストアに驚くほど簡単に予約販売を実現し、無制限での予約商品を登録および無制限で予約注文を受け付けることが可能です。また、予約商品と通常商品を同時に注文させないように制限したり、入荷時期が未定な場合は再入荷通知も可能です。他の予約販売アプリにはない商品出荷前に支払回収できる「後払い」機能などのユニークな機能もたくさん存在します。 引用元: RuffRuff 予約販売 アプリを見る デモページを見る 本記事では、Shopifyストアにポイントサービスを導入するメリットやデメリット、ポイントサービスを導入できるShopifyアプリをご紹介します。 ポイントサービスとは ポイントサービスとは、お客様の購入金額に応じて自身のShopifyストアで利用できるポイントを付与するサービスの事です。 ポイントを付与することでお客様の利用頻度を向上させるのと併せて、商品やサービスのファンを増やす事に役立ちます。 Shopifyストアにポイントサービスを導入することで競合ストアよりも選ばれやすくする事にも役立ちます。 同義として「ポイントプログラム」や「ポイントシステム」と呼ばれることもあります。 ポイントサービスを導入するメリット リピート率を向上できる ポイントサービスを導入する最大のメリットは、リピーターを獲得できる点です。ポイントが貯まっているから、貯めているからという理由で、既存顧客に自社ストアを選んでもらいやすくなります。 Shopifyストアを安定運営するには、既存顧客が他社の商品やサービスに乗り換えること(顧客離れ)を防ぐことが大切です。ポイントサービスは既存顧客の囲い込みに役立ち、売り上げの安定化も期待できます。 顧客単価・LTVを向上できる 上述のように、ポイントサービスを導入することで、リピート率が上がるのと比例して、LTVの向上も期待できます。また、「〜円以上の買い物でポイント5倍」や「5のつく日だけポイント5倍」などポイントを絡めたマーケティング施策を行うことで、購入単価の向上も期待できます。 競合ストアと差別化ができる メーカーの意向で値段をあまり下げることが困難な商品やどこでも扱える商品を販売している場合などは、ポイントサービスがあることで競合ストアよりもポイント分だけ差別化することができます。 マーケティング施策の選択肢が増える ポイントと絡めたマーケティングキャンペーンの実施ができるようになるのもメリットの一つです。たとえば、「会員登録したらポイント付与」や「誰かを紹介したらポイント付与」、「誕生日を入力したらポイント付与」、「〜円以上の買い物でポイント5倍」、「5のつく日だけポイント5倍」など、ポイントをインセンティブに様々なマーケティング施策を企画・実施することができます。 ポイントサービスを導入するデメリット 導入や維持にコストがかかる ポイントサービスをShopifyストアに導入する方法として、独自実装またはShopifyアプリの2種類があります。 独自実装する場合は外注費等のコストがかかる可能性もありますし、Shopifyアプリを利用する場合も月額費用だけでなく、顧客数に応じて追加コストが発生する場合があります。 また、dポイントなどの共通ポイントを導入する場合は、加盟店費用やポイント発行手数料など様々なコストも発生します。 手間もかかる ポイントサービスは導入して終わりではありません。導入後はキャンセルや返品が発生した際に、ポイントを取り消す手間が発生しますし、ポイントに関するお客様からの問い合わせも増えます。また、ポイント支払いは、会計上「ポイント引当金」として処理する必要があり、会計処理においても手間が発生します。 一度始めると終わらせるのも大変...

  • 顧客ロイヤリティプログラムを導入できるShopifyアプリ「Kinchaku」とは?

    顧客ロイヤリティプログラムを導入できるShopifyアプリ「Kinchaku」とは?

    新宮ドミ

    Shopifyアプリ「Kinchaku」とは? Kinchakuアプリは、Shopifyストア向けの顧客ロイヤリティ(会員ポイント)プログラムを運営するためのアプリです。当アプリを利用することで、発行される会員証はApple WalletおよびGoogle Walletに簡単に追加することができ、便利に利用することができます。ポイントは商品発送時に付与されるため、会員は購買行動を通じてポイントを貯めることができます。さらに、貯めたポイントを決済時に利用できるディスカウントコードと交換することができます。 アプリのインストールはこちら   関連記事:Shopifyにポイントサービスを導入するメリット・デメリット Kinchakuの特徴 Kinchakuの特徴は下記3つになります。 ポイントカードの発行枚数は無制限 日本語と英語の両方に対応 会員証はモバイルウォレットにも追加可能 1. ポイントカードの発行枚数は無制限 月額費用によるポイントカードの発行枚数に制限がついていません。そのため、費用を気にせず安心してご利用いただけます。 2. 日本語と英語の両方に対応 アプリは日本語と英語の両方に対応しています。もし、英語が苦手な方でも日本語でアプリをご利用いただけます。 3. 会員証はモバイルウォレットにも追加可能 会員証はウェブ版はもちろんですが、モバイルウォレットにも追加できます。 こんな企業・ストア様におすすめ Kinchakuは小中規模の小売業者様におすすめです。また、下記の商材を扱っているストア様にもおすすめです。 アパレール コスメ スポーツグッズ フィットネスサプリ アプリのインストールはこちら Kinchakuのおすすめ機能 Kinchakuでは下記の3つの機能がおすすめです。...

    顧客ロイヤリティプログラムを導入できるShopifyアプリ「Kinchaku」とは?

    新宮ドミ

    Shopifyアプリ「Kinchaku」とは? Kinchakuアプリは、Shopifyストア向けの顧客ロイヤリティ(会員ポイント)プログラムを運営するためのアプリです。当アプリを利用することで、発行される会員証はApple WalletおよびGoogle Walletに簡単に追加することができ、便利に利用することができます。ポイントは商品発送時に付与されるため、会員は購買行動を通じてポイントを貯めることができます。さらに、貯めたポイントを決済時に利用できるディスカウントコードと交換することができます。 アプリのインストールはこちら   関連記事:Shopifyにポイントサービスを導入するメリット・デメリット Kinchakuの特徴 Kinchakuの特徴は下記3つになります。 ポイントカードの発行枚数は無制限 日本語と英語の両方に対応 会員証はモバイルウォレットにも追加可能 1. ポイントカードの発行枚数は無制限 月額費用によるポイントカードの発行枚数に制限がついていません。そのため、費用を気にせず安心してご利用いただけます。 2. 日本語と英語の両方に対応 アプリは日本語と英語の両方に対応しています。もし、英語が苦手な方でも日本語でアプリをご利用いただけます。 3. 会員証はモバイルウォレットにも追加可能 会員証はウェブ版はもちろんですが、モバイルウォレットにも追加できます。 こんな企業・ストア様におすすめ Kinchakuは小中規模の小売業者様におすすめです。また、下記の商材を扱っているストア様にもおすすめです。 アパレール コスメ スポーツグッズ フィットネスサプリ アプリのインストールはこちら Kinchakuのおすすめ機能 Kinchakuでは下記の3つの機能がおすすめです。...

  • Shopifyで購入回数を毎月3回までに制限する方法

    Shopifyで購入回数を毎月3回までに制限する方法|Shopifyアプリも紹介

    Tsunライターチーム

    本記事では、1会員あたり毎月3回までしか購入出来ないように制限する方法を紹介します。 下記のブログ記事では、Shopifyで個数や金額、重量など様々な購入制限を実施する方法を紹介しています。ご参考にしてください。 Shopifyで購入制限(販売制限)を実施する方法 アウトプット 本設定を行うことで、「購入回数0回〜2回までの会員」と「ログインしていないユーザー(以降、ゲスト会員)や購入回数3回の会員」とで商品は下記の状態となります。 購入回数0回〜2回までの会員 商品を購入できる ゲスト会員または購入回数3回の会員 商品を購入できない 購入を試みた場合にアラートメッセージが表示される 事前準備 本設定を進めるにあたり「RuffRuff 注文制限」と「Shopify Flow」を利用します。そのため、まだインストールされていない方はインストールをお願いします。 RuffRuff 注文制限  「RuffRuff 注文制限」は完全日本語対応で、日本初のCart and Checkout Validation APIを利用したShopify アプリです。 「Cart and Checkout Validation API」を利用することにより、これまでフロントでしか対応できなかった注文制限の処理をサーバサイドで実現しました。そのため、既存の注文制限アプリに比べ、より突破されにくい堅牢な注文制限を実現することが可能です。 アプリ1つで「1回の注文あたり1個まで」「1回の注文あたり3個から」などの個数制限や「合計金額3,000円まで購入を可能にする」「合計金額1,000円以上から購入を可能にする」などの金額制限、「他商品とは同時購入不可」や「特定カテゴリの商品のみ同時購入可能」などの同梱制限を実施できます。 アプリを見る...

    Shopifyで購入回数を毎月3回までに制限する方法|Shopifyアプリも紹介

    Tsunライターチーム

    本記事では、1会員あたり毎月3回までしか購入出来ないように制限する方法を紹介します。 下記のブログ記事では、Shopifyで個数や金額、重量など様々な購入制限を実施する方法を紹介しています。ご参考にしてください。 Shopifyで購入制限(販売制限)を実施する方法 アウトプット 本設定を行うことで、「購入回数0回〜2回までの会員」と「ログインしていないユーザー(以降、ゲスト会員)や購入回数3回の会員」とで商品は下記の状態となります。 購入回数0回〜2回までの会員 商品を購入できる ゲスト会員または購入回数3回の会員 商品を購入できない 購入を試みた場合にアラートメッセージが表示される 事前準備 本設定を進めるにあたり「RuffRuff 注文制限」と「Shopify Flow」を利用します。そのため、まだインストールされていない方はインストールをお願いします。 RuffRuff 注文制限  「RuffRuff 注文制限」は完全日本語対応で、日本初のCart and Checkout Validation APIを利用したShopify アプリです。 「Cart and Checkout Validation API」を利用することにより、これまでフロントでしか対応できなかった注文制限の処理をサーバサイドで実現しました。そのため、既存の注文制限アプリに比べ、より突破されにくい堅牢な注文制限を実現することが可能です。 アプリ1つで「1回の注文あたり1個まで」「1回の注文あたり3個から」などの個数制限や「合計金額3,000円まで購入を可能にする」「合計金額1,000円以上から購入を可能にする」などの金額制限、「他商品とは同時購入不可」や「特定カテゴリの商品のみ同時購入可能」などの同梱制限を実施できます。 アプリを見る...

  • Shopifyのセット販売(バンドル販売)アプリ|メリット・デメリットも紹介

    Shopifyのセット販売(バンドル販売)アプリ4選|メリット・デメリットも紹介

    Tsunライターチーム

    セット販売(バンドル販売)のメリットやデメリットを解説し、Shopify(ショッピファイ)サイトでセット販売を実現するShopifyアプリの選び方を解説。Rebolt Bundle & UpsellやWide Bundlesなどの有名アプリもご紹介しています。最近リリースされたShopify Bundles appについても紹介しています。

    Shopifyのセット販売(バンドル販売)アプリ4選|メリット・デメリットも紹介

    Tsunライターチーム

    セット販売(バンドル販売)のメリットやデメリットを解説し、Shopify(ショッピファイ)サイトでセット販売を実現するShopifyアプリの選び方を解説。Rebolt Bundle & UpsellやWide Bundlesなどの有名アプリもご紹介しています。最近リリースされたShopify Bundles appについても紹介しています。

1 4
  • 【Tips】Shopify の GraphQL Admin API で顧客総数を取得する

    【Tips】Shopify の GraphQL Admin API で顧客総数を取得する

    小笠原 京平

    Shopifyの GraphQL Admin API の小ネタです。 Shopifyの顧客総数を取得したい場合のクエリは、いざ探そうと思ってもパッと見つからないのでメモしておきます。 対象読者 Shopify GraphQL Admin API を使ったことがある方 顧客総数を取得するクエリ 2023-07 バージョンから CustomerSegmentMemberConnection に変更があったため、2023-07より前と以降で若干クエリが異なります。 ※ changelog 2023-07以降 { customerSegmentMembers(first: 1, query: "") { totalCount } } 2023-07より前...

    【Tips】Shopify の GraphQL Admin API で顧客総数を取得する

    小笠原 京平

    Shopifyの GraphQL Admin API の小ネタです。 Shopifyの顧客総数を取得したい場合のクエリは、いざ探そうと思ってもパッと見つからないのでメモしておきます。 対象読者 Shopify GraphQL Admin API を使ったことがある方 顧客総数を取得するクエリ 2023-07 バージョンから CustomerSegmentMemberConnection に変更があったため、2023-07より前と以降で若干クエリが異なります。 ※ changelog 2023-07以降 { customerSegmentMembers(first: 1, query: "") { totalCount } } 2023-07より前...

  • Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

    Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

    小笠原 京平

    今回は Barrel が提供する Shopify Vite Plugin を導入して、テーマ拡張機能の開発体験を改善する方法をご紹介します。 対象読者 テーマ拡張機能の開発経験がある方 はじめに Shopifyのテーマ拡張機能 (Theme app extensions) はShopify アプリ開発において、ストアフロントに機能を追加するための機能です。 Liquid、JavaScript、CSSなどを使って開発することができますが、通常のアプリ開発と比較すると、ローカルでの開発体験はそれほどよくありません。 そこで、今回は Shopify Vite Plugin を導入して、開発体験を改善していきます。 Shopify Vite Plugin とは Barrel が提供する Vite用プラグインです。ViteをShopify テーマ開発に組み込んで開発体験を改善することを目的として作られていますが、テーマ拡張機能においてもその恩恵を受けることができます。...

    Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

    小笠原 京平

    今回は Barrel が提供する Shopify Vite Plugin を導入して、テーマ拡張機能の開発体験を改善する方法をご紹介します。 対象読者 テーマ拡張機能の開発経験がある方 はじめに Shopifyのテーマ拡張機能 (Theme app extensions) はShopify アプリ開発において、ストアフロントに機能を追加するための機能です。 Liquid、JavaScript、CSSなどを使って開発することができますが、通常のアプリ開発と比較すると、ローカルでの開発体験はそれほどよくありません。 そこで、今回は Shopify Vite Plugin を導入して、開発体験を改善していきます。 Shopify Vite Plugin とは Barrel が提供する Vite用プラグインです。ViteをShopify テーマ開発に組み込んで開発体験を改善することを目的として作られていますが、テーマ拡張機能においてもその恩恵を受けることができます。...

  • Shopify Admin API GraphiQLとは? 使い方やメリット・デメリットを解説

    Shopify Admin API GraphiQLとは? 使い方やメリット・デメリットを解説します

    小笠原 京平

    ShopifyのAdmin APIにはGraphQLを用いたAPIがあります。手軽に試す方法としてGraphiQL (GraphQLではなくGraphiQLなのに注意) というIDEがありますので、今回はShopify GraphiQLの使い方やメリット・デメリットを解説します。 GraphiQLとは GraphQL公式が運営しているオープンソースプロジェクトです。GraphQLをブラウザ上でインタラクティブに操作・実行することができます。 グラフィカル (/ˈɡrafək(ə)l/) と発音します。(graphicalと同じ発音) GraphQLとは GraphQLはAPIのためのクエリ言語であり、既存のデータでクエリを実行するためのランタイムです。 GraphQLはAPI内のデータの完全で理解しやすい説明を提供し、クライアントに必要なものだけを要求する力を与え、APIを長期的に進化させることを容易にし、強力な開発者ツールを可能にします。 引用: GraphQL | A query language for your API Shopify GraphiQLの使い方 Shopify GraphiQLは各ストアにアプリをインストールするだけで使えますが、Shopify Devサイト上でデモを触れるので、まずは触ってみましょう! https://shopify.dev/docs/apps/tools/graphiql-admin-api Workshopをやってみよう! Shopifyが作成した「Learn...

    Shopify Admin API GraphiQLとは? 使い方やメリット・デメリットを解説します

    小笠原 京平

    ShopifyのAdmin APIにはGraphQLを用いたAPIがあります。手軽に試す方法としてGraphiQL (GraphQLではなくGraphiQLなのに注意) というIDEがありますので、今回はShopify GraphiQLの使い方やメリット・デメリットを解説します。 GraphiQLとは GraphQL公式が運営しているオープンソースプロジェクトです。GraphQLをブラウザ上でインタラクティブに操作・実行することができます。 グラフィカル (/ˈɡrafək(ə)l/) と発音します。(graphicalと同じ発音) GraphQLとは GraphQLはAPIのためのクエリ言語であり、既存のデータでクエリを実行するためのランタイムです。 GraphQLはAPI内のデータの完全で理解しやすい説明を提供し、クライアントに必要なものだけを要求する力を与え、APIを長期的に進化させることを容易にし、強力な開発者ツールを可能にします。 引用: GraphQL | A query language for your API Shopify GraphiQLの使い方 Shopify GraphiQLは各ストアにアプリをインストールするだけで使えますが、Shopify Devサイト上でデモを触れるので、まずは触ってみましょう! https://shopify.dev/docs/apps/tools/graphiql-admin-api Workshopをやってみよう! Shopifyが作成した「Learn...

  • ブログ記事 Shopifyの必須Webhooks (Mandatory Webhooks)とは? GDPRや対応例など

    Shopifyの必須Webhooks (Mandatory Webhooks)とは? GDPR...

    小笠原 京平

    今回はShopifyアプリ開発を始めたときに詰まるポイントの1つ「必須Webhooks」について解説します。実装をしていなかったり、実装が不十分なためにレビューが通らなかった経験をされた方は多いんじゃないでしょうか?レビューで詰まらないためにも、ぜひご確認ください! Webhooksとは? Shopifyの必須Webhooksを説明する前に、Webhooksについて理解しましょう。Webhooksとは、Webアプリケーションと連携するために用いられるイベント通知の仕組みです。Webhooksを使うことで、あるWebアプリケーションで特定のイベントが起きたときに、データを受け取ったり、何かしらの動作をすることが可能になります。 エンジニアにとって身近な例でいうと、GitHubにコードをプッシュしたときに自動でビルドやテストをするときにWebhooksが使われています。 ShopifyのWebhooks そんなWebhooksはShopifyでも使うことができます。Shopifyアプリ開発では、Shopify Admin APIからWebhooksを使うことができます。また、アプリ以外でもShopify管理画面からWebhookを作成することもできます。 ShopifyのWebhooksにはHTTPSのエンドポイントのほか、Amazon EventBridgeやGoogle Cloud Pub/Subといったメッセージングサービスを使うこともできます。購読するイベントやマーチャントによっては瞬間的に大量のWebhooksを処理する必要があるため、スケールさせやすいメッセージングサービスを使ってWebhooksを処理することをおすすめします。 必須Webhooks (Mandatory Webhooks) とは? 必須Webhooksとは、Shopifyアプリを開発するときに必ず実装しなければならない3つのWebhooksのことです。この3つのWebhooksはGDPRに対応するために必要なWebhooksで、EU加盟国に関わらず、すべてのShopifyアプリはGDPRに準拠しなければなりません。必須Webhooksを実装していない場合、アプリレビューで却下されます。 (3つの必須Webhooks以外のWebhooksは任意で実装すればOKです。) また、必須Webhooksの3つはHTTPSのエンドポイントでのみ作成可能です。上述したEventBridgeやPub/Subを利用することはできません。 GDPRとは? GDPR(General Data Protection Regulation:一般データ保護規則)は、ヨーロッパ連合(EU)の個人情報保護法規で、2018年5月25日から施行されています。これは、EU全域での個人情報のプライバシーを保護し、データの取り扱い方に関して個々の人々により多くの制御権を付与するためのものです。 GDPRは、EU市民または居住者の個人データを処理する全ての組織に適用されます。これには、EU内外の組織も含まれ、EUの市民や居住者のデータを処理する場合、世界のどこにその組織があろうともGDPRの規定を守る必要があります。 GDPRの主な目的は、個人が自分の個人データをどのように収集、保存、使用されるのかを知り、そしてその制御をする権利を持つべきであるという考え方を強化し、統一化することです。これは、個人情報の透明性、アクセスの権利、修正の権利、忘れられる権利(データ削除の権利)、データ移行の権利など、いくつかの重要な権利を個々の人々に付与します。 参考: ChatGPT 必須Webhooksの対応例 上記で説明したように、必須WebhooksとはGDPRに準拠するためのWebhooksなので、顧客情報、ストア情報をデータベースなどに保存しているかどうかで対応方法が変わります。...

    Shopifyの必須Webhooks (Mandatory Webhooks)とは? GDPR...

    小笠原 京平

    今回はShopifyアプリ開発を始めたときに詰まるポイントの1つ「必須Webhooks」について解説します。実装をしていなかったり、実装が不十分なためにレビューが通らなかった経験をされた方は多いんじゃないでしょうか?レビューで詰まらないためにも、ぜひご確認ください! Webhooksとは? Shopifyの必須Webhooksを説明する前に、Webhooksについて理解しましょう。Webhooksとは、Webアプリケーションと連携するために用いられるイベント通知の仕組みです。Webhooksを使うことで、あるWebアプリケーションで特定のイベントが起きたときに、データを受け取ったり、何かしらの動作をすることが可能になります。 エンジニアにとって身近な例でいうと、GitHubにコードをプッシュしたときに自動でビルドやテストをするときにWebhooksが使われています。 ShopifyのWebhooks そんなWebhooksはShopifyでも使うことができます。Shopifyアプリ開発では、Shopify Admin APIからWebhooksを使うことができます。また、アプリ以外でもShopify管理画面からWebhookを作成することもできます。 ShopifyのWebhooksにはHTTPSのエンドポイントのほか、Amazon EventBridgeやGoogle Cloud Pub/Subといったメッセージングサービスを使うこともできます。購読するイベントやマーチャントによっては瞬間的に大量のWebhooksを処理する必要があるため、スケールさせやすいメッセージングサービスを使ってWebhooksを処理することをおすすめします。 必須Webhooks (Mandatory Webhooks) とは? 必須Webhooksとは、Shopifyアプリを開発するときに必ず実装しなければならない3つのWebhooksのことです。この3つのWebhooksはGDPRに対応するために必要なWebhooksで、EU加盟国に関わらず、すべてのShopifyアプリはGDPRに準拠しなければなりません。必須Webhooksを実装していない場合、アプリレビューで却下されます。 (3つの必須Webhooks以外のWebhooksは任意で実装すればOKです。) また、必須Webhooksの3つはHTTPSのエンドポイントでのみ作成可能です。上述したEventBridgeやPub/Subを利用することはできません。 GDPRとは? GDPR(General Data Protection Regulation:一般データ保護規則)は、ヨーロッパ連合(EU)の個人情報保護法規で、2018年5月25日から施行されています。これは、EU全域での個人情報のプライバシーを保護し、データの取り扱い方に関して個々の人々により多くの制御権を付与するためのものです。 GDPRは、EU市民または居住者の個人データを処理する全ての組織に適用されます。これには、EU内外の組織も含まれ、EUの市民や居住者のデータを処理する場合、世界のどこにその組織があろうともGDPRの規定を守る必要があります。 GDPRの主な目的は、個人が自分の個人データをどのように収集、保存、使用されるのかを知り、そしてその制御をする権利を持つべきであるという考え方を強化し、統一化することです。これは、個人情報の透明性、アクセスの権利、修正の権利、忘れられる権利(データ削除の権利)、データ移行の権利など、いくつかの重要な権利を個々の人々に付与します。 参考: ChatGPT 必須Webhooksの対応例 上記で説明したように、必須WebhooksとはGDPRに準拠するためのWebhooksなので、顧客情報、ストア情報をデータベースなどに保存しているかどうかで対応方法が変わります。...

1 4

編集プロセス

EコマースやShopifyの初学者にとって、できるだけ “やさしく” “わかりやすく” “正確に” 難しいコマース用語やマーケティング用語、ストア構築から販売までの仕組み・ノウハウを伝えることを心がけて、記事コンテンツを作成しています。

掲載情報に関して

掲載している各種情報は、株式会社Tsunが経験および、調査した情報をもとにしています。できるだけ“最新“かつ“正確“な情報の掲載に努めておりますが、内容を完全に保証するものではありません。当サイトによって生じた損害について、株式会社Tsunではその賠償の責任を一切負わないものとします。掲載情報に誤りがある場合には、お手数ですが株式会社Tsunまでご連絡をいただけますようお願いいたします。