ShopifyのMetafieldsをGraphQL APIで一括更新する Tsun Inc.

ShopifyのMetafieldsをGraphQL APIで一括更新する

「RuffRuff 予約販売」は在庫切れや新商品販売前、入荷待ちなどタイミングで発生する機会損失の削減をサポートします。
ノーコードかつ3ステップで簡単にセットアップでき、日本語に対応しています。
無制限で予約商品を登録および無制限で予約注文を受け付けることが可能です。

引用元: RuffRuff 予約販売


無料でインストール

Tsun Inc.でCTOをしている小笠原です!
このブログではShopify開発に役立つ情報を共有していきます。
Shopifyエンジニアの方の参考になれば嬉しいです!

今回のテーマは「ShopifyのMetafieldsをGraphQL APIを使って一括更新する」です。

メタフィールド(Metafields)とは
メタフィールド(Metafields)とは、Shopifyのデフォルトで設定できる情報とは別に情報を付加したい場合に、付加したい情報の定義設定及び追加できる仕組みのことです。

引用元:https://tsun.ec/blogs/articles/43

下記の記事では、メタフィールドやメタフィールドの一括編集におすすめのShopifyアプリも紹介していますので参考にしてください。

Shopifyのメタフィールドとは?おすすめのShopifyアプリも紹介

動機

Metafieldsの追加は専用のShopifyアプリを使って行っていましたが、一括更新は有料プランが必要なため、今回はGraphQL APIを使ってやってみようかなーと思いました。

また、GraphQL APIを使った一括更新(bulk update)は以前やったことがあったため、同じ要領でMetafieldsも更新できるなというのがある程度わかっていました。

前提条件

対象読者

  • ShopifyのGraphQL APIを使ってデータ取得や更新をしたことがある
  • ShopifyのMetafieldsを使ったことがある

環境

  • Shopify GraphQL APIのVersion 2022-07 を使って動作確認しています

準備するもの

  • 更新するストアのアクセストークン
  • Postmanなどのツールが便利です

やりかた

今回はサンプルとしてProductVariantのMetafieldsを一括更新してみます。

ProductVariantには小売価格を表すretail_priceというMetafieldが1つ設定されています。

GraphQL APIを使った一括更新 (bulk update) のやり方は 公式リファレンス にある通りにやればOKです。

大まかなステップとしては下記の4ステップあります。

  1. JSONLファイルを用意する (ローカルで作成)
  2. 上記のJSONLファイルをアップロードする (stagedUploadsCreate を実行)
  3. アップロードしたファイルを元に一括更新する (bulkOperationRunMutation を実行)
  4. 一括更新が完了するのを待つ

JSONLファイルを用意する

まずは更新のためのJSONLファイルを用意します。(JSONではなくJSONLなので注意してください)

このJSONLファイルは更新する対象を特定するためのidと更新する値さえ入っていればOKです。

今回は下記のようなJSONLファイル(bulk-update-metafields.jsonl)を作成しました。

{ "input": { "id": "gid:\/\/shopify\/ProductVariant\/1", "metafields": { "namespace": "global", "key": "retail_price", "type": "number_integer", "value": "1805" } } }
{ "input": { "id": "gid:\/\/shopify\/ProductVariant\/2", "metafields": { "namespace": "global", "key": "retail_price", "type": "number_integer", "value": "6397" } } }
{ "input": { "id": "gid:\/\/shopify\/ProductVariant\/3", "metafields": { "namespace": "global", "key": "retail_price", "type": "number_integer", "value": "5115" } } }
{ "input": { "id": "gid:\/\/shopify\/ProductVariant\/4", "metafields": { "namespace": "global", "key": "retail_price", "type": "number_integer", "value": "7896" } } }
{ "input": { "id": "gid:\/\/shopify\/ProductVariant\/5", "metafields": { "namespace": "global", "key": "retail_price", "type": "number_integer", "value": "1443" } } }

JSONLファイルをアップロードする

更新するストアに対して下記のmutationクエリを実行します。

