使用新客户帐户系统在 Shopify 中通过电子邮件自动创建并登录新客户

问题描述 投票:0回答:1

我目前正在开发 Shopify 主题和自定义 Shopify 应用程序(仅 API 应用程序),并且我有一个具体要求,但不确定如何实现。如果您有任何指导或见解,我将不胜感激。

目标

  • 我想在我的 Shopify 主题中添加一个电子邮件输入字段和一个提交按钮。
  • 单击提交按钮后,我想检查是否存在输入电子邮件的客户。
  • 如果客户不存在:
    • 使用提供的电子邮件创建新客户。
    • 自动让客户登录。

我的问题是:使用新的基于 OTP 的账户系统是否可以实现上述目标?

我知道使用 Shopify 的旧帐户系统可以(某种程度上)实现类似的目标。然而,随着新客户账户系统的推出,我不确定如何去做。

我还想强调,该解决方案可以涉及对任何 Shopify API 的调用,但前提是该调用是通过使用主题中嵌入的 javascript 击中 Shopify 上的端点来触发的。

如果有任何可以指导我的指针、代码示例或相关文档链接,我将不胜感激。

预先感谢您的时间和专业知识!

我尝试查看现有的客户帐户API,它相对较新,但它似乎面向无头商店,这不是我们的情况。

authentication email shopify shopify-app erlang-otp
1个回答
0
投票

好吧,不要浪费任何时间,我不确定您如何使用 Shopify 的代码系统来做到这一点。有一些服务可以为您的 Shopify 用户提供 OPT 系统,例如 [miniorange][1]

至于实际功能,我可以提供一些关于如何做前几件事的见解。

要检查客户是否存在,您可以使用以下命令:

fetch("/admin/api/2023-07/customers/search.json?query=email:<user_input_email>")
.then(response => response.json())
.then(data => {
   if(data.customers.length > 0) {
      // customer exists
   } else {
      // create a new customer
   }
});

如果客户不存在,您可以通过向

/admin/api/2023-07/customers.json
:

发送 POST 请求来创建一个客户
const newCustomerData = {
  customer: {
    first_name: "First_Name",
    last_name: "Last_Name",
    email: "<user_input_email>",
    verified_email: true,
    send_email_invite: false,
    send_email_welcome: false
  }
};

fetch("/admin/api/2023-07/customers.json", {
  method: "POST",
  body: JSON.stringify(newCustomerData)
})
.then(response => response.json())
.then(data => {
   // handle success
});

这可能是您主题的良好开端,希望这会有所帮助! [1]:https://plugins.miniorange.com/shopify-single-sign-on-sso-for-mobile-application

© www.soinside.com 2019 - 2024. All rights reserved.