【问题标题】:Shopify - Receive emails through a contact page via the APIShopify - 通过 API 通过联系页面接收电子邮件
【发布时间】:2021-03-01 18:11:50
【问题描述】:

这里没有代码, 我只是在尝试找出如何使我的 contact us 页面在我的 shopify 应用中正常工作时遇到问题。

此链接https://help.shopify.com/en/manual/online-store/os/using-themes/change-the-layout/add-contact-form 解释了如何在shopify 中创建联系页面。但是我正在使用nextjs 创建一个shopify 应用程序,并且我有自己的contact us 页面。问题是我在文档中找不到如何将该页面与 shopify API 集成,以便商家通过它接收来自客户的电子邮件。

【问题讨论】:

    标签: reactjs next.js shopify shopify-app shopify-api-node


    【解决方案1】:

    docs中有一个表单输出的例子:

    <form accept-charset="UTF-8" action="/contact" class="contact-form" method="post">
      <input name="form_type" type="hidden" value="contact" />
      <input name="utf8" type="hidden" value="✓" />
      ...
    </form>
    

    请注意此处的发布操作 - 您应该能够发布到 /contact 以发布联系表单数据。

    【讨论】:

    • 我正在尝试,它不起作用。实际上,它从客户的观点 POV 工作,因为它将我转发到 reCaptcha 并将客户重定向回来。但是从商家的 POV 中没有收到任何电子邮件。而不是通过商店中的api创建的联系页面可以正常工作并发送电子邮件。
    • 请注意,我将表单编辑为action="https://mystorename.myshopify.com/contact",如果您从应用程序的网址写入action="/contact",则找不到该页面,您甚至不会被转发到reCaptcha。
    • 啊,如果请求来自不同的 URL,您可能会遇到 Shopify 可能存在的一些 CORS 错误。我假设 Next.js 应用程序正在主题内运行。当您尝试发布到https://mystorename.myshopify.com/contact URL 时,您是否看到任何 CORS 错误(在控制台中)?
    • 不,我没有看到任何错误,它实际上在客户端工作得很好。问题是它不会将此消息发送给商家。我假设需要设置一种“权限”,以便店面将此表单识别为允许将消息传递给/contact 的合法表单!
    【解决方案2】:

    您不能将 Shopify 页面资源上的表单发布到您自己的自定义应用程序。那是不允许的。你确实有两个选择。您可以在页面中注入脚本标签,该标签将运行一些可以联系您的应用程序的 Javascript,或者您的应用程序可以设置应用程序代理,然后您可以通过这种方式将表单上的表单回调到您的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 2020-12-20
      相关资源
      最近更新 更多