FROM CACHE - jp_header

LPで入力した名前などを引き継ぐ方法

解決済
近藤さん
新規メンバー
2 0 0

こんにちは。

ランディングページで配送先の情報(名前など)を入力して、設置した購入ボタンをクリックした時に入力された情報をshopifyの配送先住所などに引継を行いたいのですが、可能でしょうか

はじめたばかりで何もわからなくて困っています。

 

宜しくお願い致します。

1 件の受理された解決策

ベストソリューション
Qcoltd
Shopify Partner
130 52 50

成功

Shopifyにおいて、

ページ間のデータの受け渡し方法として私が思いつくのは下記です。

 

- GETクエリを使用して、Liquidで処理する

- Cookieを利用してJavaScriptで処理する

 

しかし、

配送先住所は個人情報にあたると思いますので、

そのどちらも行わない方が良いでしょう。

 

そうしますと、

Shopifyのカート以外のページで入力したデータをチェックアウトまで引き継ぐことはできない、と考えていただいた方が良いかと思います。

 

カートでは、Cart attributesを使用して、注文情報に特別なメモを付与することができます。

しかし、Cart attributesを使用しても、配送先住所をチェックアウト(購入画面)に渡すことはできないと思われます。

(Cart attributesの仕様自体には明るくないので言い切れませんが。)

 

ランディングページがShopifyの外部にあるようでしたら、

「購入ボタン」を利用されるのが良いかもしれません。

https://help.shopify.com/ja/manual/online-sales-channels/buy-button/create-buy-button

 

ランディングページがShopifyのストア内部にある場合は、

下記のページを確認すると、

https://help.shopify.com/ja/manual/online-sales-channels/buy-button/faq

直接チェックアウト(購入画面)にリンクさせるのはShopify的に非推奨だそうですので、

代わりに、

カートを事前読み込みするためにパーマリンクの使用

というのをおすすめしているようです。

 

ご希望通りの回答ではないですが、ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
https://techlab.q-co.jp/

元の投稿で解決策を見る

4件の返信4
Qcoltd
Shopify Partner
130 52 50

成功

Shopifyにおいて、

ページ間のデータの受け渡し方法として私が思いつくのは下記です。

 

- GETクエリを使用して、Liquidで処理する

- Cookieを利用してJavaScriptで処理する

 

しかし、

配送先住所は個人情報にあたると思いますので、

そのどちらも行わない方が良いでしょう。

 

そうしますと、

Shopifyのカート以外のページで入力したデータをチェックアウトまで引き継ぐことはできない、と考えていただいた方が良いかと思います。

 

カートでは、Cart attributesを使用して、注文情報に特別なメモを付与することができます。

しかし、Cart attributesを使用しても、配送先住所をチェックアウト(購入画面)に渡すことはできないと思われます。

(Cart attributesの仕様自体には明るくないので言い切れませんが。)

 

ランディングページがShopifyの外部にあるようでしたら、

「購入ボタン」を利用されるのが良いかもしれません。

https://help.shopify.com/ja/manual/online-sales-channels/buy-button/create-buy-button

 

ランディングページがShopifyのストア内部にある場合は、

下記のページを確認すると、

https://help.shopify.com/ja/manual/online-sales-channels/buy-button/faq

直接チェックアウト(購入画面)にリンクさせるのはShopify的に非推奨だそうですので、

代わりに、

カートを事前読み込みするためにパーマリンクの使用

というのをおすすめしているようです。

 

ご希望通りの回答ではないですが、ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
https://techlab.q-co.jp/
近藤さん
新規メンバー
2 0 0

回答ありがとうございます。

LPページは外部にあり、「購入ボタン」の設置を考えておりました。

その時にLPページ上で住所などを入力させる予定だったため、チェックアウト先で再度入力するのはユーザーにやさしくないためどうにかならないかと質問させていただきました。

確かに、個人情報になる内容を安易にやり取りをするべきではないと思います。

 

Qcoltd
Shopify Partner
130 52 50

そうですね。

 

外部サイトから安全に個人情報をShopifyに渡すとなると、

POSTが扱えれば、まだやりようがあるかもしれませんが、

私が把握している限りでは、

LiquidテンプレートではPOSTは扱えないので、

(GETは扱えないこともないですが、GETはセキュリティ的に問題があるのと、Shopifyが許可したGETクエリ以外はサーバキャッシュに無視される可能性もあり確実性も低いので)

お考えになっている方法をストレートに実現するのは難しそうです。

 

お力になれず恐縮です。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
https://techlab.q-co.jp/
Qcoltd
Shopify Partner
130 52 50

質問者様が実現されたいこと通りではないのですが、

ふと思いついたやり方があったため、

ご参考までにお知らせいたします。

 

ShopifyのAdmin APIを使用します。

手順は下記です。

 

  1. APIサーバを準備します。
  2. LPで取得したお客様情報をJavaScriptでAPIサーバにPOSTします。
  3. APIサーバでShopify Admin APIを使用して、お客様情報を元に、下書き注文(Draft Order)を作ります。https://shopify.dev/api/admin-graphql/2022-01/mutations/draftOrderCreate
  4. 作成した下書き注文の請求書メールをお客様に発行します。これもShopify Admin APIで可能です。https://shopify.dev/api/admin-graphql/2022-01/mutations/draftOrderCreate
  5. APIサーバは、処理が完了したという情報をLPに戻します。
  6. LP側では、請求書メールが届いているはずだから、そこからチェックアウトに進むように促す文面を表示します。
  7. お客様はメールに記載されたリンクを踏むことで、Shopifyのチェックアウトページに案内されます。

 

私が手元でAPIコールをして試した限りでは、ほぼうまく行きました。

しかし、下書き注文の際の住所情報がチェックアウト画面に反映されなかったため、この点だけ実現可能かを調べきれませんでしたが、何かしら方法はあるものと考えています。

 

ご参考までに。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
https://techlab.q-co.jp/