【问题标题】:Shopify: How can I limit a product to 1 per customer?Shopify:如何将产品限制为每位客户 1 个?
【发布时间】:2015-08-27 03:28:46
【问题描述】:

寻找一种直接的方法来限制我的免费样品产品,以便每位注册客户能够在不使用任何促销/折扣代码的情况下购买 1 次。。 p>

我想也许可以为客户存储一个便笺并参考它,但我发现您不能那么容易地访问便笺。

编辑:似乎我可以通过 customer.orders 访问所有订单。是否可以遍历订单,然后是交易和产品,看看产品 id 是否与免费样品 id 匹配,如果是,阻止用户访问我的.liquid 模板文件中的免费样品产品?

【问题讨论】:

  • 您是否想过在客户已经订购了您的免费样品后给他贴上免费样品标签?如果您可以做到这一点,那么您可以在 product.liquid 上执行以下操作,除非 customer.tag == free-sample --> 将广告显示到购物车按钮,除非需要另一个,除非需要确保您仅将此逻辑应用于免费样品产品页面。
  • 如何标记客户结帐后?

标签: shopify


【解决方案1】:

您可以创建一个私有应用程序并使用网络挂钩调用它,而不是创建一个正式的应用程序。网络挂钩将检查您的样品产品订单,然后标记订单的客户。

就基础架构而言,您需要一个可以运行和安装安全应用程序的地方(我会使用 Node)。如果您还没有具有证书的主机,则有多种托管方式。 Amazon EC2 可免费使用一年。

【讨论】:

  • 听起来这是唯一理想的答案。只是一个问题:那么创建客户备注不可行吗?
  • 另外——私有应用真的需要托管在 SSL 上吗?
  • 可能不会。订单挂钩只能用于调用应用程序并仅限于非敏感信息。该应用程序将使用 https 来检索订单详细信息,因此任何敏感信息都不会通过网络传输出去。
  • 在我的 customers/account.liquid 中,我只需要一些代码用app.com/get-orders?customer_id=2939320&type=free-sample 调用我的应用程序,如果结果集为空,那么将其列出来?这部分不需要https'd或者是吗?
  • 我设置了一个网络钩子,它获取已支付订单的 JSON,并将其存储在数据库中,并标记是否有免费样品。你的意思是说,我可以即时确定它是否是免费样品,但调用如何用 API 标记客户?
【解决方案2】:

编写一个小应用程序,标记(免费样品)所有订购产品 x 的客户。然后在您的 product.liquid 上,您需要编写一些代码,例如:

如果产品句柄 == 免费产品(您确保客户在产品 x 页面内)

除非 customer.tag == 免费样品

显示添加到购物车按钮

无休止

结束

【讨论】:

  • 您对在结账过程中实际标记客户有任何具体细节吗?
  • 您预计有多少订单?根据这一点,您可以采用一种或另一种方法。
  • 这是一家小店,一年可能不到一千单
  • 如果这是每天 2/3,也许您想每周检查一次具有该产品的订单并在 Shopify 管理仪表板中标记客户?否则,您可以想出一个小脚本来下订单,而无需强制用户通过结帐并直接点击 API,创建订单并标记客户?你能把我的回答标记为有效吗?
  • 我只是对标记客户的过程感到困惑 - 所以这不可能通过正常结帐?我必须直接打API?无法通过便笺将其绑定到结帐 - 为客户留下便笺并检索便笺怎么样?
猜你喜欢
  • 1970-01-01
  • 2016-06-02
  • 2017-11-03
  • 2014-05-03
  • 2021-11-29
  • 1970-01-01
  • 2015-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多