mutation {
  stagedUploadsCreate(input:{
    resource: BULK_MUTATION_VARIABLES,
    filename: "bulk-update-metafields",
    mimeType: "text/jsonl",
    httpMethod: POST
  }){
    userErrors{
      field,
      message
    },
    stagedTargets{
      url,
      resourceUrl,
      parameters {
        name,
        value
      }
    }
  }
}

クエリが成功すると、アップロードに必要なkeyなどの情報が返ってくるのですべてメモします。

上記でメモした情報とJSONLファイルを指定してShopifyのサーバーにPOSTすることでファイルのアップロードが完了します。(この時点ではShopifyのサーバーにファイルをアップロードされただけで更新はされない)

アップロードしたファイルを元に一括更新する

Shopifyのサーバーにアップロードしたファイルを元にクエリを投げることでShopifyに一括更新してね!と伝えます。

具体的には下記のようなクエリを実行します。

mutation bulkOperationRunMutation($mutation: String!, $stagedUploadPath: String!) {
  bulkOperationRunMutation(mutation: $mutation, stagedUploadPath: $stagedUploadPath) {
    bulkOperation {
      id
      url
      status
    }
    userErrors {
      field
      message
    }
  }
}
{
  "mutation": "mutation call($input: ProductVariantInput!) { productVariantUpdate(input: $input) { productVariant { metafields(first: 10) { edges { node { namespace key type value } } } } userErrors {  message field } } }",
  "stagedUploadPath": "tmp/55523704929/bulk/d1cbc8f2-a3a7-4808-a148-f9024cfb1126/bulk-update-metafields"
}

一括更新が完了するのを待つ

更新件数によっては更新完了まで結構時間がかかるので気長に待ちます。(Webhookを設定しておけば、完了したタイミングでWebhookを受け取ることも可能)

今回は下記のクエリを投げて完了したかどうかを確認します。

query {
 currentBulkOperation(type: MUTATION) {
    id
    status
    errorCode
    createdAt
    completedAt
    objectCount
    fileSize
    url
    partialDataUrl
 }
}

statusがCOMPLETEDになったら更新完了です。

対象のProductVariantを取得してみて、更新が確認できたらOKです。

まとめ

今回はShopifyのProductVariantに設定されたMetafieldsをGraphQL APIで一括更新してみました。

もちろんMetafieldsの一括更新に対応したアプリを使えばクエリを投げたりする手間なくできると思います。

ただ、一括更新するアプリも内部的には今回紹介したbulk updateの仕組みを使って一括更新していますので、仕組みを知っておくと役に立つかなーと思います。


Tsun Inc.ではShopifyのMetafieldsもバリバリ使って快適なストア構築を行っています。

もし、ストア構築をしたい方は、Tsun Inc.へお問い合わせください。

ブログに戻る
  • RuffRuff 予約販売

    💎 Built for Shopify

    Shopifyストアに予約販売機能を簡単に導入できるShopifyアプリ

    詳しくみる 
  • RuffRuff 注文制限

    Shopifyストアで販売個数制限を簡単に実施できるShopifyアプリ

    詳しくみる 
  • RuffRuff 販売期間

    Shopifyストアで発売予告や期間限定販売を簡単に実施できるShopifyアプリ

    詳しくみる 
  • RuffRuff 目次作成|Shopifyアプリ

    RuffRuff 目次作成

    💎 Built for Shopify

    Shopifyのコンテンツに自動で目次を表示するShopifyアプリ

    詳しくみる 
  • RuffRuff タグ一覧|Shopifyアプリ

    RuffRuff タグ一覧

    💎 Built for Shopify

    Shopifyストアにタグ一覧を自動で表示するShopifyアプリ

    詳しくみる 
  • RuffRuff 著者情報|Shopifyアプリ

    RuffRuff 著者情報

    Shopifyストアに著者プロフィールを簡単に表示できるShopifyアプリ

    詳しくみる 
1 6
  • Shopifyで顧客タグを活用しよう!顧客タグの設定方法や活用方法をご紹介

    Shopifyで顧客タグを活用しよう!顧客タグの設定方法や活用方法をご紹介

    Tsunライターチーム

    Shopifyで運営するECサイトにおいて、顧客タグは非常に便利な機能の1つです。顧客タグを活用することで、顧客を特定のグループに分類し、そのグループに対して特別な販売施策を実施することができます。 本記事では顧客タグの設定方法や活用方法、おすすめのShopifyアプリを紹介してます。 これからShopifyで顧客タグを活用しようと考えている方はもちろん、すでに顧客タグを使っているけれど活用方法に悩んでいる方にも、ぜひ参考にしていただければと思います。 顧客タグではなく、商品やブログ記事のタグ活用については下記のブログ記事をご参考にしてください。 Shopifyのタグを活用するメリット|タグ一覧を表示する方法 Shopifyの顧客タグとは? 顧客タグは、Shopifyストアの顧客管理機能の一部で、Shopifyオーナーが顧客を特定のグループやカテゴリに分類するために使用するラベルです。顧客タグを使用することで、顧客を簡単に整理し、特定のニーズに合わせたマーケティングやプロモーションを行うことができます。 Shopifyヘルプセンター内には「お客様タグ」と表現している箇所もありますが、「顧客タグ」と同義となります。 顧客タグを活用するメリット セグメントできる 顧客を特定のグループに分けることで、マーケティングキャンペーンやプロモーションをターゲットしやすくなります。例えば、「VIP顧客」や「新規顧客」などのタグを使って、それぞれに適したメールマーケティングを行うことができます。 パーソナライズに活用できる 顧客の購買行動や好みに基づいてタグを設定することで、顧客が興味ありそうな商品のレコメンドなどよりパーソナライズされたショッピング体験を提供できます。例えば、特定の製品カテゴリに興味がある顧客に「興味:ファッション」といったタグを付けることができます。 自動化や効率化ができる 顧客タグを利用して、特定のタグが付いた顧客に自動的に割引や特典を適用することができます。また、特定のタグが付いた顧客だけに会員限定販売を実施することも出来ます。これにより、顧客満足度を高めながら効率的に運営を行うことが可能です。 分析に活かせる 顧客タグ別にデータを分析することで、どのセグメントが最も売上に貢献しているかや、どのマーケティング戦略が効果的であるかを理解するのに役立ちます。 顧客タグの活用例 セグメントする Shopify純正のセグメント機能を利用することで、特定の顧客タグがついた会員のみを抽出することが出来ます。 メルマガ配信する 前述のセグメント機能とShopifyメールを組み合わせることで、特定の顧客タグがついた会員に対して、メルマガを配信することが出来ます。 会員ランクを付与する Shopifyのセグメント機能や会員ランクアプリを利用することで、特定条件を満たした会員に対して「シルバー」や「ゴールド」などの顧客タグを設定することが出来ます。 下記のブログ記事では会員ランク制度の導入メリットや顧客に会員ランクを設定する方法、おすすめのShopifyアプリを紹介しています。ご参考にしてください。 Shopifyの会員ランクアプリ4選|会員ランク制度のメリット・デメリット VIP会員限定に商品を販売する 顧客タグとShopifyアプリ「RuffRuff 予約販売」を活用することで、VIP会員(VIPタグの付いた会員の場合)だけに商品を販売することが出来ます。 詳しい設定方法は下記のブログ記事もご参考にしてください。...

    Shopifyで顧客タグを活用しよう!顧客タグの設定方法や活用方法をご紹介

    Tsunライターチーム

    Shopifyで運営するECサイトにおいて、顧客タグは非常に便利な機能の1つです。顧客タグを活用することで、顧客を特定のグループに分類し、そのグループに対して特別な販売施策を実施することができます。 本記事では顧客タグの設定方法や活用方法、おすすめのShopifyアプリを紹介してます。 これからShopifyで顧客タグを活用しようと考えている方はもちろん、すでに顧客タグを使っているけれど活用方法に悩んでいる方にも、ぜひ参考にしていただければと思います。 顧客タグではなく、商品やブログ記事のタグ活用については下記のブログ記事をご参考にしてください。 Shopifyのタグを活用するメリット|タグ一覧を表示する方法 Shopifyの顧客タグとは? 顧客タグは、Shopifyストアの顧客管理機能の一部で、Shopifyオーナーが顧客を特定のグループやカテゴリに分類するために使用するラベルです。顧客タグを使用することで、顧客を簡単に整理し、特定のニーズに合わせたマーケティングやプロモーションを行うことができます。 Shopifyヘルプセンター内には「お客様タグ」と表現している箇所もありますが、「顧客タグ」と同義となります。 顧客タグを活用するメリット セグメントできる 顧客を特定のグループに分けることで、マーケティングキャンペーンやプロモーションをターゲットしやすくなります。例えば、「VIP顧客」や「新規顧客」などのタグを使って、それぞれに適したメールマーケティングを行うことができます。 パーソナライズに活用できる 顧客の購買行動や好みに基づいてタグを設定することで、顧客が興味ありそうな商品のレコメンドなどよりパーソナライズされたショッピング体験を提供できます。例えば、特定の製品カテゴリに興味がある顧客に「興味:ファッション」といったタグを付けることができます。 自動化や効率化ができる 顧客タグを利用して、特定のタグが付いた顧客に自動的に割引や特典を適用することができます。また、特定のタグが付いた顧客だけに会員限定販売を実施することも出来ます。これにより、顧客満足度を高めながら効率的に運営を行うことが可能です。 分析に活かせる 顧客タグ別にデータを分析することで、どのセグメントが最も売上に貢献しているかや、どのマーケティング戦略が効果的であるかを理解するのに役立ちます。 顧客タグの活用例 セグメントする Shopify純正のセグメント機能を利用することで、特定の顧客タグがついた会員のみを抽出することが出来ます。 メルマガ配信する 前述のセグメント機能とShopifyメールを組み合わせることで、特定の顧客タグがついた会員に対して、メルマガを配信することが出来ます。 会員ランクを付与する Shopifyのセグメント機能や会員ランクアプリを利用することで、特定条件を満たした会員に対して「シルバー」や「ゴールド」などの顧客タグを設定することが出来ます。 下記のブログ記事では会員ランク制度の導入メリットや顧客に会員ランクを設定する方法、おすすめのShopifyアプリを紹介しています。ご参考にしてください。 Shopifyの会員ランクアプリ4選|会員ランク制度のメリット・デメリット VIP会員限定に商品を販売する 顧客タグとShopifyアプリ「RuffRuff 予約販売」を活用することで、VIP会員(VIPタグの付いた会員の場合)だけに商品を販売することが出来ます。 詳しい設定方法は下記のブログ記事もご参考にしてください。...

  • Shoopifyで決済方法をカスタマイズできるアプリ 4選|支払い方法を非表示・並べ替え・名前変更できるShopifyアプリを紹介

    Shoopifyで決済方法をカスタマイズできるアプリ 4選|支払い方法を非表示・並べ替え・名前...

    Tsunライターチーム

    みなさんはご自身のShopifyストアで「高額商品の場合は代引き決済を非表示にしたい」など特定条件下で決済方法を非表示にしたいと思ったことはありませんか?また、「特定の決済方法の利用率を上げるために表示順を変更したい」など思ったことはありませんか? 本ブログ記事では、特定条件下でチェックアウトページの決済方法を非表示にしたり、並べ替えたり、名前を変更したりできるShopifyアプリを紹介したいと思います。 下記のブログ記事ではShopifyで利用できる決済方法の特徴や手数料をまとめています。ご参考にしてください。 【まとめ】Shopifyで利用できる決済方法まとめ|特徴や各種費用も紹介 決済方法をカスタマイズできるShopifyアプリ BeSure Checkout Rules 出典:BeSure Checkout Rules|Shopifyアプリストア BeSure Checkout Rulesは、Shopifyのチェックアウトページにおける配送方法や支払い方法の表示をカスタマイズできるアプリです。カート合計金額、重量、住所、カート内の商品、タグなどの様々な条件を組み合わせて、配送方法や支払い方法の並び替え、名前変更、非表示化ができます。最高品質アプリの証である「Built for Shopify」も獲得しています。 BeSure Checkout Rulesの料金プラン プラン名 月額料金 年額料金 機能 無料プラン 無料 - 支払い方法名変更ルールを1つ無料で利用可能 テストステータスでのルールの無料テスト Shopify開発ストアでの無料テスト スターター...

    Shoopifyで決済方法をカスタマイズできるアプリ 4選|支払い方法を非表示・並べ替え・名前...

    Tsunライターチーム

    みなさんはご自身のShopifyストアで「高額商品の場合は代引き決済を非表示にしたい」など特定条件下で決済方法を非表示にしたいと思ったことはありませんか?また、「特定の決済方法の利用率を上げるために表示順を変更したい」など思ったことはありませんか? 本ブログ記事では、特定条件下でチェックアウトページの決済方法を非表示にしたり、並べ替えたり、名前を変更したりできるShopifyアプリを紹介したいと思います。 下記のブログ記事ではShopifyで利用できる決済方法の特徴や手数料をまとめています。ご参考にしてください。 【まとめ】Shopifyで利用できる決済方法まとめ|特徴や各種費用も紹介 決済方法をカスタマイズできるShopifyアプリ BeSure Checkout Rules 出典:BeSure Checkout Rules|Shopifyアプリストア BeSure Checkout Rulesは、Shopifyのチェックアウトページにおける配送方法や支払い方法の表示をカスタマイズできるアプリです。カート合計金額、重量、住所、カート内の商品、タグなどの様々な条件を組み合わせて、配送方法や支払い方法の並び替え、名前変更、非表示化ができます。最高品質アプリの証である「Built for Shopify」も獲得しています。 BeSure Checkout Rulesの料金プラン プラン名 月額料金 年額料金 機能 無料プラン 無料 - 支払い方法名変更ルールを1つ無料で利用可能 テストステータスでのルールの無料テスト Shopify開発ストアでの無料テスト スターター...

  • SEOのメリット・デメリット|Shopifyで出来るSEO対策やアプリも紹介 Tsun Inc.

    Shopifyで出来るSEO対策|SEOの基本やメリット、おすすめSEO対策アプリも紹介

    Tsunライターチーム

    ShopifyストアのSEOを強化し、検索ランキングを上げるための基本戦略、メリットとデメリット、おすすめアプリまで詳しく解説。あなたのビジネスを次のレベルへと導きます。

    Shopifyで出来るSEO対策|SEOの基本やメリット、おすすめSEO対策アプリも紹介

    Tsunライターチーム

    ShopifyストアのSEOを強化し、検索ランキングを上げるための基本戦略、メリットとデメリット、おすすめアプリまで詳しく解説。あなたのビジネスを次のレベルへと導きます。

  • Shopifyで代引き決済を導入するメリット・デメリット|設定方法や手数料もご紹介

    Shopifyで代引き決済を導入するメリット・デメリット|設定方法や手数料もご紹介

    Tsunライターチーム

    みなさんはご自身のShopifyストアで代引き決済を導入していますか? 本記事では代引き決済のメリットやデメリット、設定方法などをご紹介します。 代引き決済とは? 代引き決済とは「代金引換決済」の略で、商品の配達時に配達員に代金を支払う決済方法です。代引き決済はクレジットカードを所有していないユーザーでも商品を購入できるメリットがある一方で、代引き手数料が発生するデメリットもあります。 代引き決済のメリット 安心して購入できる 商品を受け取ってから代金を支払うため、お客様にとっては詐欺や商品未着のリスクを回避できます。 カゴ落ち防止に繋がる 出典:Baymard Institute カゴ落ちの原因の上位に「クレジットカード情報を入力したくない」や「希望する決済種別がない」という理由があります。クレジットカードを保有していない方や、好まない方のカゴ落ちを防ぐためにも、代引き決済はある程度効果があるといえるでしょう。 出典:インターネットの利用状況|総務省 令和3年版の総務省の調査結果では、「インターネットで購入する際の決済方法」として、代引き決済はクレジットカード決済やコンビニ決済に次いで3番目に利用されている決済方法です。決済方法を増やしたいと考えている方は、代引き決済を検討してみてはいかがでしょうか。 2番目に多く利用されているコンビニ決済に関しては下記のブログ記事もご参考にしてください。 Shopifyストアにコンビニ決済を導入するメリットや導入方法 下記のブログ記事では「決済方法の拡充」以外にもShopifyで出来るカゴ落ち対策を紹介しています。ご参考になさってください。 Shopifyで出来るカゴ落ち対策|原因やShopifyアプリも紹介 クレジットカードを保有できない若年層の獲得 ECサイトでの主要な支払い方法の1つにクレジットカード決済がありますが、多くのクレジットカード会社はカード発行対象年齢を18才〜20才以上と設定しています。そのため、クレジットカード支払いのみのストアでは未成年者が購入する事ができないケースが殆どですが、代引き決済を導入する事でこの問題は解消されます。 クレジットカードの使用を好まない層の獲得 成人済の方でもクレジットカード決済に抵抗感を持っている方は多く存在します。クレジットカード決済を避けたい方でもストアで購入ができるように、代引き決済を導入しておくことは双方にメリットが生まれます。 取引手数料が発生しない 出典:Shopifyペイメント|Shopifyヘルプセンター Shopifyペイメント以外の決済方法を利用する場合、Shopifyで契約しているプランに応じて取引手数料が発生します。しかし、代引き決済に関しては取引手数料が発生しません。 Shopifyペイメントに関しては下記のブログ記事もご参考にしてください。 Shopifyペイメント徹底解説 - 決済手数料・メリット・デメリットまで 代引き決済のデメリット 代引き手数料が発生する...

    Shopifyで代引き決済を導入するメリット・デメリット|設定方法や手数料もご紹介

    Tsunライターチーム

    みなさんはご自身のShopifyストアで代引き決済を導入していますか? 本記事では代引き決済のメリットやデメリット、設定方法などをご紹介します。 代引き決済とは? 代引き決済とは「代金引換決済」の略で、商品の配達時に配達員に代金を支払う決済方法です。代引き決済はクレジットカードを所有していないユーザーでも商品を購入できるメリットがある一方で、代引き手数料が発生するデメリットもあります。 代引き決済のメリット 安心して購入できる 商品を受け取ってから代金を支払うため、お客様にとっては詐欺や商品未着のリスクを回避できます。 カゴ落ち防止に繋がる 出典:Baymard Institute カゴ落ちの原因の上位に「クレジットカード情報を入力したくない」や「希望する決済種別がない」という理由があります。クレジットカードを保有していない方や、好まない方のカゴ落ちを防ぐためにも、代引き決済はある程度効果があるといえるでしょう。 出典:インターネットの利用状況|総務省 令和3年版の総務省の調査結果では、「インターネットで購入する際の決済方法」として、代引き決済はクレジットカード決済やコンビニ決済に次いで3番目に利用されている決済方法です。決済方法を増やしたいと考えている方は、代引き決済を検討してみてはいかがでしょうか。 2番目に多く利用されているコンビニ決済に関しては下記のブログ記事もご参考にしてください。 Shopifyストアにコンビニ決済を導入するメリットや導入方法 下記のブログ記事では「決済方法の拡充」以外にもShopifyで出来るカゴ落ち対策を紹介しています。ご参考になさってください。 Shopifyで出来るカゴ落ち対策|原因やShopifyアプリも紹介 クレジットカードを保有できない若年層の獲得 ECサイトでの主要な支払い方法の1つにクレジットカード決済がありますが、多くのクレジットカード会社はカード発行対象年齢を18才〜20才以上と設定しています。そのため、クレジットカード支払いのみのストアでは未成年者が購入する事ができないケースが殆どですが、代引き決済を導入する事でこの問題は解消されます。 クレジットカードの使用を好まない層の獲得 成人済の方でもクレジットカード決済に抵抗感を持っている方は多く存在します。クレジットカード決済を避けたい方でもストアで購入ができるように、代引き決済を導入しておくことは双方にメリットが生まれます。 取引手数料が発生しない 出典:Shopifyペイメント|Shopifyヘルプセンター Shopifyペイメント以外の決済方法を利用する場合、Shopifyで契約しているプランに応じて取引手数料が発生します。しかし、代引き決済に関しては取引手数料が発生しません。 Shopifyペイメントに関しては下記のブログ記事もご参考にしてください。 Shopifyペイメント徹底解説 - 決済手数料・メリット・デメリットまで 代引き決済のデメリット 代引き手数料が発生する...

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までご連絡をいただけますようお願いいたします。